世論調査
ポーリングリソースには、データに対する特定の要求に関する情報が含まれています。ポーリングが作成されると、リクエストを完了するために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 |
boolean | If set to true the poll will skip looking up and publishing attachments files, which includes any assets from photos or video feeds. |
たとえば、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 | オプションの配列 | このリスト内の電話番号に関連するデータのみにフィルターをかけます。 |
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 アカウントなどの電子メールで識別されるアカウントが混在しているため、フィルタリングする複数の値を指定すると便利です。
電話番号の場合、フィルタ比較の際に特殊文字は無視されることに注意してください。たとえば、 (415) 555‑0132
4155550132
と同等であり、部分文字列も使用できます。たとえば、 4155550132
(415) 555‑0132
と一致し、 +1 (415) 555‑0132
。通常、国際電話コードを避けるなど、少し具体性の低いフィルター値を使用すると、より一貫した結果が得られます。
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 }
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()
変更ログ
2023-11-28
email_addresses
フィルターとphone_numbers
フィルターのサポートが追加され、特定の連絡先にのみ関連するデータを取得できるようになりました。
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
属性は非推奨になりました。