民意调查

更新
Cover image for: 民意调查

轮询资源包含有关特定数据请求的信息。创建轮询后,它将触发创建一个或多个任务以完成请求。

属性

名称类型描述
id 民意调查ID 资源标识符。
resource 字符串,总是poll 资源类型说明符。
organisation 组织ID 与此资源关联的组织。
key 密钥ID 与此资源关联的密钥。
user 用户身份与此资源关联的用户。
source 来源ID 民意调查所针对的来源。这可以是会话源的子源。
session 会话ID 民意调查正在使用的会话。
subscription 可选的订阅ID 关联的订阅对象ID(如果适用)。
tasks_pending 任务ID列表与正在等待处理的轮询相关联的任务。
tasks_processing 任务ID列表与正在处理的轮询相关联的任务。
tasks_succeeded 任务ID列表与轮询相关的任务已成功完成。
tasks_failed 任务ID列表与轮询相关的任务已失败。
tasks_suspended 任务ID列表与轮询关联的任务被挂起。
results 列出包含结果对象的对象轮询任务生成的结果对象列表。
errors 列出包含错误对象的对象轮询任务生成的错误对象列表。
state 其中之一: pendingprocessingcompleted
date_created 约会时间资源创建时。
date_started 可选的日期时间当民意调查开始时。
date_completed 可选的日期时间投票处理结束时。

任务

轮询资源的最重要作用是反映其相关任务的进度,并允许最终用户在这些结果可用后立即开始从中获取结果。因此,轮询资源公开了与任务相关的属性,其中,根据任务的状态对相关任务进行了分类。

结果

轮询中运行的任务发布的任何结果都将显示在轮询的results属性中。这样可以在调查完成之前消耗结果。

错误

在轮询中运行的任务引起的任何错误将显示在轮询的errors属性中。

状态

轮询状态仅反映轮询是等待初始化( pending ),正在进行( processing )还是所有任务已完成执行( completed )。

除了通过其关联任务之外,轮询不会反映任何错误状态。

有效载荷

轮询有效负载指示应检索哪些类型的信息,数据类型和文件。轮询有效载荷属性架构如下所述。

名称类型描述
info_types info_type对象列表指定应检索的信息类型。支持通配符*
data_types data_type对象列表指定应检索的数据类型。
files file ID列表。 指定要检索的文件。
filters 嵌套filters对象指定要应用于检索到的数据的过滤器。

例如,用于检索iCloud帐户源上所有类型的信息的轮询有效载荷将是:

{
  "info_types": ["*"]
}

要从iCloud备份或重新孵化中继源中检索各种消息传递数据,但仅从特定日期开始:

{
  "data_types": ["ios_messages.messages", "whatsapp.messages", "viber.messages"],
  "filters": {
    "since": "2019-09-15T22:04:12Z"
  }
}

要检索iCloud照片库结果中引用的图像的文件数据,请执行以下操作:

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

不同的属性也可以同时使用:

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

创建POST /polls

针对特定会话创建针对数据的轮询。

仅当将会话的主要来源的子来源作为目标时,才应使用source参数。例如,如果从rirelay.source检索数据,则source参数应为该源的ID。

名称类型描述
key 可选的密钥ID (可选)覆盖用于此轮询的密钥。这在让用户试用新功能时非常有用。
source 可选,源ID (可选)定位会话链接源的子源。
session 会话ID 用于验证数据检索的会话。
subscription 订阅编号用于执行轮询的订阅。如果提供此选项,则可以省略sourcesession
payload 嵌套轮询有效负载用于指定轮询的轮询有效负载

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

使用ricloud-py

import ricloud

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

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

样品回复

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

检索GET /polls/{poll ID}

使用cURL

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

使用ricloud-py

import ricloud

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

列出GET /polls

名称类型描述
key 密钥ID 按关联键过滤。这是用户当时使用的密钥。
user 用户身份按关联用户过滤。
source 来源ID 按目标来源过滤。
session 会话ID 按目标会话过滤。
subscription 订阅编号按关联的订阅进行过滤。
state 按会话状态过滤。
date_created 日期时间过滤器在创建资源时过滤。
date_started 日期时间过滤器轮询开始时的过滤条件。
date_completed 日期时间过滤器在轮询完成时过滤。

使用cURL

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

使用ricloud-py

import ricloud

polls = ricloud.Poll.list()

变更日志

2020-05-05

  • errors属性已添加到轮询对象。这是一个嵌套列表对象,其中包含与轮询相关的错误对象。

2020-02-20

  • Major :轮询对象的results属性现在是嵌套列表对象,而不是简单的列表属性。当民意调查发布大量结果时,可以对结果进行分页。

2019-10-16

  • subscription属性添加到轮询对象,以指示轮询是否由订阅触发。

2019-06-01

  • 轮询对象payload属性现在可以由多种操作类型组成。这意味着可以使用有效负载中的任何或所有info-typesdata-typesfiles来创建轮询。
  • Major不建议使用poll对象的type属性,而建议使用可组合的poll有效负载。

我们能帮你什么吗?

我们的支持团队在这里提供帮助!

我们的办公时间是格林威治标准时间周一至周五上午9点至下午5点。 时间目前是 4:46 AM的 GMT。

我们力争在一个工作日内答复所有垂询。

转到支持部分 › 联系企业团队 ›
我们的支持团队非常棒

© 2008 - 2020 Reincubate Ltd. 保留所有权利。 在英格兰和威尔士注册 #5189175, VAT GB151788978. Reincubate®是注册商标。 隐私政策 & 条款. 我们推荐多因素认证。 在伦敦建立了爱情。