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-ID. |
resource | string, altijd poll | Specificatie van het resourcetype. |
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 bron is gekoppeld. |
source | bron-ID | De bron waarop de enquête zich richt. Dit kan een onderliggende bron van de bron van de sessie zijn. |
session | sessie-ID | De sessie die de enquête gebruikt. |
subscription | optionele abonnements-ID | De bijbehorende abonnementsobject-ID, indien van toepassing. |
tasks_pending | lijst met taak-ID's | De taken die aan de peiling zijn gekoppeld en die wachten op verwerking. |
tasks_processing | lijst met taak-ID's | De taken die aan de peiling zijn gekoppeld en die worden verwerkt. |
tasks_succeeded | lijst met taak-ID's | De taken die aan de peiling zijn gekoppeld en die zijn geslaagd. |
tasks_failed | lijst met taak-ID's | De taken die aan de peiling zijn gekoppeld en die zijn mislukt. |
tasks_suspended | lijst met taak-ID's | De taken die aan de peiling zijn gekoppeld en die zijn opgeschort. |
results | lijstobject dat resultaatobjecten bevat | Lijst met resultaatobjecten die zijn gegenereerd door de taken van de peiling. |
errors | lijstobject dat foutobjecten bevat | Lijst met foutobjecten die zijn gegenereerd door de taken van de peiling. |
state | snaar | Een van: pending , processing , completed . |
date_created | datum Tijd | Wanneer de bron is gemaakt. |
date_started | optionele datum/tijd | Toen de verwerking van de enquête begon. |
date_completed | optionele datum/tijd | Wanneer de verwerking van de enquête 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 | Beschrijving |
---|---|---|
info_types | lijst met info_type objecten | Specificeert welke informatietypen moeten worden opgehaald. Ondersteunt jokertekens * . |
data_types | lijst met data_type objecten | Specificeert welke gegevenstypen moeten worden opgehaald. |
files | lijst met file ID's. | Specificeert welke bestanden moeten worden opgehaald. |
filters | genest filters | Specificeert welke filters moeten worden toegepast op opgehaalde gegevens. |
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. |
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
Met filters kan de klant de hoeveelheid geretourneerde gegevens beperken tot alleen de gegevens die waarschijnlijk van belang zijn. U kunt bijvoorbeeld een peiling voor sms-gegevens filteren op alleen de gegevens van de afgelopen maand.
naam | type | beschrijving |
---|---|---|
since | optionele datum/tijd | Filter alleen op gegevens die na deze datetime zijn gemaakt. |
until | optionele datum/tijd | Filter alleen op gegevens die vóór deze datum/tijd zijn gemaakt. |
phone_numbers | optionele array | Filter alleen op gegevens die gerelateerd zijn aan telefoonnummers in deze lijst. |
email_addresses | optionele array | Filter alleen op gegevens die gerelateerd zijn aan de e-mailadressen in deze lijst. |
Filters in de payloads van abonnementspeilingen
Wanneer u abonnementen gebruikt om regelmatige peilingen te genereren, worden eventuele filters die in de poll-payload zijn ingesteld alleen gebruikt bij de eerste peiling van het abonnement. Daarna zal de API het volgende doen:
- Elke waarde voor
until
wordt genegeerd om te voorkomen dat hetzelfde interval herhaaldelijk opnieuw wordt opgevraagd - Als
until
is ingesteld, worden bij de volgende peiling gegevens vanaf dat tijdstip opgehaald - Als
until
niet is ingesteld, worden bij de volgende peiling gegevens opgehaald vanaf het moment van de eerste peiling (dat wil zeggen dat de API zoals normaal progressief peilt)
Filters op gegevensniveau
Filters op gegevensniveau, zoals phone_numbers
en email_addresses
, zijn handig om de verwerkte gegevens terug te brengen tot alleen de items die voor u relevant zijn. Dit zijn onder meer filters die alle gegevensitems verwijderen die niet overeenkomen met of betrekking hebben op een ander item dat overeenkomt met een van de waarden in de filterlijst. Neem bijvoorbeeld de onderstaande lading:
{ "data_types": ["ios_messages.messages"], "filters": { "phone_numbers": ["0123456789"], "email_addresses": ["test@example.com"] } }
Hiermee worden alle berichten uit iOS-berichten geretourneerd die betrekking hebben op een gesprek waarbij het opgegeven telefoonnummer of e-mailadres betrokken is, inclusief eventuele groepsgesprekken. Het kan handig zijn om meerdere waarden op te geven waarop u wilt filteren, omdat veel contacten een combinatie van telefoonnummers en e-mailgeïdentificeerde accounts zullen hebben, zoals de iCloud-accounts van Berichten.
Houd er rekening mee dat voor telefoonnummers alle speciale tekens worden genegeerd wanneer de filtervergelijking wordt gemaakt, bijvoorbeeld (415) 555‑0132
is gelijk aan 4155550132
en er kunnen ook subtekenreeksen worden gebruikt, bijvoorbeeld 4155550132
komt overeen met (415) 555‑0132
en +1 (415) 555‑0132
. Normaal gesproken zal het gebruik van een iets minder specifieke filterwaarde – door bijvoorbeeld internationale belcodes te vermijden – consistentere resultaten opleveren.
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 | optioneel, sleutel-ID | Overschrijf optioneel de sleutel die voor deze peiling wordt gebruikt. Dit is handig als u gebruikers nieuwe functionaliteit wilt laten uitproberen. |
source | optioneel, bron-ID | Target optioneel een onderliggende bron van de sessiegekoppelde bron. |
session | sessie-ID | De sessie die moet worden gebruikt om het ophalen van gegevens te verifiëren. |
subscription | abonnements-ID | Het abonnement dat moet worden gebruikt om de peiling uit te voeren. Als dit wordt verstrekt, kunnen source en session worden weggelaten. |
payload | geneste poll-payload | De poll-payload die wordt gebruikt om de poll op te geven |
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 | sleutel-ID | Filter op bijbehorende sleutel. Dit is de sleutel die de gebruiker op dat moment gebruikt. |
user | gebruikersnaam | Filter op geassocieerde gebruiker. |
source | bron-ID | Filter op de doelbron. |
session | sessie-ID | Filter op de doelsessie. |
subscription | abonnements-ID | Filter op het bijbehorende abonnement. |
state | snaar | Filter op sessiestatus. |
date_created | datum/tijd-filter | Filter op wanneer de resource is gemaakt. |
date_started | datum/tijd-filter | Filter op wanneer de enquête is gestart. |
date_completed | datum/tijd-filter | Filter op wanneer de enquête is afgelopen. |
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
28-11-2023
- Ondersteuning voor de filters
email_addresses
enphone_numbers
is toegevoegd, waardoor gegevens kunnen worden opgehaald die alleen betrekking hebben op specifieke contacten.
08-07-2022
- Ondersteuning voor het
until
filter in poll-payloads is toegevoegd voor sms-extractie. Dit is een aanvulling op hetsince
filter, zodat clients een exact datum-tijdbereik kunnen opgeven waaruit gegevens moeten worden opgehaald.
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.