Polls

Een peilingsbron bevat informatie over een specifiek verzoek om gegevens. Nadat een peiling is gemaakt, worden er één of meer taken gestart om het verzoek te voltooien.
attributen
naam | type | Beschrijving |
---|---|---|
id |
poll ID | Resource identifier. |
resource |
string, always poll |
Resource type specifier. |
organisation |
organisation ID | The organisation associated with this resource. |
key |
key ID | The key associated with this resource. |
user |
user ID | The user associated with this resource. |
source |
source ID | The source the poll is targeting. This can be a child source of the session's source. |
session |
session ID | The session the poll is using. |
subscription |
optional subscription ID | The associated subscription object ID, if applicable. |
tasks_pending |
list of task IDs | The tasks associated with the poll that are awaiting processing. |
tasks_processing |
list of task IDs | The tasks associated with the poll that are being processed. |
tasks_succeeded |
list of task IDs | The tasks associated with the poll that have succeeded. |
tasks_failed |
list of task IDs | The tasks associated with the poll that have failed. |
tasks_suspended |
list of task IDs | The tasks associated with the poll that are suspended. |
results |
list object containing result objects | List of result objects generated by the poll's tasks. |
errors |
list object containing error objects | List of error objects generated by the poll's tasks. |
state |
string | One of: pending , processing , completed . |
date_created |
datetime | When the resource was created. |
date_started |
optional datetime | When processing of the poll began. |
date_completed |
optional datetime | When processing of the poll finished. |
Taken
De belangrijkste rol van de peilingsbron is om de voortgang van de bijbehorende taken weer te geven en de eindgebruiker in staat te stellen hieruit resultaten op te halen zodra deze beschikbaar komen. Daarom onthult de peilingbron taakgerelateerde attributen waarin bijbehorende taken worden gecategoriseerd op basis van hun status.
Resultaten
Alle resultaten die zijn gepubliceerd door taken die binnen de peiling worden uitgevoerd, worden weergegeven in het results
de peiling. Hierdoor kunnen de resultaten worden geconsumeerd voordat de peiling is voltooid.
fouten
Eventuele fouten die worden veroorzaakt door taken die binnen de poll worden uitgevoerd, worden weergegeven in het kenmerk voor errors
de poll.
Staten
De status van een peiling geeft alleen aan of de peiling wacht op initialisatie (in pending
), aan de gang is ( processing
) of dat alle taken zijn voltooid ( completed
).
Een peiling geeft geen enkele foutstatus weer, behalve via de bijbehorende taken.
Laadvermogen
De payload van de enquête geeft aan welke soorten informatie, gegevenstypen en bestanden moeten werken om op te halen. Het schema met de kenmerken van de poll-payload wordt hieronder beschreven.
naam | type | Beschrijving |
---|---|---|
info_types |
list of info_type objects |
Specifies which info types should be retrieved. Supports wildcard * . |
data_types |
list of data_type objects |
Specifies which data types should be retrieved. |
files |
list of file IDs. |
Specifies which files to retrieve. |
filters |
nested filters object |
Specifies which filters to apply to retrieved data. |
De poll-payload om alle soorten informatie over een iCloud-accountbron op te halen zou bijvoorbeeld zijn:
{ "info_types": ["*"] }
Een verscheidenheid aan berichtgegevens ophalen uit een iCloud-back-up of Reincubate Relay-bron, maar alleen vanaf een bepaalde datum:
{ "data_types": ["ios_messages.messages", "whatsapp.messages", "viber.messages"], "filters": { "since": "2019-09-15T22:04:12Z", "until": "2021-06-02T12:00:00Z" } }
Bestandsgegevens ophalen voor afbeeldingen waarnaar wordt verwezen in een iCloud-fotobibliotheekresultaat:
{ "files": ["icpl://xyz123", "icpl://abc321"] }
De verschillende attributen kunnen ook tegelijkertijd worden gebruikt:
{ "info_types": ["*"], "data_types": ["ios_phone.calls"] }
Filters
Filters allow the client to reduce the amount of data returned to only that which is likely to be of interest. For example, you might filter a poll for SMS data to only the last month of data.
name | type | description |
---|---|---|
since |
optional datetime | Filter to only data that was created after this datetime. |
until |
optional datetime | Filter to only data that was created before this datetime. |
Filters in subscription poll payloads
When using subscriptions to generate regular polls, any filters set in the poll payload will only be used on the initial poll of the subscription. Thereafter, the API will do the following:
- Any value for
until
is ignored as to avoid simply re-polling the same interval repeatedly - If
until
was set, the next poll will fetch data from that point in time forward - If
until
was not set, the next poll will fetch data from the time of the initial poll forward (i.e. the API will poll progressively as normal)
Maak POST /polls
Maak een peiling voor gegevens tegen een specifieke sessie.
De source
parameter mag alleen worden gebruikt wanneer gericht op een kind bron van primaire bron van de sessie. Indien bijvoorbeeld het ophalen van gegevens uit een rirelay.source
de source
parameter moet de ID van die bron.
naam | type | Beschrijving |
---|---|---|
key |
optional, key ID | Optionally override the key used for this poll. This is useful when letting users trial new functionality. |
source |
optional, source ID | Optionally target a child source of the session-linked source. |
session |
session ID | The session to be used to authenticate data retrieval. |
subscription |
subscription ID | The subscription to use to perform the poll. If this is provided, source and session can be omitted. |
payload |
nested poll payload | The poll payload used to specify poll |
CURL gebruiken
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": ["*"] } }'
Ricloud-py gebruiken
import ricloud poll_payload = { 'info_types': ['*'], } poll = ricloud.Poll.create( session='<session ID or ricloud.Session instance>', payload=poll_payload, )
Voorbeeldantwoord
{ "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 }
Ophalen GET /polls/{poll ID}
CURL gebruiken
curl https://ricloud-api.reincubate.com/polls/<poll ID> \ -H 'Authorization: Token <your key_token>'
Ricloud-py gebruiken
import ricloud poll = ricloud.Poll.retrieve(<poll ID>)
Lijst GET /polls
naam | type | Beschrijving |
---|---|---|
key |
key ID | Filter by associated key. This is the key used by the user at the time. |
user |
user ID | Filter by associated user. |
source |
source ID | Filter by the target source. |
session |
session ID | Filter by the target session. |
subscription |
subscription ID | Filter by the associated subscription. |
state |
string | Filter by session state. |
date_created |
datetime filter | Filter by when the resource was created. |
date_started |
datetime filter | Filter by when the poll started. |
date_completed |
datetime filter | Filter by when the poll was finished. |
CURL gebruiken
curl https://ricloud-api.reincubate.com/polls \ -H 'Authorization: Token <your key_token>'
Ricloud-py gebruiken
import ricloud polls = ricloud.Poll.list()
Changelog
2022-07-08
- Support for the
until
filter in poll payloads was added for SMS extraction. This complements thesince
filter to allow clients to specify an exact datetime range to retrieve data from.
05-05-2020
- Het kenmerk
errors
is toegevoegd aan het poll-object. Dit is een genest lijstobject dat foutobjecten bevat die aan de peiling zijn gekoppeld.
2020-02-20
- Belangrijk : Het
results
van het poll-object is nu een genest lijstobject, in plaats van een eenvoudig lijstkenmerk. Dit maakt het mogelijk om resultaten te pagineren wanneer een poll een groot aantal resultaten publiceert.
16-10-2019
- Voegt het
subscription
toe aan het poll-object om aan te geven of de poll is geactiveerd door een abonnement.
01-06-2019
- Het kenmerk
payload
poll-object kan nu worden samengesteld uit meerdere bewerkingstypen. Dit betekent dat er een poll kan worden gemaakt met een of alleinfo-types
,data-types
enfiles
in de payload. - Major Het
type
attribuut op het poll-object is verouderd ten gunste van samen te stellen poll-payloads.