世論調査
ポーリングリソースには、データに対する特定の要求に関する情報が含まれています。ポーリングが作成されると、リクエストを完了するために1つ以上のタスクの作成がトリガーされます。
属性
| 名前 | タイプ | 説明 |
|---|---|---|
id | 投票ID | リソース識別子。 |
resource | 文字列、常にpoll | リソースタイプ指定子。 |
organisation | 組織ID | このリソースに関連付けられている組織。 |
key | キーID | このリソースに関連付けられたキー。 |
user | ユーザーID | このリソースに関連付けられたユーザー。 |
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 | 弦 | 次のいずれか: pending 、 processing 、 completed 。 |
date_created | 日付時刻 | リソースが作成されたとき。 |
date_started | オプションの日時 | 投票の処理が開始されたとき。 |
date_completed | オプションの日時 | 投票の処理が完了したとき。 |
タスク
ポーリングリソースの最も重要な役割は、関連するタスクの進行状況を反映し、エンドユーザーが結果が利用可能になり次第、結果を取得できるようにすることです。したがって、ポーリングリソースは、タスクに関連する属性を公開します。関連するタスクは、その状態によって分類されます。
結果
投票内で実行されているタスクによって発行された結果は、投票のresults属性に表示されます。これにより、投票が完了する前に結果を利用できます。
エラー
投票内で実行されているタスクによって発生したエラーは、投票のerrors属性に表示されます。
州
ポーリングの状態は、ポーリングが初期化を待っている( pending )、進行中( processing )、またはすべてのタスクが実行を終了した( completed )のいずれかを反映するだけです。
投票は、それに関連したタスク以外のエラー状態を反映しません。
ペイロード
ポーリングペイロードは、取得する必要がある情報の種類、データ型、およびファイルを示します。ポーリングペイロード属性スキーマについては、以下で説明します。
| 名前 | タイプ | 説明 |
|---|---|---|
info_types | info_typeオブジェクトのリスト | どの情報タイプを取得するかを指定します。ワイルドカード*をサポートします。 |
data_types | data_typeオブジェクトのリスト | どのデータ型を取得するかを指定します。 |
files | file IDのリスト。 | 取得するファイルを指定します。 |
filters | ネストされたfiltersオブジェクト | 取得したデータに適用するフィルターを指定します。 |
skip_files | ブール値 | true に設定すると、アンケートでは、写真やビデオ フィードからのアセットを含む添付ファイルの検索と公開がスキップされます。 |
たとえば、iCloudアカウントソースのすべてのタイプの情報を取得するためのポーリングペイロードは次のようになります。
{
"info_types": ["*"]
}
特定の日付からのみ、iCloudバックアップまたはReincubate Relayソースからさまざまなメッセージングデータを取得するには:
{
"data_types": ["ios_messages.messages", "whatsapp.messages", "viber.messages"],
"filters": {
"since": "2019-09-15T22:04:12Z",
"until": "2021-06-02T12:00:00Z"
}
}
iCloudフォトライブラリの結果で参照される画像のファイルデータを取得するには:
{
"files": ["icpl://xyz123", "icpl://abc321"]
}
異なる属性を同時に使用することもできます。
{
"info_types": ["*"],
"data_types": ["ios_phone.calls"]
}
フィルター
フィルターを使用すると、クライアントは返されるデータの量を、関心があると思われるデータのみに減らすことができます。たとえば、SMS データのポーリングをフィルターして、先月のデータのみに絞り込むことができます。
| 名前 | タイプ | 説明 |
|---|---|---|
since | オプションの日時 | この日時以降に作成されたデータのみをフィルタリングします。 |
until | オプションの日時 | この日時より前に作成されたデータのみをフィルタリングします。 |
phone_numbers | オプションの配列 | このリスト内の電話番号に関連するデータのみにフィルタリングします。 |
exclude_phone_numbers | オプションの配列 | このリスト内の電話番号に関連しないデータのみをフィルタリングします。 |
email_addresses | オプションの配列 | このリスト内の電子メール アドレスに関連するデータのみにフィルターします。 |
exclude_email_addresses | オプションの配列 | このリスト内の電子メール アドレスに関連しないデータのみにフィルターします。 |
サブスクリプション ポーリング ペイロードのフィルター
サブスクリプションを使用して定期的なポーリングを生成する場合、ポーリング ペイロードに設定されたフィルターは、サブスクリプションの最初のポーリングでのみ使用されます。その後、API は次のことを行います。
- 同じ間隔を繰り返し再ポーリングすることを避けるため、
untilの値はすべて無視されます。 -
untilが設定されている場合、次のポーリングではその時点以降のデータが取得されます。 -
untilが設定されていない場合、次のポーリングでは最初のポーリング転送の時点からデータがフェッチされます (つまり、API は通常どおり段階的にポーリングします)。
データレベルのフィルター
phone_numbersやemail_addressesなどのデータ レベルのフィルターは、処理されたデータを自分に関連する項目のみに絞り込むのに役立ちます。これらは、フィルターのリスト内の値の 1 つに一致する別の項目と一致しないデータ項目、またはそれに関連するデータ項目を削除する組み込みフィルターです。たとえば、以下のペイロードを考えてみましょう。
{
"data_types": ["ios_messages.messages"],
"filters": {
"phone_numbers": ["0123456789"],
"email_addresses": ["test@example.com"]
}
}
これにより、グループ会話を含む、指定された電話番号または電子メール アドレスが関与する会話に関連するすべてのメッセージが iOS メッセージから返されます。多くの連絡先には電話番号と、メッセージの iCloud アカウントなどの電子メールで識別されるアカウントが混在しているため、フィルタリングする複数の値を指定すると便利です。
exclude_phone_numbersやexclude_email_addressesのような除外ベースのフィルターは、その逆の処理を行います。つまり、指定された値に関連するデータをすべて削除します。包含ベースのフィルターと除外ベースのフィルターの両方が指定され、ある項目が両方に該当する場合、除外ベースのフィルターが優先されます。例えば、グループ会話にメールアドレスが含まれた連絡先が1つ含まれている一方で、電話番号が除外された別の連絡先も含まれている場合、その会話はデータから除外されます。
POST /polls作成する
特定のセッションに対するデータのポーリングを作成します。
sourceパラメータは、セッションのプライマリソースの子ソースを対象とする場合にのみ使用してください。たとえば、 rirelay.sourceからデータを取得する場合、 sourceパラメータはそのソースのIDである必要があります。
| 名前 | タイプ | 説明 |
|---|---|---|
key | オプション、キーID | 必要に応じて、このポーリングに使用されるキーをオーバーライドします。これは、ユーザーに新しい機能を試用させる場合に便利です。 |
source | オプション、ソースID | オプションで、セッションにリンクされたソースの子ソースをターゲットにします。 |
session | セッションID | データ取得の認証に使用されるセッション。 |
subscription | サブスクリプションID | ポーリングを実行するために使用するサブスクリプション。これを指定すると、 sourceとsessionを省略できます。 |
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
}
再開POST /polls/{poll ID}/resume
Resume a poll by re-dispatching any suspended tasks and retrying failed file tasks. This can be used to trigger re-evaluation of requested files from Relay app instances, or for re-attempting file tasks which may have failed due to a transient issue.
| 名前 | タイプ | 説明 |
|---|---|---|
skip_missing |
optional boolean, default false |
If set to true, the poll will continue processing until all available data and file results have been published, skipping any that are missing. |
retry_files |
optional boolean, default true |
If set to true, any failed file publishing tasks will be retried. |
cURLを使う
curl https://ricloud-api.reincubate.com/polls/<poll ID>/resume \
-X POST \
-H 'Authorization: Token <your key_token>' \
-H 'Content-Type: application/json' \
-d '{}'
特定のオプションで再開するには:
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
}'
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 | ユーザーID | 関連付けられたユーザーでフィルターします。 |
source | ソースID | ターゲットソースでフィルタリングします。 |
session | セッションID | 対象セッションでフィルタリングします。 |
subscription | サブスクリプションID | 関連するサブスクリプションでフィルターします。 |
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()
変更ログ
2026年3月6日
- 中断されたタスクを再開し、失敗したファイルタスクを再試行するための
POST /polls/{poll ID}/resumeエンドポイントを追加しました。失敗したファイルタスクはデフォルトで再試行されます。
2024-12-09
exclude_phone_numbersおよびexclude_emailsポーリング ペイロード パラメータを使用して、特定の連絡先の電子メール アドレスと電話番号に関連するデータを除外するためのサポートを追加します。
2023-11-28
phone_numbersおよびemailsポーリング ペイロード パラメータを介して連絡先の電子メール アドレスと電話番号を使用してデータをフィルタリングするためのサポートを追加します。
2022-07-08
- ポーリング ペイロードの
untilフィルターのサポートが SMS 抽出に追加されました。これは、sinceフィルターを補完し、クライアントがデータを取得する正確な日時範囲を指定できるようにします。
2020-05-05
-
errors属性が投票オブジェクトに追加されました。これは、投票に関連付けられたエラーオブジェクトを含むネストされたリストオブジェクトです。
2020-02-20
- Major :pollオブジェクトの
results属性は、単純なリスト属性ではなく、ネストされたリストオブジェクトになりました。これにより、投票が多数の結果を公開するときに、結果にページ番号を付けることができます。
2019-10-16
-
subscriptionによってポーリングがトリガーされたかどうかを示すために、subscription属性をポーリングオブジェクトに追加します。
2019-06-01
- ポーリングオブジェクトの
payload属性は、複数の操作タイプで構成できるようになりました。これは、ペイロードのinfo-types、data-types、およびfilesまたはすべてを使用してポーリングを作成できることを意味しfiles。 - Major構成可能なポーリングペイロードのために、pollオブジェクトの
type属性は非推奨になりました。