Les sondages

Mis à jour

Une ressource d'interrogation contient des informations sur une demande spécifique de données. Une fois qu'un sondage est créé, il déclenchera la création d'une ou plusieurs tâches afin de compléter la demande.

Les attributs

Nom taper la description
id identifiant du sondage Identificateur de ressource.
resource chaîne, toujours poll Spécificateur de type de ressource.
organisation identifiant de l'organisation Organisation associée à cette ressource.
key identifiant de clé Clé associée à cette ressource.
user ID de l'utilisateur Utilisateur associé à cette ressource.
source identifiant de la source La source ciblée par le sondage. Il peut s'agir d'une source enfant de la source de la session.
session ID de session La session utilisée par le sondage.
subscription identifiant d'abonnement facultatif L'ID de l'objet d'abonnement associé, le cas échéant.
tasks_pending liste des ID de tâches Tâches associées à l'interrogation en attente de traitement.
tasks_processing liste des ID de tâches Tâches associées au sondage en cours de traitement.
tasks_succeeded liste des ID de tâches Les tâches associées au sondage qui ont réussi.
tasks_failed liste des ID de tâches Tâches associées au sondage qui ont échoué.
tasks_suspended liste des ID de tâches Tâches associées au sondage qui sont suspendues.
results objet de liste contenant des objets de résultat Liste des objets de résultat générés par les tâches du sondage.
errors liste d'objets contenant des objets d'erreur Liste des objets d'erreur générés par les tâches du sondage.
state chaîne L'un des éléments suivants : pending , processing , completed .
date_created dateheure Date de création de la ressource.
date_started date/heure facultative Lorsque le traitement du sondage a commencé.
date_completed date/heure facultative Une fois le traitement du sondage terminé.

Tâches

Le rôle le plus important de la ressource de sondage est de refléter la progression des tâches associées et de permettre à l'utilisateur final de commencer à extraire les résultats de ces tâches dès qu'ils sont disponibles. Par conséquent, la ressource d'interrogation expose les attributs liés aux tâches dans lesquels les tâches associées sont classées en fonction de leur état.

Résultats

Tous les résultats publiés par des tâches exécutées dans le sondage sont indiqués dans l'attribut results du sondage. Cela permet de consommer les résultats avant la fin du sondage.

les erreurs

Toutes les erreurs soulevées par les tâches exécutées dans le sondage apparaîtront dans l'attribut d' errors du sondage.

États

L'état d'une interrogation indique uniquement si l'interrogation est en attente d'initialisation (en pending ), en cours de processing ( processing ) ou si toutes les tâches ont été exécutées ( completed ).

Une interrogation ne reflète aucun état d'erreur autre que par ses tâches associées.

Charge utile

La charge utile d'interrogation indique les types d'informations, les types de données et les fichiers à récupérer. Le schéma d'attribut d'interrogation de la charge utile est décrit ci-dessous.

Nom taper la description
info_types liste des objets info_type Spécifie quels types d'informations doivent être récupérés. Prend en charge le caractère générique * .
data_types liste des objets data_type Spécifie quels types de données doivent être récupérés.
files liste des identifiants file . Spécifie les fichiers à récupérer.
filters objet filters imbriqués Spécifie les filtres à appliquer aux données récupérées.
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.

Par exemple, le payload d'interrogation permettant de récupérer tous les types d'informations sur une source de compte iCloud serait:

{
  "info_types": ["*"]
}

Pour récupérer diverses données de messagerie à partir d'une source de sauvegarde iCloud ou Reincubate Relay, mais uniquement à partir d'une date donnée:

{
  "data_types": ["ios_messages.messages", "whatsapp.messages", "viber.messages"],
  "filters": {
    "since": "2019-09-15T22:04:12Z",
    "until": "2021-06-02T12:00:00Z"
  }
}

Pour récupérer les données de fichier pour les images référencées dans un résultat iCloud Photo Library:

{
  "files": ["icpl://xyz123", "icpl://abc321"]
}

Les différents attributs peuvent également être utilisés simultanément:

{
  "info_types": ["*"],
  "data_types": ["ios_phone.calls"]
}

Filtres

Les filtres permettent au client de réduire la quantité de données renvoyées uniquement à celles susceptibles de l'intéresser. Par exemple, vous pouvez filtrer un sondage pour les données SMS uniquement sur le dernier mois de données.

nom taper description
since date/heure facultative Filtrez uniquement les données créées après cette date/heure.
until date/heure facultative Filtrer uniquement les données créées avant cette date/heure.
phone_numbers tableau facultatif Filtrez uniquement les données liées aux numéros de téléphone de cette liste.
email_addresses tableau facultatif Filtrez uniquement les données liées aux adresses e-mail de cette liste.

Filtres dans les charges utiles des sondages d'abonnement

Lorsque vous utilisez des abonnements pour générer des sondages réguliers, tous les filtres définis dans la charge utile du sondage ne seront utilisés que lors du sondage initial de l'abonnement. Par la suite, l'API effectuera les opérations suivantes :

  • Toute valeur pour until soit ignorée afin d'éviter de simplement réinterroger le même intervalle à plusieurs reprises
  • Si until a été défini, le prochain sondage récupérera les données à partir de ce moment dans le temps.
  • Si until n'a pas été défini, l'interrogation suivante récupérera les données à partir de l'heure de l'interrogation initiale (c'est-à-dire que l'API interrogera progressivement comme d'habitude)

Filtres au niveau des données

Les filtres au niveau des données, tels que phone_numbers et email_addresses , sont utiles pour réduire les données traitées aux seuls éléments qui vous concernent. Il s'agit de filtres d'inclusion qui suppriment tous les éléments de données qui ne correspondent pas ou ne sont pas liés à un autre élément correspondant à l'une des valeurs de la liste du filtre. Prenons par exemple la charge utile ci-dessous :

{
  "data_types": ["ios_messages.messages"],
  "filters": {
    "phone_numbers": ["0123456789"],
    "email_addresses": ["test@example.com"]
  }
}

Cela renverrait tous les messages des messages iOS liés à une conversation impliquant le numéro de téléphone ou l'adresse e-mail spécifié, y compris les conversations de groupe. Il peut être utile de spécifier plusieurs valeurs sur lesquelles filtrer, car de nombreux contacts auront une combinaison de numéros de téléphone et de comptes identifiés par e-mail, tels que les comptes iCloud de Messages.

Notez que pour les numéros de téléphone, tous les caractères spéciaux sont ignorés lors de la comparaison du filtre, par exemple (415) 555‑0132 est équivalent à 4155550132 , et des sous-chaînes peuvent également être utilisées, par exemple 4155550132 correspondra à (415) 555‑0132 et +1 (415) 555‑0132 . En règle générale, l'utilisation d'une valeur de filtre légèrement moins spécifique (en évitant les indicatifs d'appel internationaux, par exemple) produira des résultats plus cohérents.

Créer un POST /polls

Créez un sondage pour les données d'une session spécifique.

Le paramètre source ne doit être utilisé que lorsque vous ciblez une source enfant de la source principale de la session. Par exemple, si la récupération de données à partir d'un rirelay.source le paramètre source doit être l'ID de cette source.

Nom taper la description
key en option, ID de clé Remplacez éventuellement la clé utilisée pour ce sondage. Ceci est utile pour permettre aux utilisateurs de tester de nouvelles fonctionnalités.
source facultatif, ID source Ciblez éventuellement une source enfant de la source liée à la session.
session ID de session Session à utiliser pour authentifier la récupération de données.
subscription identifiant d'abonnement L'abonnement à utiliser pour effectuer le sondage. Si cela est fourni, source et session peuvent être omises.
payload charge utile du sondage imbriqué La charge utile du sondage utilisée pour spécifier le sondage

Utiliser 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": ["*"]
  }
}'

Utiliser ricloud-py

import ricloud

poll_payload = {
  'info_types': ['*'],
}

poll = ricloud.Poll.create(
  session='<session ID or ricloud.Session instance>',
  payload=poll_payload,
)

Exemple de réponse

{
  "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
}

Récupérer GET /polls/{poll ID}

Utiliser cURL

curl https://ricloud-api.reincubate.com/polls/<poll ID> \
  -H 'Authorization: Token <your key_token>'

Utiliser ricloud-py

import ricloud

poll = ricloud.Poll.retrieve(<poll ID>)

Liste GET /polls

Nom taper la description
key identifiant de clé Filtrer par clé associée. Il s'agit de la clé utilisée par l'utilisateur à ce moment-là.
user ID de l'utilisateur Filtrer par utilisateur associé.
source identifiant de la source Filtrer par la source cible.
session ID de session Filtrer par session cible.
subscription identifiant d'abonnement Filtrer par l'abonnement associé.
state chaîne Filtrer par état de session.
date_created filtre date/heure Filtrer par date de création de la ressource.
date_started filtre date/heure Filtrer par date de début du sondage.
date_completed filtre date/heure Filtrer par date de fin du sondage.

Utiliser cURL

curl https://ricloud-api.reincubate.com/polls \
  -H 'Authorization: Token <your key_token>'

Utiliser ricloud-py

import ricloud

polls = ricloud.Poll.list()

Changelog

2023-11-28

  • La prise en charge des filtres email_addresses et phone_numbers a été ajoutée, ce qui permet de récupérer des données relatives uniquement à des contacts spécifiques.

2022-07-08

  • La prise en charge du filtre until dans les charges utiles de sondage a été ajoutée pour l'extraction de SMS. Cela complète le filtre since pour permettre aux clients de spécifier une plage date/heure exacte à partir de laquelle récupérer les données.

2020-05-05

  • L'attribut d' errors été ajouté à l'objet d'interrogation. Il s'agit d'un objet de liste imbriqué contenant des objets d'erreur associés au sondage.

2020-02-20

  • Major : l'attribut results de l'objet poll est désormais un objet liste imbriqué, plutôt qu'un simple attribut list. Cela permet de paginer les résultats lorsqu'un sondage publie un grand nombre de résultats.

2019-10-16

  • Ajoute l'attribut d' subscription à l'objet d'interrogation pour indiquer si l'interrogation a été déclenchée par un abonnement.

2019-06-01

  • L'attribut de payload objet d'interrogation peut désormais être composé de plusieurs types d'opérations. Cela signifie qu'un sondage peut être créé avec tout ou partie des info-types d' info-types data-types et des files dans la charge utile.
  • Majeur L'attribut type sur l'objet d'interrogation est déconseillé au profit des charges utiles d'interrogation composables.

Comment pouvons nous aider?

Notre équipe de support est là pour vous aider!

Nos bureaux sont ouverts du lundi au vendredi, de 9 h à 17 h GMT. L’heure est actuellement 1:27 Après-midi GMT.

Notre objectif est de répondre à tous les messages en un jour ouvrable.

Notre superbe équipe de support

© 2008 - 2024 Reincubate Ltd. Tous droits réservés. Enregistré en Angleterre et au Pays de Galles #5189175, VAT GB151788978. Reincubate® et Camo® sont des marques déposées. Politique de confidentialité & termes.