Pesquisas

Atualizada

Um recurso de pesquisa contém informações sobre uma solicitação específica de dados. Depois que uma pesquisa é criada, ela acionará a criação de uma ou mais tarefas para concluir a solicitação.

Atributos

nome modelo Descrição
id ID da enquete Identificador de recursos.
resource string, sempre poll Especificador de tipo de recurso.
organisation ID da organização A organização associada a este recurso.
key ID da chave A chave associada a este recurso.
user ID do usuário O usuário associado a este recurso.
source ID de origem A fonte que a enquete tem como alvo. Esta pode ser uma fonte filha da origem da sessão.
session identificação de sessão A sessão que a enquete está usando.
subscription ID de assinatura opcional O ID do objeto de assinatura associado, se aplicável.
tasks_pending lista de IDs de tarefas As tarefas associadas à sondagem que estão aguardando processamento.
tasks_processing lista de IDs de tarefas As tarefas associadas à sondagem que estão sendo processadas.
tasks_succeeded lista de IDs de tarefas As tarefas associadas à enquete que foram bem-sucedidas.
tasks_failed lista de IDs de tarefas As tarefas associadas à sondagem que falharam.
tasks_suspended lista de IDs de tarefas As tarefas associadas à sondagem que estão suspensas.
results objeto de lista contendo objetos de resultado Lista de objetos de resultado gerados pelas tarefas da enquete.
errors objeto de lista contendo objetos de erro Lista de objetos de erro gerados pelas tarefas da enquete.
state corda Um dos seguintes: pending , processing , completed .
date_created data hora Quando o recurso foi criado.
date_started data e hora opcional Quando o processamento da enquete começou.
date_completed data e hora opcional Quando o processamento da enquete for concluído.

Tarefas

O papel mais importante do recurso de pesquisa é refletir o progresso de suas tarefas associadas e permitir que o usuário final comece a buscar resultados a partir deles assim que estiverem disponíveis. Portanto, o recurso de pesquisa expõe atributos relacionados à tarefa em que as tarefas associadas são categorizadas por seu estado.

Resultados

Quaisquer resultados publicados por tarefas executadas na enquete são apresentados no atributo de results da enquete. Isso permite o consumo de resultados antes que a pesquisa seja concluída.

Erros

Quaisquer erros gerados por tarefas em execução na enquete aparecerão no atributo de errors da enquete.

Estados

O estado de uma pesquisa reflete apenas se a pesquisa está aguardando a inicialização ( pending ), está em andamento ( processing ) ou se todas as tarefas terminaram a execução ( completed ).

Uma enquete não reflete nenhum estado de erro além das tarefas associadas.

Carga útil

A carga útil da pesquisa indica quais tipos de informações, tipos de dados e arquivos devem ser recuperados. O esquema do atributo de carga útil da pesquisa é descrito abaixo.

nome modelo Descrição
info_types lista de objetos info_type Especifica quais tipos de informações devem ser recuperados. Suporta curinga * .
data_types lista de objetos data_type Especifica quais tipos de dados devem ser recuperados.
files lista de IDs file . Especifica quais arquivos serão recuperados.
filters objeto filters aninhados Especifica quais filtros serão aplicados aos dados recuperados.
skip_files booleano Se definido como verdadeiro, a enquete pulará a busca e a publicação de arquivos anexos, o que inclui quaisquer ativos de fotos ou feeds de vídeo.

Por exemplo, a carga útil da pesquisa para recuperar todos os tipos de informações em uma fonte de conta do iCloud seria:

{
  "info_types": ["*"]
}

Para recuperar uma variedade de dados de mensagens de uma fonte de backup ou Reincubate Relay do iCloud, mas apenas a partir de uma certa data:

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

Para recuperar dados de arquivo para imagens referenciadas em um resultado da Biblioteca de Fotos do iCloud:

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

Os diferentes atributos também podem ser usados simultaneamente:

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

Filtros

Os filtros permitem que o cliente reduza a quantidade de dados retornados apenas para aqueles que provavelmente serão de interesse. Por exemplo, você pode filtrar uma pesquisa de dados de SMS apenas para o último mês de dados.

nome modelo Descrição
since data e hora opcional Filtrar apenas os dados que foram criados após essa data e hora.
until data e hora opcional Filtrar apenas os dados que foram criados antes desta data e hora.
phone_numbers matriz opcional Filtrar apenas dados relacionados a números de telefone nesta lista.
exclude_phone_numbers matriz opcional Filtrar apenas dados que não estejam relacionados aos números de telefone nesta lista.
email_addresses matriz opcional Filtre apenas os dados relacionados aos endereços de e-mail nesta lista.
exclude_email_addresses matriz opcional Filtre apenas os dados que não estão relacionados aos endereços de e-mail nesta lista.

Filtros em cargas de pesquisa de assinatura

Ao utilizar subscrições para gerar sondagens regulares, quaisquer filtros definidos na carga útil da sondagem só serão utilizados na sondagem inicial da subscrição. Depois disso, a API fará o seguinte:

  • Qualquer valor para until é ignorado para evitar simplesmente pesquisar novamente o mesmo intervalo repetidamente
  • Se until foi definido, a próxima pesquisa irá buscar dados daquele momento em diante
  • Se until não tiver sido definido, a próxima pesquisa buscará dados a partir do momento da pesquisa inicial (ou seja, a API pesquisará progressivamente normalmente)

Filtros em nível de dados

Filtros em nível de dados, como phone_numbers e email_addresses , são úteis para reduzir os dados processados apenas aos itens que são relevantes para você. Eles incluem filtros que descartam quaisquer itens de dados que não correspondam ou não estejam relacionados a outro item que corresponda a um dos valores na lista do filtro. Veja a carga útil abaixo, por exemplo:

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

Isso retornaria todas as mensagens do Mensagens do iOS relacionadas a uma conversa envolvendo o número de telefone ou endereço de e-mail especificado, incluindo quaisquer conversas em grupo. Pode ser útil especificar vários valores para filtrar, pois muitos contatos terão uma mistura de números de telefone e contas identificadas por e-mail, como as contas iCloud do Mensagens.

Exclusion-based filters, like exclude_phone_numbers and exclude_email_addresses, do the opposite: removing any data that relates to the values provided. If both inclusion- and exclusion-based filters are provided, and an item relates to both, then the exclusion-based filter wins. For example, a group conversation that contains one contact with an included email address but also another contact with an excluded phone number will get filtered out of the data.

Criar POST /polls

Crie uma pesquisa de dados em uma sessão específica.

O parâmetro source deve ser usado apenas ao direcionar uma fonte filha da fonte primária da sessão. Por exemplo, se recuperar dados de um rirelay.source o parâmetro source deve ser o ID dessa fonte.

nome modelo Descrição
key opcional, ID da chave Opcionalmente, substitua a chave usada para esta enquete. Isso é útil ao permitir que os usuários testem novas funcionalidades.
source opcional, ID de origem Opcionalmente, direcione uma origem filha da origem vinculada à sessão.
session identificação de sessão A sessão a ser usada para autenticar a recuperação de dados.
subscription ID de Inscrição A assinatura a ser usada para realizar a pesquisa. Se isso for fornecido, source e session poderão ser omitidas.
payload carga útil da pesquisa aninhada A carga útil da pesquisa usada para especificar a pesquisa

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

Usando ricloud-py

import ricloud

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

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

Resposta da amostra

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

Recuperar GET /polls/{poll ID}

Usando cURL

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

Usando ricloud-py

import ricloud

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

Listar GET /polls

nome modelo Descrição
key ID da chave Filtre por chave associada. Esta é a chave usada pelo usuário no momento.
user ID do usuário Filtrar por usuário associado.
source ID de origem Filtre pela origem de destino.
session identificação de sessão Filtre pela sessão de destino.
subscription ID de Inscrição Filtre pela assinatura associada.
state corda Filtre por estado da sessão.
date_created filtro de data e hora Filtre por quando o recurso foi criado.
date_started filtro de data e hora Filtre por quando a enquete começou.
date_completed filtro de data e hora Filtre por quando a enquete foi concluída.

Usando cURL

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

Usando ricloud-py

import ricloud

polls = ricloud.Poll.list()

Changelog

2024-12-09

  • Adicione suporte para excluir dados relacionados a endereços de e-mail e números de telefone de contato específicos, por meio dos parâmetros de carga útil da pesquisa exclude_phone_numbers e exclude_emails .

2023-11-28

  • Adicione suporte para filtragem de dados usando endereços de e-mail e números de telefone de contato por meio dos parâmetros de carga útil da pesquisa phone_numbers e emails .

08/07/2022

  • Suporte para o filtro until em cargas de pesquisa foi adicionado para extração de SMS. Isso complementa o filtro since para permitir que os clientes especifiquem um intervalo de data e hora exato do qual recuperar dados.

05/05 2020

  • O atributo de errors foi adicionado ao objeto de pesquisa. Este é um objeto de lista aninhada que contém objetos de erro associados à pesquisa.

2020-02-20

  • Principal : O atributo de results do objeto de pesquisa agora é um objeto de lista aninhada, em vez de um simples atributo de lista. Isso possibilita a paginação dos resultados quando uma pesquisa publica um grande número de resultados.

2019-10-16

  • Adiciona o atributo de subscription ao objeto de pesquisa para indicar se a pesquisa foi acionada por uma assinatura.

01/06/2019

  • O atributo de payload objeto de pesquisa agora pode ser composto de vários tipos de operação. Isso significa que uma pesquisa pode ser criada com qualquer um ou todos info-types de info-types data-types e files na carga útil.
  • Principal O atributo type no objeto de pesquisa foi preterido em favor de cargas úteis de pesquisa composíveis.

Como podemos ajudar?

Nossa equipe de suporte está aqui para ajudar!

Nosso horário de atendimento é de segunda a sexta, das 9h às 17h GMT. A hora é atualmente 4:34 PM GMT.

Nosso objetivo é responder a todas as mensagens dentro de um dia útil.

Nossa equipe de suporte incrível

© 2008 - 2024 Reincubate Ltd. Todos os direitos reservados. Registrado na Inglaterra e no País de Gales #5189175, VAT GB151788978. Reincubate® e Camo® são marcas registradas. Política de Privacidade & termos.