abonnementen
Een abonnementobject vertegenwoordigt een doorlopend verzoek om gegevens, zoals "elke 24 uur nieuwe CallKit-oproepen ophalen" of "de nieuwste iOS-berichten ophalen uit een Reincubate Relay-bron wanneer een nieuwe back-up wordt gemaakt".
Verschillende services kunnen abonnementen op iets verschillende manieren implementeren. De iCloud-service werkt op een periodiek peilingsmechanisme, waarbij het elke ingestelde tijd op nieuwe gegevens controleert. De rirelay-service werkt op een push-mechanisme en publiceert nieuwe gegevens zodra deze beschikbaar komen.
attributen
naam | type | Omschrijving |
---|---|---|
id | draad | Bron-ID. |
resource | string, altijd subscription | Brontype-ID. |
org | organisatie ID | De bijbehorende organisatie van het abonnement. |
source | bron ID | |
session | sessie-ID | |
poll_payload | geneste poll-payload | De payload van enquêtes die door het abonnement moet worden gemaakt. Zie payload van enquête . |
interval | optionele timedelta | Het interval tussen peilingen, in seconden. |
date_start | optionele datetime | De datum waarop peilingen worden gemaakt. |
date_end | optionele datetime | De datum waarop het maken van polls wordt gestopt. |
state | draad | Een van: in pending , active , deleted . |
date_created | datum Tijd | Wanneer de resource is gemaakt. |
Interval
Het interval
bepaalt de frequentie waarmee de API zal intrekken of nieuwe gegevens van een bron opvraagt.
Op de iCloud-service, die pull-based is, zal het abonnement elke interval
seconden een nieuwe poll maken.
Op de Reincubate Relay-service wordt in plaats daarvan het interval
doorgegeven aan de Relay-app. Dit configureert hoe vaak de app nieuwe gegevens van verbonden apparaten zal opvragen, en vervolgens een poll op de API activeert via een push-mechanisme. Er wordt geen poll gemaakt totdat het apparaat dat is gekoppeld aan de bron van het abonnement is verbonden met de Relay-app.
Maak POST /subscriptions
naam | type | Omschrijving |
---|---|---|
session | sessie-ID | Welke sessie om peilingen tegen te maken. |
source | optioneel, bron-ID | Optioneel een onderliggende bron van de sessie-gekoppelde bron targeten. |
poll_payload | geneste poll-payload | De payload van de poll die wordt gebruikt om de poll te specificeren |
interval | optionele timedelta | Het interval tussen peilingen, in seconden. |
date_start | optionele datetime | De datum waarop peilingen worden gemaakt. |
date_end | optionele datetime | De datum waarop het maken van polls wordt gestopt. |
CURL gebruiken
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"] } }'
Ricloud-py gebruiken
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, )
GET /subscriptions/{subscription ID}
ophalen
CURL gebruiken
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -H 'Authorization: Token <your key_token>'
Ricloud-py gebruiken
import ricloud subscription = ricloud.Subscription.retrieve(<subscription ID>)
Lijst GET /subscriptions
CURL gebruiken
curl https://ricloud-api.reincubate.com/subscriptions \ -H 'Authorization: Token <your key_token>'
Ricloud-py gebruiken
import ricloud subscriptions = ricloud.Subscription.list()
POST /subscriptions/{subscription ID}
updaten
Een abonnement kan worden bijgewerkt om de peilingen die het maakt en wanneer het deze aanmaakt te wijzigen.
In het geval dat de sessie van een abonnement verloopt, kan deze ook worden vervangen door een nieuw gemaakte, actieve sessie.
naam | type | Omschrijving |
---|---|---|
session | sessie-ID | Tegen welke sessie je polls maakt. Moet dezelfde onderliggende bron hebben als de oorspronkelijke sessie van het abonnement. |
poll_payload | geneste poll-payload | De poll-payload die wordt gebruikt om de poll op te geven. |
interval | optionele timedelta | Het interval tussen peilingen, in seconden. |
date_start | optionele datetime | De datum waarop peilingen worden gemaakt. |
date_end | optionele datetime | De datum waarop het maken van polls wordt gestopt. |
CURL gebruiken
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"] } }'
Ricloud-py gebruiken
import ricloud poll_payload = { "data_types": ["icpl.photos"], } subscription = ricloud.Subscription.update( session="<session ID or ricloud.Session instance>", poll_payload=poll_payload, )
DELETE /subscriptions/{subscription ID}
Voorkom dat het abonnement verdere polls aanmaakt.
CURL gebruiken
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -X DELETE \ -H 'Authorization: Token <your key_token>'
Ricloud-py gebruiken
import ricloud subscription = ricloud.Subscription.delete_with_id(<subscription ID>) # OR subscription = ricloud.Subscription.retrieve(<subscription ID>) subscription.delete()