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 | Omschrijving |
|---|---|---|
id | poll ID | Bron-ID. |
resource | string, altijd poll | Specificatie middelenbron. |
organisation | organisatie ID | De organisatie die aan deze resource is gekoppeld. |
key | sleutel ID | De sleutel die aan deze resource is gekoppeld. |
user | gebruikersnaam | De gebruiker die aan deze resource is gekoppeld. |
source | bron ID | De bron die de poll target. Dit kan een onderliggende bron van de bron van de sessie zijn. |
session | sessie-ID | De sessie die de peiling gebruikt. |
subscription | optioneel abonnement ID | De bijbehorende abonnement-object-ID, indien van toepassing. |
tasks_pending | lijst met taak-ID's | De taken die aan de peiling zijn gekoppeld en wachten op verwerking. |
tasks_processing | lijst met taak-ID's | De taken die zijn gekoppeld aan de peiling die wordt verwerkt. |
tasks_succeeded | lijst met taak-ID's | De taken die zijn gekoppeld aan de peiling die zijn geslaagd. |
tasks_failed | lijst met taak-ID's | De taken die zijn gekoppeld aan de peiling die zijn mislukt. |
tasks_suspended | lijst met taak-ID's | De taken die zijn gekoppeld aan de enquête die zijn opgeschort. |
results | lijstobject met resultaatobjecten | Lijst met resultaatobjecten die zijn gegenereerd door de taken van de peiling. |
errors | lijstobject met foutobjecten | Lijst met foutobjecten die zijn gegenereerd door de taken van de poll. |
state | draad | Eén van: in pending , processing , completed . |
date_created | datum Tijd | Wanneer de resource is gemaakt. |
date_started | optionele datetime | Toen de verwerking van de enquête begon. |
date_completed | optionele datetime | Wanneer de verwerking van de peiling is voltooid. |
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 | Omschrijving |
|---|---|---|
info_types | lijst met info_type objecten | Geeft aan welke infotypen moeten worden opgehaald. Ondersteunt wildcard * . |
data_types | lijst met data_type objecten | Geeft aan welke gegevenstypen moeten worden opgehaald. |
files | lijst met file ID's. | Geeft aan welke bestanden moeten worden opgehaald. |
filters | genest filters object | Geeft aan welke filters moeten worden toegepast op opgehaalde gegevens. |
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" } }
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"] }
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 | Omschrijving |
|---|---|---|
key | optioneel, sleutel ID | Overschrijf optioneel de toets die voor deze peiling is gebruikt. Dit is handig wanneer gebruikers nieuwe functionaliteit laten testen. |
source | optioneel, bron-ID | Optioneel een onderliggende bron van de sessie-gekoppelde bron targeten. |
session | sessie-ID | De sessie die moet worden gebruikt voor het verifiëren van het ophalen van gegevens. |
subscription | abonnements-ID | Het abonnement dat moet worden gebruikt om de peiling uit te voeren. Als dit is opgegeven, kunnen source en session worden weggelaten. |
payload | geneste poll-payload | De payload van de poll die wordt gebruikt om de poll te specificeren |
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 | Omschrijving |
|---|---|---|
key | sleutel ID | Filteren op bijbehorende sleutel. Dit is de sleutel die de gebruiker op dat moment gebruikte. |
user | gebruikersnaam | Filter op geassocieerde gebruiker. |
source | bron ID | Filteren op de doelbron. |
session | sessie-ID | Filteren op de doelsessie. |
subscription | abonnement ID | Filteren op het bijbehorende abonnement. |
state | draad | Filteren op sessiestatus. |
date_created | datetime filter | Filteren op wanneer de bron is gemaakt. |
date_started | datetime filter | Filteren op wanneer de peiling is gestart. |
date_completed | datetime filter | Filteren op wanneer de peiling is voltooid. |
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
05-05-2020
- Het kenmerk
errorsis toegevoegd aan het poll-object. Dit is een genest lijstobject dat foutobjecten bevat die aan de peiling zijn gekoppeld.
2020-02-20
- Belangrijk : Het
resultsvan 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
subscriptiontoe aan het poll-object om aan te geven of de poll is geactiveerd door een abonnement.
01-06-2019
- Het kenmerk
payloadpoll-object kan nu worden samengesteld uit meerdere bewerkingstypen. Dit betekent dat er een poll kan worden gemaakt met een of alleinfo-types,data-typesenfilesin de payload. - Major Het
typeattribuut op het poll-object is verouderd ten gunste van samen te stellen poll-payloads.