サブスクリプション
サブスクリプションオブジェクトは、「24時間ごとに新しいCallKit呼び出しを取得する」や「新しいバックアップが作成されたときにReincubate Relayソースから最新のiOSメッセージを取得する」など、継続的なデータ要求を表します。
異なるサービスは、わずかに異なる方法でサブスクリプションを実装できます。 iCloudサービスは定期的なポーリングメカニズムで動作し、設定された時間間隔ごとに新しいデータをチェックします。 rirelayサービスはプッシュメカニズムで動作し、新しいデータが利用可能になるとすぐに公開します。
属性
名 | タイプ | 説明 |
---|---|---|
id | ひも | リソース識別子 |
resource | 文字列、常にsubscription | リソースタイプ識別子。 |
org | 組織ID | サブスクリプションの関連組織。 |
source | ソースID | |
session | セッションID | |
poll_payload | ネストされたポーリングペイロード | サブスクリプションによって作成されるポーリングのペイロード。 ポーリングペイロードを参照してください。 |
interval | オプションのtimedelta | ポーリング間隔(秒単位)。 |
date_start | オプションの日時 | 投票の作成を開始する日付。 |
date_end | オプションの日時 | 投票の作成を停止する日付。 |
state | ひも | pending 、 active 、 deleted 。 |
date_created | 日付時刻 | リソースが作成されたとき |
間隔
interval
属性は、APIがソースから新しいデータを取得または要求する頻度を制御します。
プルベースのiCloudサービスでは、サブスクリプションはinterval
秒ごとに新しいポーリングを作成します。
Reincubate Relayサービスでは、 interval
属性は代わりにRelayアプリに渡されます。これは、アプリが接続されたデバイスから新しいデータをリクエストする頻度を設定し、プッシュメカニズムを介してAPIのポーリングをトリガーします。サブスクリプションのソースに関連付けられているデバイスがRelayアプリに接続されるまで、ポーリングは作成されません。
POST /subscriptions
作成します
名 | タイプ | 説明 |
---|---|---|
session | セッションID | ポーリングを作成するセッション。 |
source | オプション、ソースID | オプションで、セッションにリンクされたソースの子ソースをターゲットにします。 |
poll_payload | ネストされたポーリングペイロード | ポーリングの指定に使用されるポーリングペイロード |
interval | オプションのtimedelta | ポーリング間隔(秒単位)。 |
date_start | オプションの日時 | 投票の作成を開始する日付。 |
date_end | オプションの日時 | 投票の作成を停止する日付。 |
cURLを使う
curl https://ricloud-api.reincubate.com/subscriptions \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "session": "<session ID>", "source": "<source ID>", "poll_payload": { "data_types": ["ios_messages.messages", "whatsapp.messages"] } }'
ricloud-pyを使う
import ricloud poll_payload = { "data_types": ["ios_messages.messages", "whatsapp.messages"], } subscription = ricloud.Subscription.create( session="<session ID or ricloud.Session instance>", source="<source ID or ricloud.Source instance>", poll_payload=poll_payload, )
GET /subscriptions/{subscription ID}
取得しGET /subscriptions/{subscription ID}
cURLを使う
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -H 'Authorization: Token <your key_token>'
ricloud-pyを使う
import ricloud subscription = ricloud.Subscription.retrieve(<subscription ID>)
GET /subscriptions
リスト
cURLを使う
curl https://ricloud-api.reincubate.com/subscriptions \ -H 'Authorization: Token <your key_token>'
ricloud-pyを使う
import ricloud subscriptions = ricloud.Subscription.list()
POST /subscriptions/{subscription ID}
更新します
サブスクリプションを更新して、作成するポーリングを、いつ作成するかを変更できます。
また、サブスクリプションのセッションが期限切れになった場合、新しく作成されたアクティブなセッションに置き換えることができます。
名 | タイプ | 説明 |
---|---|---|
session | セッションID | ポーリングを作成するセッション。サブスクリプションの元のセッションと同じソースを持っている必要があります。 |
poll_payload | ネストされたポーリングペイロード | ポーリングの指定に使用されるポーリングペイロード。 |
interval | オプションのtimedelta | ポーリング間隔(秒単位)。 |
date_start | オプションの日時 | 投票の作成を開始する日付。 |
date_end | オプションの日時 | 投票の作成を停止する日付。 |
cURLを使う
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "session": "<session ID>", "poll_payload": { "data_types": ["icpl.photos"] } }'
ricloud-pyを使う
import ricloud poll_payload = { "data_types": ["icpl.photos"], } subscription = ricloud.Subscription.update( session="<session ID or ricloud.Session instance>", poll_payload=poll_payload, )
DELETE /subscriptions/{subscription ID}
削除しDELETE /subscriptions/{subscription ID}
サブスクリプションがそれ以上のポーリングを作成しないようにします。
cURLを使う
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -X DELETE \ -H 'Authorization: Token <your key_token>'
ricloud-pyを使う
import ricloud subscription = ricloud.Subscription.delete_with_id(<subscription ID>) # OR subscription = ricloud.Subscription.retrieve(<subscription ID>) subscription.delete()