Abonnements
Ein Abonnementobjekt stellt eine fortlaufende Anforderung von Daten dar, z. B. "Abrufen neuer CallKit-Anrufe alle 24 Stunden" oder "Abrufen der neuesten iOS-Nachrichten von einer Reincubate-Relay-Quelle, wenn eine neue Sicherung erstellt wird".
Verschiedene Dienste können Abonnements auf leicht unterschiedliche Weise implementieren. Der iCloud-Dienst arbeitet mit einem periodischen Abfragemechanismus, bei dem in jedem festgelegten Zeitintervall nach neuen Daten gesucht wird. Der Relaisdienst arbeitet mit einem Push-Mechanismus und veröffentlicht neue Daten, sobald sie verfügbar sind.
Attribute
Name | Art | Beschreibung |
---|---|---|
id | Zeichenfolge | Ressourcenkennung. |
resource | Zeichenfolge, immer subscription | Ressourcentyp-ID. |
org | Organisations-ID | Die dem Abonnement zugeordnete Organisation. |
source | Quell-ID | |
session | Session-ID | |
poll_payload | geschachtelte Poll-Payload | Die Nutzlast der Umfragen, die vom Abonnement erstellt werden sollen. Siehe Poll Payload . |
interval | optionales Timedelta | Das Intervall zwischen den Umfragen in Sekunden. |
date_start | optional datetime | Das Datum, an dem Umfragen erstellt werden sollen. |
date_end | optional datetime | Das Datum, an dem keine Umfragen mehr erstellt werden sollen. |
state | Zeichenfolge | Einer von: pending , active , deleted . |
date_created | Terminzeit | Wann wurde die Ressource erstellt. |
Intervall
Das interval
steuert die Häufigkeit, mit der die API neue Daten von einer Quelle abruft oder anfordert.
Beim iCloud-Dienst, der Pull-basiert ist, erstellt das Abonnement alle interval
eine neue Abfrage.
Beim Reincubate Relay-Dienst wird das interval
stattdessen an die Relay-App übergeben. Hiermit wird konfiguriert, wie oft die App neue Daten von verbundenen Geräten anfordert. Anschließend wird über einen Push-Mechanismus eine Abfrage der API ausgelöst. Es wird keine Umfrage erstellt, bis das mit der Quelle des Abonnements verknüpfte Gerät mit der Relay-App verbunden ist.
Erstellen Sie POST /subscriptions
Name | Art | Beschreibung |
---|---|---|
session | Session-ID | Gegen welche Sitzung Umfragen erstellt werden sollen. |
source | Optional, Quell-ID | Greifen Sie optional auf eine untergeordnete Quelle der sitzungsgebundenen Quelle zu. |
poll_payload | geschachtelte Poll-Payload | Die Poll-Payload, die zum Angeben von Polls verwendet wird |
interval | optionales Timedelta | Das Intervall zwischen den Umfragen in Sekunden. |
date_start | optional datetime | Das Datum, an dem Umfragen erstellt werden sollen. |
date_end | optional datetime | Das Datum, an dem keine Umfragen mehr erstellt werden sollen. |
CURL verwenden
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"] } }'
Mit 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, )
GET /subscriptions/{subscription ID}
CURL verwenden
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -H 'Authorization: Token <your key_token>'
Mit Ricloud-Py
import ricloud subscription = ricloud.Subscription.retrieve(<subscription ID>)
Liste GET /subscriptions
CURL verwenden
curl https://ricloud-api.reincubate.com/subscriptions \ -H 'Authorization: Token <your key_token>'
Mit Ricloud-Py
import ricloud subscriptions = ricloud.Subscription.list()
Aktualisieren Sie POST /subscriptions/{subscription ID}
Ein Abonnement kann aktualisiert werden, um die von ihm erstellten und wann erstellten Umfragen zu ändern.
Falls die Sitzung eines Abonnements abläuft, kann sie durch eine neu erstellte, aktive Sitzung ersetzt werden.
Name | Art | Beschreibung |
---|---|---|
session | Session-ID | Gegen welche Sitzung Umfragen erstellt werden sollen. Muss dieselbe zugrunde liegende Quelle haben wie die ursprüngliche Sitzung des Abonnements. |
poll_payload | Nutzdaten verschachtelter Umfragen | Die Abrufnutzlast, mit der die Abfrage angegeben wird. |
interval | optionales Timedelta | Das Intervall zwischen den Umfragen in Sekunden. |
date_start | optional datetime | Das Datum, an dem Umfragen erstellt werden sollen. |
date_end | optional datetime | Das Datum, an dem keine Umfragen mehr erstellt werden sollen. |
CURL verwenden
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"] } }'
Mit 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, )
Löschen Sie DELETE /subscriptions/{subscription ID}
Verhindern Sie, dass das Abonnement weitere Umfragen erstellt.
CURL verwenden
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -X DELETE \ -H 'Authorization: Token <your key_token>'
Mit Ricloud-Py
import ricloud subscription = ricloud.Subscription.delete_with_id(<subscription ID>) # OR subscription = ricloud.Subscription.retrieve(<subscription ID>) subscription.delete()