Vai al contenuto principale

Subscriptions

Pubblicato il 14 ottobre 2019· Aggiornato il 12 maggio 2020

Cover image for: Subscriptions

A subscription object represents a continuing request for data, such as "retrieve new CallKit calls every 24 hours" or "retrieve the latest iOS messages from a Reincubate Relay source when a new backup is made".

Different services can implement subscriptions in slightly different ways. The iCloud service works on a periodic polling mechanism, whereby it checks for new data every set interval of time. The rirelay service works on a push mechanism, publishing new data as soon as it becomes available.

Attributes

nametypedescription
idstringResource identifier.
resourcestring, always subscriptionResource type identifier.
orgorganisation IDThe subscription's associated organisation.
sourcesource ID
sessionsession ID
poll_payloadnested poll payloadThe payload of polls to be created by the subscription. See poll payload.
intervaloptional timedeltaThe interval between polls, in seconds.
date_startoptional datetimeThe date to start creating polls.
date_endoptional datetimeThe date to stop creating polls.
statestringOne of: pending, active, deleted.
date_createddatetimeWhen the resource was created.

Interval

The interval attribute controls the frequency at which the API will pull in or request new data from a source.

On the iCloud service, which is pull-based, the subscription will create a new poll every interval seconds.

On the Reincubate Relay service, the interval attribute is instead passed through to the Relay app. This configures how often the app will request new data from connected devices, wish then triggers a poll on the API via a push mechanism. No poll is created until the device associated with the subscription's source is connected to the Relay app.

Create POST /subscriptions

nametypedescription
sessionsession IDWhich session to create polls against.
sourceoptional, source IDOptionally target a child source of the session-linked source.
poll_payloadnested poll payloadThe poll payload used to specify poll
intervaloptional timedeltaThe interval between polls, in seconds.
date_startoptional datetimeThe date to start creating polls.
date_endoptional datetimeThe date to stop creating polls.

Using 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"]
  }
}'

Using 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,
)

Retrieve GET /subscriptions/{subscription ID}

Using cURL

curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \
  -H 'Authorization: Token <your key_token>'

Using ricloud-py

import ricloud

subscription = ricloud.Subscription.retrieve(<subscription ID>)

List GET /subscriptions

Using cURL

curl https://ricloud-api.reincubate.com/subscriptions \
  -H 'Authorization: Token <your key_token>'

Using ricloud-py

import ricloud

subscriptions = ricloud.Subscription.list()

Update POST /subscriptions/{subscription ID}

A subscription can be updated to change the polls it creates and when it creates them.

Also, in the case a subscription's session expires it can be replaced with a newly created, active session.

nametypedescription
sessionsession IDWhich session to create polls against. Must have the same underlying source as the subscription's original session.
poll_payloadnested poll payloadThe poll payload used to specify poll.
intervaloptional timedeltaThe interval between polls, in seconds.
date_startoptional datetimeThe date to start creating polls.
date_endoptional datetimeThe date to stop creating polls.

Using 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"]
  }
}'

Using 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,
)

Delete DELETE /subscriptions/{subscription ID}

Stop the subscription from creating further polls.

Using cURL

curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \
  -X DELETE \
  -H 'Authorization: Token <your key_token>'

Using ricloud-py

import ricloud

subscription = ricloud.Subscription.delete_with_id(<subscription ID>)

# OR

subscription = ricloud.Subscription.retrieve(<subscription ID>)

subscription.delete()

Articoli correlati

Hai bisogno di aiuto?

Cerchiamo di rispondere a tutti i messaggi entro un giorno lavorativo.

support@reincubate.com
Logo del King's Award for Enterprise

King's Award for Enterprise: Reincubate ha vinto quattro volte la più alta onorificenza aziendale ufficiale del Regno Unito, l'ultima in riconoscimento della straordinaria crescita dell'azienda negli ultimi tre anni.

Le nostre relazioni con utenti e partner sono al centro dei nostri valori e dei prodotti che creiamo. Consulta le nostre recensioni per scoprire cosa dicono di noi.

Certificazione ISO 27001 rilasciata dal Centre for Assessment, accreditato UKAS

© 2008-2026 Reincubate Ltd. Tutti i diritti riservati. Registrata in Inghilterra e Galles con il n. 5189175, P. IVA GB151788978. Camo®, Streamlight® e Reincubate® sono marchi registrati. Brevetti in corso di registrazione.

Assistenza