世論調査
ポーリングリソースには、データに対する特定の要求に関する情報が含まれています。ポーリングが作成されると、リクエストを完了するために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オブジェクト | 取得したデータに適用するフィルターを指定します。 |
たとえば、iCloudアカウントソースのすべてのタイプの情報を取得するためのポーリングペイロードは次のようになります。
{ "info_types": ["*"] }
特定の日付からのみ、iCloudバックアップまたはReincubate Relayソースからさまざまなメッセージングデータを取得するには:
{ "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 | サブスクリプション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()
変更ログ
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属性は非推奨になりました。