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 | Booleaans | Als u deze optie instelt op 'true', worden bijlagen niet opgezocht en gepubliceerd. Dit geldt ook voor bestanden uit foto- of videofeeds. |
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 datum/tijd 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 betrekking hebben op de telefoonnummers in deze lijst. |
exclude_phone_numbers | optionele array | Filter alleen op gegevens die geen betrekking hebben op telefoonnummers in deze lijst. |
email_addresses | optionele array | Filter alleen op gegevens die gerelateerd zijn aan de e-mailadressen in deze lijst. |
exclude_email_addresses | optionele array | Filter alleen op gegevens die geen betrekking hebben op 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
untilwordt genegeerd om te voorkomen dat hetzelfde interval herhaaldelijk opnieuw wordt opgevraagd - Als
untilis ingesteld, worden bij de volgende peiling gegevens vanaf dat tijdstip opgehaald - Als
untilniet 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.
Uitsluitingsfilters, zoals exclude_phone_numbers en exclude_email_addresses , doen het tegenovergestelde: ze verwijderen alle gegevens die betrekking hebben op de opgegeven waarden. Als zowel inclusie- als uitsluitingsfilters zijn opgegeven en een item op beide van toepassing is, dan heeft het uitsluitingsfilter voorrang. Een groepsgesprek met bijvoorbeeld een contactpersoon met een toegestaan e-mailadres en een andere contactpersoon met een uitgesloten telefoonnummer, wordt dan uit de gegevens gefilterd.
Velduitsluitingsfilters
Het exclude werkt op veldniveau in plaats van op itemniveau: in plaats van hele gegevensitems te verwijderen, worden de benoemde velden uit elk geëxtraheerd item weggelaten. We raden aan dit te doen in filters die specifiek zijn voor een bepaald gegevenstype, in plaats van in algemene filters, om te voorkomen dat per ongeluk velden van andere gegevenstypen worden verwijderd.
{
"data_types": [{
"data_type: ""ios_contacts.contacts",
"filters": {
"exclude": ["photo"]
}
}],
}
Dit zou contactgegevens retourneren zonder contactfoto's.
Het exclude wordt momenteel alleen ondersteund door het gegevenstype ios_contacts.contacts , en het enige veld dat kan worden uitgesloten is photo . Onbekende waarden worden genegeerd.
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
}
POST /polls/{poll ID}/resume
Hervat een pollingproces door alle opgeschorte taken opnieuw te verzenden en mislukte bestandstaken opnieuw uit te voeren. Dit kan worden gebruikt om een herbeoordeling van aangevraagde bestanden door Relay-app-instanties te activeren, of om bestandstaken opnieuw uit te voeren die mogelijk zijn mislukt vanwege een tijdelijk probleem.
| naam | type | Beschrijving |
|---|---|---|
skip_missing | optionele boolean, standaardwaarde false | Indien ingesteld op true , zal de poll doorgaan met de verwerking totdat alle beschikbare gegevens en bestandsresultaten zijn gepubliceerd, waarbij ontbrekende resultaten worden overgeslagen. |
retry_files | optionele boolean, standaardwaarde true | Indien ingesteld op true , worden alle mislukte taken voor het publiceren van bestanden opnieuw geprobeerd. |
CURL gebruiken
curl https://ricloud-api.reincubate.com/polls/<poll ID>/resume \
-X POST \
-H 'Authorization: Token <your key_token>' \
-H 'Content-Type: application/json' \
-d '{}'
Om verder te gaan met specifieke opties:
curl https://ricloud-api.reincubate.com/polls/<poll ID>/resume \
-X POST \
-H 'Authorization: Token <your key_token>' \
-H 'Content-Type: application/json' \
-d '{
"skip_missing": true,
"retry_files": false
}'
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
2026-06-04
- Voeg ondersteuning toe voor het
excludein poll-payloads. Hiermee kunnen benoemde uitvoervelden worden weggelaten uit de geëxtraheerde gegevensitems. Momenteel wordt dit alleen ondersteund door het gegevenstypeios_contacts.contacts, voor hetphoto.
2026-03-06
- Voeg
POST /polls/{poll ID}/resumeeindpunt toe voor het hervatten van opgeschorte taken en het opnieuw uitvoeren van mislukte bestandstaken. Mislukte bestandstaken worden standaard opnieuw uitgevoerd.
2024-12-09
- Voeg ondersteuning toe voor het uitsluiten van gegevens met betrekking tot specifieke contact-e-mailadressen en telefoonnummers via de poll-payloadparameters
exclude_phone_numbersenexclude_emails.
28-11-2023
- Voeg ondersteuning toe voor het filteren van gegevens met behulp van contact-e-mailadressen en telefoonnummers via de payloadparameters
phone_numbersenemailspoll.
08-07-2022
- Ondersteuning voor het
untilfilter in poll-payloads is toegevoegd voor sms-extractie. Dit is een aanvulling op hetsincefilter, zodat clients een exact datum-tijdbereik kunnen opgeven waaruit gegevens moeten worden opgehaald.
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.