Abonnements
Un objet d'abonnement représente une demande continue de données, telle que "extraire les nouveaux appels CallKit toutes les 24 heures" ou "extraire les derniers messages iOS à partir d'une source Reincubate Relay lorsqu'une nouvelle sauvegarde est effectuée".
Différents services peuvent implémenter les abonnements de manières légèrement différentes. Le service iCloud fonctionne sur un mécanisme d’interrogation périodique, dans lequel il vérifie la présence de nouvelles données à chaque intervalle de temps défini. Le service rirelay fonctionne sur un mécanisme push, publiant de nouvelles données dès qu'elles sont disponibles.
Les attributs
prénom | type | la description |
---|---|---|
id | chaîne | Identifiant de ressource. |
resource | chaîne, toujours subscription | Identifiant du type de ressource. |
org | ID d'organisation | L'organisation associée à l'abonnement. |
source | ID source | |
session | ID de session | |
poll_payload | charge de sondage imbriquée | La charge utile des sondages à créer par l'abonnement. Voir la charge utile du sondage . |
interval | timedelta en option | L'intervalle entre les sondages, en secondes. |
date_start | date / heure optionnelle | La date à laquelle commencer à créer des sondages. |
date_end | date / heure optionnelle | La date à laquelle arrêter de créer des sondages. |
state | chaîne | Un des suivants: en pending , active , deleted . |
date_created | date / heure | Quand la ressource a été créée. |
Intervalle
L'attribut interval
contrôle la fréquence à laquelle l'API extrait ou demande de nouvelles données à une source.
Sur le service iCloud, qui est basé sur l'extraction, l'abonnement créera un nouveau sondage toutes les secondes d' interval
.
Sur le service Reincubate Relay, l'attribut interval
est plutôt transmis à l'application Relay. Cela configure la fréquence à laquelle l'application demande de nouvelles données aux appareils connectés, puis déclenche un sondage sur l'API via un mécanisme push. Aucun sondage n'est créé tant que l'appareil associé à la source de l'abonnement n'est pas connecté à l'application Relay.
Créer un POST /subscriptions
prénom | type | la description |
---|---|---|
session | ID de session | Contre quelle session créer des sondages. |
source | optionnel, identifiant de source | Vous pouvez éventuellement cibler une source enfant de la source liée à la session. |
poll_payload | charge de sondage imbriquée | La charge d'interrogation utilisée pour spécifier l'interrogation |
interval | timedelta en option | L'intervalle entre les sondages, en secondes. |
date_start | date / heure optionnelle | La date à laquelle commencer à créer des sondages. |
date_end | date / heure optionnelle | La date à laquelle arrêter de créer des sondages. |
Utiliser 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"] } }'
Utiliser 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, )
Récupérer GET /subscriptions/{subscription ID}
Utiliser cURL
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -H 'Authorization: Token <your key_token>'
Utiliser ricloud-py
import ricloud subscription = ricloud.Subscription.retrieve(<subscription ID>)
Liste GET /subscriptions
Utiliser cURL
curl https://ricloud-api.reincubate.com/subscriptions \ -H 'Authorization: Token <your key_token>'
Utiliser ricloud-py
import ricloud subscriptions = ricloud.Subscription.list()
Mettre à jour POST /subscriptions/{subscription ID}
Un abonnement peut être mis à jour pour modifier les sondages qu'il crée et quand il les crée.
De plus, dans le cas où la session d'un abonnement expire, elle peut être remplacée par une session active nouvellement créée.
prénom | type | la description |
---|---|---|
session | ID de session | Contre quelle session créer des sondages. Doit avoir la même source sous-jacente que la session d'origine de l'abonnement. |
poll_payload | charge utile du sondage imbriqué | Charge utile du sondage utilisée pour spécifier le sondage. |
interval | timedelta en option | L'intervalle entre les sondages, en secondes. |
date_start | date / heure optionnelle | La date à laquelle commencer à créer des sondages. |
date_end | date / heure optionnelle | La date à laquelle arrêter de créer des sondages. |
Utiliser 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"] } }'
Utiliser 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, )
Supprimer DELETE /subscriptions/{subscription ID}
Arrêtez l'abonnement de créer d'autres sondages.
Utiliser cURL
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -X DELETE \ -H 'Authorization: Token <your key_token>'
Utiliser ricloud-py
import ricloud subscription = ricloud.Subscription.delete_with_id(<subscription ID>) # OR subscription = ricloud.Subscription.retrieve(<subscription ID>) subscription.delete()