sondaggi
Una risorsa sondaggio contiene informazioni su una richiesta specifica di dati. Una volta creato un sondaggio, verrà avviata la creazione di una o più attività per completare la richiesta.
attributi
nome | genere | descrizione |
---|---|---|
id | ID sondaggio | Identificatore della risorsa. |
resource | stringa, sempre poll | Identificatore del tipo di risorsa. |
organisation | ID dell'organizzazione | L'organizzazione associata a questa risorsa. |
key | chiave identificativa | La chiave associata a questa risorsa. |
user | ID utente | L'utente associato a questa risorsa. |
source | identificativo della fonte | La fonte a cui è rivolto il sondaggio. Può trattarsi di un'origine secondaria dell'origine della sessione. |
session | identificativo della sessione | La sessione utilizzata dal sondaggio. |
subscription | ID di abbonamento opzionale | L'ID oggetto di sottoscrizione associato, se applicabile. |
tasks_pending | elenco degli ID attività | Le attività associate al sondaggio in attesa di elaborazione. |
tasks_processing | elenco degli ID attività | Le attività associate al sondaggio in fase di elaborazione. |
tasks_succeeded | elenco degli ID attività | Le attività associate al sondaggio che hanno avuto esito positivo. |
tasks_failed | elenco degli ID attività | Le attività associate al sondaggio che non sono riuscite. |
tasks_suspended | elenco degli ID attività | Le attività associate al sondaggio sospese. |
results | oggetto elenco contenente oggetti risultato | Elenco degli oggetti risultato generati dalle attività del sondaggio. |
errors | elenco oggetto contenente oggetti errore | Elenco degli oggetti errore generati dalle attività del sondaggio. |
state | corda | Uno tra: pending , processing , completed . |
date_created | appuntamento | Quando è stata creata la risorsa. |
date_started | data/ora facoltativa | Quando è iniziata l'elaborazione del sondaggio. |
date_completed | data/ora facoltativa | Al termine dell'elaborazione del sondaggio. |
Compiti
Il ruolo più importante della risorsa sondaggio è quello di riflettere l'avanzamento delle attività associate e consentire all'utente finale di iniziare a recuperare i risultati da questi non appena diventano disponibili. Pertanto, la risorsa di polling espone gli attributi relativi alle attività in cui le attività associate sono classificate in base al loro stato.
risultati
Tutti i risultati pubblicati dalle attività in esecuzione nel sondaggio vengono visualizzati nell'attributo dei results
del sondaggio. Ciò consente il consumo dei risultati prima del completamento del sondaggio.
Errori
Tutti gli errori generati dalle attività in esecuzione nel sondaggio verranno visualizzati nell'attributo errors
del sondaggio.
stati
Lo stato di un sondaggio riflette solo se il sondaggio è in attesa di inizializzazione (in pending
), è in corso ( processing
), o tutte le attività hanno terminato l'esecuzione ( completed
).
Un sondaggio non riflette nessuno stato di errore se non attraverso i suoi compiti associati.
Carico utile
Il payload del sondaggio indica quali tipi di informazioni, tipi di dati e file devono funzionare per il recupero. Lo schema dell'attributo del payload del poll è descritto di seguito.
nome | genere | descrizione |
---|---|---|
info_types | elenco di oggetti info_type | Specifica quali tipi di informazioni devono essere recuperati. Supporta i caratteri jolly * . |
data_types | elenco di oggetti data_type | Specifica quali tipi di dati devono essere recuperati. |
files | elenco degli ID file . | Specifica quali file recuperare. |
filters | oggetto filters nidificati | Specifica quali filtri applicare ai dati recuperati. |
skip_files |
boolean | If set to true the poll will skip looking up and publishing attachments files, which includes any assets from photos or video feeds. |
Ad esempio, il payload del sondaggio per recuperare tutti i tipi di informazioni su un'origine dell'account iCloud sarebbe:
{ "info_types": ["*"] }
Per recuperare una varietà di dati di messaggistica da una copia di backup iCloud o Reincubate Relay, ma solo da una determinata data:
{ "data_types": ["ios_messages.messages", "whatsapp.messages", "viber.messages"], "filters": { "since": "2019-09-15T22:04:12Z", "until": "2021-06-02T12:00:00Z" } }
Per recuperare i dati dei file per le immagini a cui fa riferimento un risultato della Libreria foto iCloud:
{ "files": ["icpl://xyz123", "icpl://abc321"] }
I diversi attributi possono anche essere usati contemporaneamente:
{ "info_types": ["*"], "data_types": ["ios_phone.calls"] }
Filtri
I filtri consentono al cliente di ridurre la quantità di dati restituiti solo a quelli che potrebbero essere di interesse. Ad esempio, potresti filtrare un sondaggio per i dati SMS solo in base ai dati dell'ultimo mese.
nome | tipo | descrizione |
---|---|---|
since | data/ora facoltativa | Filtra solo i dati creati dopo questa data/ora. |
until | data/ora facoltativa | Filtra solo i dati creati prima di questa data/ora. |
phone_numbers | matrice opzionale | Filtra solo i dati correlati ai numeri di telefono in questo elenco. |
email_addresses | matrice opzionale | Filtra solo i dati correlati agli indirizzi email in questo elenco. |
Filtri nei payload del sondaggio di abbonamento
Quando si utilizzano gli abbonamenti per generare sondaggi regolari, tutti i filtri impostati nel payload del sondaggio verranno utilizzati solo nel sondaggio iniziale dell'abbonamento. Successivamente, l'API eseguirà le seguenti operazioni:
- Qualsiasi valore per
until
viene ignorato per evitare di ripetere semplicemente il polling ripetutamente dello stesso intervallo - Se è stato impostato
until
, il sondaggio successivo recupererà i dati da quel momento in poi - Se
until
non è stato impostato, il sondaggio successivo recupererà i dati dal momento del sondaggio iniziale in poi (ovvero l'API eseguirà il polling progressivamente come di consueto)
Filtri a livello di dati
I filtri a livello di dati, come phone_numbers
e email_addresses
, sono utili per ridurre i dati elaborati solo agli elementi pertinenti per te. Si tratta di filtri di inclusione che eliminano eventuali elementi di dati che non corrispondono o che sono correlati a un altro elemento che corrisponde a uno dei valori nell'elenco del filtro. Prendiamo ad esempio il payload riportato di seguito:
{ "data_types": ["ios_messages.messages"], "filters": { "phone_numbers": ["0123456789"], "email_addresses": ["test@example.com"] } }
Ciò restituirebbe tutti i messaggi di Messaggi iOS relativi a una conversazione che coinvolge il numero di telefono o l'indirizzo e-mail specificato, incluse eventuali conversazioni di gruppo. Può essere utile specificare più valori in base ai quali filtrare, poiché molti contatti avranno un mix di numeri di telefono e account identificati tramite posta elettronica, come gli account iCloud di Messaggi.
Tieni presente che per i numeri di telefono, eventuali caratteri speciali vengono ignorati quando viene effettuato il confronto dei filtri, ad esempio (415) 555‑0132
equivale a 4155550132
e possono essere utilizzate anche sottostringhe, ad esempio 4155550132
corrisponderà a (415) 555‑0132
e +1 (415) 555‑0132
. In genere, l'utilizzo di un valore di filtro leggermente meno specifico, ad esempio evitando i prefissi internazionali, produrrà risultati più coerenti.
Crea POST /polls
Crea un sondaggio per i dati rispetto a una sessione specifica.
Il parametro source
deve essere utilizzato solo quando si sceglie come target un'origine figlio dell'origine principale della sessione. Ad esempio, se si recuperano dati da una source
rirelay.source
il parametro source
dovrebbe essere l'ID di quella sorgente.
nome | genere | descrizione |
---|---|---|
key | facoltativo, ID chiave | Facoltativamente sovrascrivi la chiave utilizzata per questo sondaggio. Ciò è utile quando si consente agli utenti di provare nuove funzionalità. |
source | facoltativo, ID di origine | Facoltativamente, scegli come target un'origine secondaria dell'origine collegata alla sessione. |
session | identificativo della sessione | La sessione da utilizzare per autenticare il recupero dei dati. |
subscription | identificativo dell'abbonamento | L'abbonamento da utilizzare per eseguire il sondaggio. Se viene fornito, source e session possono essere omesse. |
payload | carico utile del poll annidato | Il payload del poll utilizzato per specificare il poll |
Utilizzando cURL
curl https://ricloud-api.reincubate.com/polls \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "session": "<session ID>", "payload": { "info_types": ["*"] } }'
Usando ricloud-py
import ricloud poll_payload = { 'info_types': ['*'], } poll = ricloud.Poll.create( session='<session ID or ricloud.Session instance>', payload=poll_payload, )
Risposta del campione
{ "id": "54554389-5f1a-4ccf-9bb8-024a031cf948", "resource": "poll", "organisation": 1, "key": 1, "user": 1, "source": 1, "session": "f5a7a7ef-ff21-47fe-9aa6-7ebd08123623", "subscription": null, "tasks_pending": [], "tasks_processing": [], "tasks_succeeded": [], "tasks_failed": [], "tasks_suspended": [], "results": { "data": [], "has_more": false, "total_count": 0, "url": "/polls/54554389-5f1a-4ccf-9bb8-024a031cf948/results" }, "errors": { "data": [], "has_more": false, "total_count": 0, "url": "/polls/54554389-5f1a-4ccf-9bb8-024a031cf948/errors" }, "state": "pending", "date_created": "2020-02-20T11:59:14.694337Z", "date_started": null, "date_completed": null }
Recupera GET /polls/{poll ID}
Utilizzando cURL
curl https://ricloud-api.reincubate.com/polls/<poll ID> \ -H 'Authorization: Token <your key_token>'
Usando ricloud-py
import ricloud poll = ricloud.Poll.retrieve(<poll ID>)
Elenca GET /polls
nome | genere | descrizione |
---|---|---|
key | chiave identificativa | Filtra per chiave associata. Questa è la chiave utilizzata dall'utente in quel momento. |
user | ID utente | Filtra per utente associato. |
source | identificativo della fonte | Filtra per la fonte di destinazione. |
session | identificativo della sessione | Filtra in base alla sessione di destinazione. |
subscription | identificativo dell'abbonamento | Filtra per l'abbonamento associato. |
state | corda | Filtra per stato della sessione. |
date_created | filtro data/ora | Filtra in base a quando è stata creata la risorsa. |
date_started | filtro data/ora | Filtra in base a quando è iniziato il sondaggio. |
date_completed | filtro data/ora | Filtra in base a quando è terminato il sondaggio. |
Utilizzando cURL
curl https://ricloud-api.reincubate.com/polls \ -H 'Authorization: Token <your key_token>'
Usando ricloud-py
import ricloud polls = ricloud.Poll.list()
changelog
28-11-2023
- È stato aggiunto il supporto per i filtri
email_addresses
ephone_numbers
che consentono il recupero dei dati relativi solo a contatti specifici.
2022-07-08
- È stato aggiunto il supporto per il filtro
until
ai payload del sondaggio per l'estrazione degli SMS. Ciò integra il filtrosince
per consentire ai client di specificare un intervallo di date e ore esatto da cui recuperare i dati.
2020/05/05
- L'attributo
errors
stato aggiunto all'oggetto poll. Questo è un oggetto elenco nidificato contenente oggetti di errore associati al sondaggio.
2020/02/20
- Maggiore : l'attributo dei
results
dell'oggetto sondaggio è ora un oggetto elenco nidificato, anziché un semplice attributo elenco. Ciò consente di impaginare i risultati quando un sondaggio pubblica un numero elevato di risultati.
2019/10/16
- Aggiunge l'attributo di
subscription
all'oggetto sondaggio per indicare se il sondaggio è stato attivato da una sottoscrizione.
2019/06/01
- L'attributo
payload
dell'oggetto poll può ora essere composto da più tipi di operazioni. Ciò significa che è possibile creare un sondaggio con uno o tuttiinfo-types
diinfo-types
data-types
efiles
nel payload. - Maggiore L'attributo
type
sull'oggetto poll è deprecato a favore dei payload di poll componibili.