Suscripciones
Un objeto de suscripción representa una solicitud continua de datos, como "recuperar nuevas llamadas de CallKit cada 24 horas" o "recuperar los últimos mensajes de iOS de una fuente Reincubate Relay cuando se realiza una nueva copia de seguridad".
Diferentes servicios pueden implementar suscripciones de maneras ligeramente diferentes. El servicio de iCloud funciona en un mecanismo de sondeo periódico, mediante el cual verifica si hay nuevos datos en cada intervalo de tiempo establecido. El servicio rirelay funciona en un mecanismo de inserción, publicando nuevos datos tan pronto como estén disponibles.
Atributos
nombre | tipo | descripción |
---|---|---|
id | cuerda | Identificador de recursos. |
resource | cadena, siempre subscription | Identificador del tipo de recurso. |
org | ID de la organización | La organización asociada a la suscripción. |
source | ID de fuente | |
session | ID de sesión | |
poll_payload | carga útil de encuesta anidada | La carga útil de las encuestas que creará la suscripción. Ver encuesta de carga útil . |
interval | timedelta opcional | El intervalo entre encuestas, en segundos. |
date_start | fecha y hora opcional | La fecha para comenzar a crear encuestas. |
date_end | fecha y hora opcional | La fecha para dejar de crear encuestas. |
state | cuerda | Uno de: pending , active , deleted . |
date_created | fecha y hora | Cuando el recurso fue creado. |
Intervalo
El atributo de interval
controla la frecuencia con la que la API extraerá o solicitará nuevos datos de una fuente.
En el servicio iCloud, que está basado en extracción, la suscripción creará una nueva encuesta cada interval
segundos.
En el servicio Reincubate Relay, el atributo de interval
se pasa a la aplicación Relay. Esto configura con qué frecuencia la aplicación solicitará nuevos datos de los dispositivos conectados, luego deseará activar una encuesta en la API a través de un mecanismo de inserción. No se crea ninguna encuesta hasta que el dispositivo asociado con la fuente de la suscripción esté conectado a la aplicación Relay.
Crear POST /subscriptions
nombre | tipo | descripción |
---|---|---|
session | ID de sesión | Contra qué sesión crear encuestas. |
source | opcional, ID de fuente | Opcionalmente, diríjase a una fuente secundaria de la fuente vinculada a la sesión. |
poll_payload | carga útil de encuesta anidada | La carga útil de la encuesta utilizada para especificar la encuesta |
interval | timedelta opcional | El intervalo entre encuestas, en segundos. |
date_start | fecha y hora opcional | La fecha para comenzar a crear encuestas. |
date_end | fecha y hora opcional | La fecha para dejar de crear encuestas. |
Usando cURL
curl https://ricloud-api.reincubate.com/subscriptions \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "session": "<session ID>", "source": "<source ID>", "poll_payload": { "data_types": ["ios_messages.messages", "whatsapp.messages"] } }'
Utilizando ricloud-py
import ricloud poll_payload = { "data_types": ["ios_messages.messages", "whatsapp.messages"], } subscription = ricloud.Subscription.create( session="<session ID or ricloud.Session instance>", source="<source ID or ricloud.Source instance>", poll_payload=poll_payload, )
Recuperar GET /subscriptions/{subscription ID}
Usando cURL
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -H 'Authorization: Token <your key_token>'
Utilizando ricloud-py
import ricloud subscription = ricloud.Subscription.retrieve(<subscription ID>)
Lista GET /subscriptions
Usando cURL
curl https://ricloud-api.reincubate.com/subscriptions \ -H 'Authorization: Token <your key_token>'
Utilizando ricloud-py
import ricloud subscriptions = ricloud.Subscription.list()
Actualizar POST /subscriptions/{subscription ID}
Se puede actualizar una suscripción para cambiar las encuestas que crea y cuándo las crea.
Además, en el caso de que la sesión de una suscripción caduque, se puede reemplazar por una sesión activa recién creada.
nombre | tipo | descripción |
---|---|---|
session | ID de sesión | Contra qué sesión crear encuestas. Debe tener la misma fuente subyacente que la sesión original de la suscripción. |
poll_payload | carga útil de encuesta anidada | La carga útil de la encuesta utilizada para especificar la encuesta. |
interval | timedelta opcional | El intervalo entre encuestas, en segundos. |
date_start | fecha y hora opcional | La fecha para comenzar a crear encuestas. |
date_end | fecha y hora opcional | La fecha para dejar de crear encuestas. |
Usando cURL
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "session": "<session ID>", "poll_payload": { "data_types": ["icpl.photos"] } }'
Utilizando ricloud-py
import ricloud poll_payload = { "data_types": ["icpl.photos"], } subscription = ricloud.Subscription.update( session="<session ID or ricloud.Session instance>", poll_payload=poll_payload, )
Eliminar DELETE /subscriptions/{subscription ID}
Evite que la suscripción cree más encuestas.
Usando cURL
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -X DELETE \ -H 'Authorization: Token <your key_token>'
Utilizando ricloud-py
import ricloud subscription = ricloud.Subscription.delete_with_id(<subscription ID>) # OR subscription = ricloud.Subscription.retrieve(<subscription ID>) subscription.delete()