Centro
Un recurso de encuesta contiene información sobre una solicitud específica de datos. Una vez que se crea una encuesta, se activará la creación de una o más tareas para completar la solicitud.
Atributos
nombre | escribe | descripción |
---|---|---|
id | ID de encuesta | Identificador de recursos. |
resource | cadena, siempre poll | Especificador de tipo de recurso. |
organisation | identificación de la organización | La organización asociada a este recurso. |
key | ID de clave | La clave asociada a este recurso. |
user | ID de usuario | El usuario asociado a este recurso. |
source | ID de fuente | La fuente a la que se dirige la encuesta. Esta puede ser una fuente secundaria de la fuente de la sesión. |
session | ID de sesión | La sesión que utiliza la encuesta. |
subscription | ID de suscripción opcional | El ID del objeto de suscripción asociado, si corresponde. |
tasks_pending | lista de ID de tareas | Las tareas asociadas con la encuesta que están pendientes de procesamiento. |
tasks_processing | lista de ID de tareas | Las tareas asociadas con la encuesta que se están procesando. |
tasks_succeeded | lista de ID de tareas | Las tareas asociadas a la encuesta que han tenido éxito. |
tasks_failed | lista de ID de tareas | Las tareas asociadas con la encuesta que han fallado. |
tasks_suspended | lista de ID de tareas | Las tareas asociadas a la encuesta que están suspendidas. |
results | objeto de lista que contiene objetos de resultado | Lista de objetos de resultado generados por las tareas de la encuesta. |
errors | enumerar objetos que contienen objetos de error | Lista de objetos de error generados por las tareas de la encuesta. |
state | cadena | Uno de: pending , processing , completed . |
date_created | fecha y hora | Cuando se creó el recurso. |
date_started | fecha y hora opcional | Cuando comenzó el procesamiento de la encuesta. |
date_completed | fecha y hora opcional | Cuando finalizó el procesamiento de la encuesta. |
Tareas
El papel más importante del recurso de la encuesta es reflejar el progreso de sus tareas asociadas y permitir que el usuario final comience a obtener resultados de estas tan pronto como estén disponibles. Por lo tanto, el recurso de sondeo expone atributos relacionados con la tarea en los que las tareas asociadas se clasifican por su estado.
Resultados
Los resultados publicados por las tareas que se ejecutan dentro de la encuesta aparecen en el atributo de results
la encuesta. Esto permite el consumo de resultados antes de que se complete la encuesta.
Los errores
Cualquier error generado por las tareas que se ejecutan dentro de la encuesta aparecerá en el atributo de errors
la encuesta.
Estados
El estado de un sondeo refleja solo si el sondeo está en espera de inicialización ( pending
), está en progreso ( processing
) o si todas las tareas han finalizado su ejecución ( completed
).
Una encuesta no refleja ningún estado de error que no sea a través de sus tareas asociadas.
Carga útil
La carga útil de la encuesta indica qué tipos de información, tipos de datos y archivos debería funcionar para recuperar. El esquema del atributo de carga útil de la encuesta se describe a continuación.
nombre | escribe | descripción |
---|---|---|
info_types | lista de objetos info_type | Especifica qué tipos de información se deben recuperar. Admite comodines * . |
data_types | lista de objetos data_type | Especifica qué tipos de datos se deben recuperar. |
files | lista de ID file . | Especifica qué archivos recuperar. |
filters | objeto filters anidados | Especifica qué filtros aplicar a los datos recuperados. |
skip_files |
boolean | If set to true the poll will skip looking up and publishing attachments files, which includes any assets from photos or video feeds. |
Por ejemplo, la carga útil de la encuesta para recuperar todo tipo de información en una fuente de cuenta de iCloud sería:
{ "info_types": ["*"] }
Para recuperar una variedad de datos de mensajería de una fuente de copia de seguridad de iCloud o Reincubate Relay, pero solo desde una fecha determinada:
{ "data_types": ["ios_messages.messages", "whatsapp.messages", "viber.messages"], "filters": { "since": "2019-09-15T22:04:12Z", "until": "2021-06-02T12:00:00Z" } }
Para recuperar datos de archivo para imágenes a las que se hace referencia en un resultado de iCloud Photo Library:
{ "files": ["icpl://xyz123", "icpl://abc321"] }
Los diferentes atributos también se pueden usar simultáneamente:
{ "info_types": ["*"], "data_types": ["ios_phone.calls"] }
Filtros
Los filtros permiten al cliente reducir la cantidad de datos devueltos a aquellos que probablemente sean de su interés. Por ejemplo, puede filtrar una encuesta de datos de SMS solo para el último mes de datos.
nombre | tipo | descripción |
---|---|---|
since | fecha y hora opcional | Filtre solo los datos que se crearon después de esta fecha y hora. |
until | fecha y hora opcional | Filtre solo los datos que se crearon antes de esta fecha y hora. |
phone_numbers | matriz opcional | Filtre solo los datos relacionados con los números de teléfono de esta lista. |
email_addresses | matriz opcional | Filtre solo los datos relacionados con las direcciones de correo electrónico de esta lista. |
Filtros en cargas útiles de encuestas de suscripción
Cuando se utilizan suscripciones para generar encuestas periódicas, los filtros establecidos en la carga útil de la encuesta solo se utilizarán en la encuesta inicial de la suscripción. A partir de entonces, la API hará lo siguiente:
- Cualquier valor de
until
se ignora para evitar simplemente volver a sondear el mismo intervalo repetidamente - Si se configuró
until
, la siguiente encuesta obtendrá datos desde ese momento en adelante - Si no se configuró
until
, la siguiente encuesta obtendrá datos desde el momento de la encuesta inicial en adelante (es decir, la API sondeará progresivamente como de costumbre)
Filtros de nivel de datos
Los filtros a nivel de datos, como phone_numbers
y email_addresses
, son útiles para reducir los datos procesados solo a los elementos que son relevantes para usted. Estos incluyen filtros que eliminan cualquier elemento de datos que no coincida o no se relacione con otro elemento que coincida con uno de los valores de la lista del filtro. Tome la carga útil a continuación, por ejemplo:
{ "data_types": ["ios_messages.messages"], "filters": { "phone_numbers": ["0123456789"], "email_addresses": ["test@example.com"] } }
Esto devolvería cualquier mensaje de Mensajes de iOS que se relacione con una conversación que involucre el número de teléfono o la dirección de correo electrónico especificada, incluidas las conversaciones grupales. Puede resultar útil especificar varios valores para filtrar, ya que muchos contactos tendrán una combinación de números de teléfono y cuentas identificadas por correo electrónico, como las cuentas de iCloud de Mensajes.
Tenga en cuenta que, para los números de teléfono, se ignoran todos los caracteres especiales cuando se realiza la comparación de filtros; por ejemplo, (415) 555‑0132
es equivalente a 4155550132
y también se pueden usar subcadenas, por ejemplo, 4155550132
coincidirá con (415) 555‑0132
y +1 (415) 555‑0132
. Normalmente, utilizar un valor de filtro ligeramente menos específico (evitando códigos de llamadas internacionales, por ejemplo) producirá resultados más consistentes.
Crear POST /polls
Crear una encuesta para los datos contra una sesión específica.
El parámetro source
solo debe usarse cuando se dirige a una fuente secundaria de la fuente primaria de la sesión. Por ejemplo, si recupera datos de un rirelay.source
el parámetro source
debe ser el ID de esa fuente.
nombre | escribe | descripción |
---|---|---|
key | opcional, ID de clave | Opcionalmente, anule la clave utilizada para esta encuesta. Esto es útil cuando se permite a los usuarios probar nuevas funciones. |
source | opcional, ID de origen | Opcionalmente, apunte a una fuente secundaria de la fuente vinculada a la sesión. |
session | ID de sesión | La sesión que se utilizará para autenticar la recuperación de datos. |
subscription | ID de suscripción | La suscripción que se utilizará para realizar la encuesta. Si se proporciona esto, se pueden omitir source y session . |
payload | carga útil de encuesta anidada | La carga útil de la encuesta utilizada para especificar la encuesta. |
Usando cURL
curl https://ricloud-api.reincubate.com/polls \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "session": "<session ID>", "payload": { "info_types": ["*"] } }'
Utilizando ricloud-py
import ricloud poll_payload = { 'info_types': ['*'], } poll = ricloud.Poll.create( session='<session ID or ricloud.Session instance>', payload=poll_payload, )
Respuesta de muestra
{ "id": "54554389-5f1a-4ccf-9bb8-024a031cf948", "resource": "poll", "organisation": 1, "key": 1, "user": 1, "source": 1, "session": "f5a7a7ef-ff21-47fe-9aa6-7ebd08123623", "subscription": null, "tasks_pending": [], "tasks_processing": [], "tasks_succeeded": [], "tasks_failed": [], "tasks_suspended": [], "results": { "data": [], "has_more": false, "total_count": 0, "url": "/polls/54554389-5f1a-4ccf-9bb8-024a031cf948/results" }, "errors": { "data": [], "has_more": false, "total_count": 0, "url": "/polls/54554389-5f1a-4ccf-9bb8-024a031cf948/errors" }, "state": "pending", "date_created": "2020-02-20T11:59:14.694337Z", "date_started": null, "date_completed": null }
Recuperar GET /polls/{poll ID}
Usando cURL
curl https://ricloud-api.reincubate.com/polls/<poll ID> \ -H 'Authorization: Token <your key_token>'
Utilizando ricloud-py
import ricloud poll = ricloud.Poll.retrieve(<poll ID>)
Lista GET /polls
nombre | escribe | descripción |
---|---|---|
key | ID de clave | Filtrar por clave asociada. Esta es la clave utilizada por el usuario en ese momento. |
user | ID de usuario | Filtrar por usuario asociado. |
source | ID de fuente | Filtrar por fuente de destino. |
session | ID de sesión | Filtrar por la sesión de destino. |
subscription | ID de suscripción | Filtrar por la suscripción asociada. |
state | cadena | Filtrar por estado de sesión. |
date_created | filtro de fecha y hora | Filtrar por cuándo se creó el recurso. |
date_started | filtro de fecha y hora | Filtrar por cuándo comenzó la encuesta. |
date_completed | filtro de fecha y hora | Filtrar por cuándo finalizó la encuesta. |
Usando cURL
curl https://ricloud-api.reincubate.com/polls \ -H 'Authorization: Token <your key_token>'
Utilizando ricloud-py
import ricloud polls = ricloud.Poll.list()
Registro de cambios
2023-11-28
- Se agregó soporte para los filtros
email_addresses
yphone_numbers
, lo que permite la recuperación de datos relacionados solo con contactos específicos.
2022-07-08
- Se agregó soporte para el filtro
until
en las cargas útiles de la encuesta para la extracción de SMS. Esto complementa el filtrosince
para permitir a los clientes especificar un rango de fecha y hora exacto para recuperar datos.
2020-05-05
- El atributo de
errors
se agregó al objeto de encuesta. Este es un objeto de lista anidada que contiene objetos de error asociados con la encuesta.
2020-02-20
- Mayor : el atributo de
results
del objeto de encuesta ahora es un objeto de lista anidada, en lugar de un simple atributo de lista. Esto hace posible paginar resultados cuando una encuesta publica una gran cantidad de resultados.
2019-10-16
- Agrega el atributo de
subscription
al objeto de encuesta para indicar si la encuesta fue activada por una suscripción.
2019-06-01
- El atributo de
payload
objeto de encuesta ahora puede estar compuesto por múltiples tipos de operaciones. Esto significa que se puede crear una encuesta con cualquiera o todosinfo-types
deinfo-types
data-types
yfiles
en la carga útil. - Mayor El atributo de
type
en el objeto de encuesta está en desuso a favor de las cargas útiles de encuesta componibles.