Assinaturas
Um objeto de assinatura representa uma solicitação contínua de dados, como "recuperar novas chamadas do CallKit a cada 24 horas" ou "recuperar as últimas mensagens do iOS de uma fonte do Reincubate Relay quando um novo backup é feito".
Serviços diferentes podem implementar assinaturas de maneiras ligeiramente diferentes. O serviço iCloud trabalha em um mecanismo de pesquisa periódica, no qual verifica novos dados a cada intervalo de tempo definido. O serviço rirelay funciona em um mecanismo de envio, publicando novos dados assim que estiverem disponíveis.
Atributos
nome | tipo | descrição |
---|---|---|
id | corda | Identificador de recursos. |
resource | string, sempre subscription | Identificador de tipo de recurso. |
org | ID da organização | A organização associada da assinatura. |
source | ID de origem | |
session | identificação de sessão | |
poll_payload | carga útil da pesquisa aninhada | A carga útil das pesquisas a serem criadas pela assinatura. Consulte a carga útil da enquete . |
interval | timedelta opcional | O intervalo entre pesquisas, em segundos. |
date_start | data e hora opcional | A data para começar a criar pesquisas. |
date_end | data e hora opcional | A data para parar de criar pesquisas. |
state | corda | Um de: pending , active , deleted . |
date_created | data hora | Quando o recurso foi criado. |
Intervalo
O atributo interval
controla a frequência com que a API extrai ou solicita novos dados de uma fonte.
No serviço iCloud, baseado em pull, a assinatura criará uma nova pesquisa a cada interval
segundos.
No serviço Reincubate Relay, o atributo interval
é passado para o aplicativo Relay. Isso configura a frequência com que o aplicativo solicita novos dados dos dispositivos conectados e, em seguida, aciona uma pesquisa na API por meio de um mecanismo de envio. Nenhuma pesquisa é criada até que o dispositivo associado à fonte da assinatura esteja conectado ao aplicativo de retransmissão.
Criar POST /subscriptions
nome | tipo | descrição |
---|---|---|
session | identificação de sessão | Em qual sessão criar enquetes. |
source | ID de origem opcional | Opcionalmente, segmente uma fonte filha da fonte vinculada à sessão. |
poll_payload | carga útil da pesquisa aninhada | A carga útil da pesquisa usada para especificar a pesquisa |
interval | timedelta opcional | O intervalo entre pesquisas, em segundos. |
date_start | data e hora opcional | A data para começar a criar pesquisas. |
date_end | data e hora opcional | A data para parar de criar pesquisas. |
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"] } }'
Usando 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>'
Usando ricloud-py
import ricloud subscription = ricloud.Subscription.retrieve(<subscription ID>)
Listar GET /subscriptions
Usando cURL
curl https://ricloud-api.reincubate.com/subscriptions \ -H 'Authorization: Token <your key_token>'
Usando ricloud-py
import ricloud subscriptions = ricloud.Subscription.list()
Atualizar POST /subscriptions/{subscription ID}
Uma assinatura pode ser atualizada para alterar as pesquisas que cria e quando as cria.
Além disso, no caso de uma sessão expirar, ela pode ser substituída por uma sessão ativa recém-criada.
nome | tipo | descrição |
---|---|---|
session | identificação de sessão | Em qual sessão criar enquetes. Deve ter a mesma fonte subjacente que a sessão original da assinatura. |
poll_payload | carga útil da pesquisa aninhada | A carga útil da pesquisa usada para especificar a pesquisa. |
interval | timedelta opcional | O intervalo entre pesquisas, em segundos. |
date_start | data e hora opcional | A data para começar a criar pesquisas. |
date_end | data e hora opcional | A data para parar de criar pesquisas. |
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"] } }'
Usando 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, )
Excluir DELETE /subscriptions/{subscription ID}
Pare a assinatura de criar novas pesquisas.
Usando cURL
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -X DELETE \ -H 'Authorization: Token <your key_token>'
Usando ricloud-py
import ricloud subscription = ricloud.Subscription.delete_with_id(<subscription ID>) # OR subscription = ricloud.Subscription.retrieve(<subscription ID>) subscription.delete()