API リファレンスの概要 api-reference-overview
同時視聴数モニタリング APIは、ストリーミングセッションを管理し、同時使用ポリシーを適用するためのRESTful インターフェイスを提供します。 このリファレンスでは、すべてのエンドポイント、認証方法、リクエスト/レスポンス形式、エラー処理に関する完全なドキュメントを提供します。
API ベース URL
本番環境
https://streams.adobeprimetime.com/v2/
ステージング環境
https://streams-stage.adobeprimetime.com/v2/
メモ:開発とテストには常にステージング環境を使用してください。 実稼動資格情報は、ステージング統合が成功した後にのみ提供されます。
認証
すべてのAPI呼び出しには、アプリケーションの資格情報を使用したHTTP Basic認証が必要です。
- ユーザー名:お客様のアプリケーション ID (Adobeから提供)
- パスワード:空の文字列
認証ヘッダーの例
curl -u "<your-app-id>:" https://streams-stage.adobeprimetime.com/v2/sessions
For an application with id "demo-app" the authentication header would be exactly as shown below, including the quotes and colon:
curl -u "demo-app:" https://streams-stage.adobeprimetime.com/v2/sessions
応答形式の標準
成功回答
すべての成功した応答は、次の構造に従います。
{
"status": "success",
"data": {
// Response-specific data
},
"timestamp": "2024-01-15T10:30:00Z"
}
エラー応答
すべてのエラー応答は、次の構造に従います。
{
"associatedAdvice": [
{
"policyName": "string",
"ruleName": "string",
"scope": {},
"attribute": "string",
"threshold": 0,
"conflicts": [
{}
]
}
],
"obligations": [
{
"namespace": "string",
"action": "string",
"arguments": [
"string"
]
}
]
}
評価結果形式
ポリシーが評価される場合(特に409件の競合の場合)、応答には評価結果が含まれます。
{
"evaluationResult": {
"decision": "DENY",
"obligations": [
{
"id": "obligation-id",
"fulfillOn": "DENY",
"attributes": {
"attribute1": "value1"
}
}
],
"associatedAdvice": [
{
"id": "advice-id",
"adviceType": "rule-violation",
"attributes": {
"rule": "rule-name",
"threshold": 3,
"current": 4,
"conflicts": [
{
"sessionId": "session-123",
"terminationCode": "term-456",
"metadata": {
"deviceId": "device-789",
"channel": "Channel1"
}
}
]
}
}
]
}
}
一般的なHTTP ステータスコード
コード
説明
返却時
200
OK
成功したGET リクエスト
202
作成済み/承認済み
セッションの作成/ハートビートが正常に記録されました
400
不正なリクエスト
無効なパラメーターまたは必須フィールドがありません
401
未承認
認証が無効または見つかりません
403
禁止
不十分な権限
404
セッション IDが見つかりません
CM サービスでセッション IDが生成されない
409
対立
ポリシー違反(同時制限に達しました)
410
ゴーン
セッションは期限切れか終了しました
429
リクエストが多すぎます
レート制限を超えました
パラメーター渡しメソッド
パスパラメーター
URL パスの一部である必須パラメーター:
{idp}- ID プロバイダー識別子{subject}- ユーザーID (通常はAdobe Passから){sessionId}- セッション識別子(場所ヘッダーに返されます)
追加パラメーター
オプションのパラメーターは、次のURLで渡されます。
GET /sessions/{idp}/{subject}?platform=test
フォームデータ(POST/PUT)
リクエスト本文のメタデータとセッションデータ:
POST /sessions/{idp}/{subject}
Content-Type: application/x-www-form-urlencoded
channel=Channel1&deviceId=device-123&contentType=live
ヘッダー
HTTP ヘッダーで渡される特殊パラメーター:
X-Terminate: termination-code-123
X-Client-Version: 1.0.0
ベストプラクティスの処理エラー
409紛争処理
409 Conflict responseを受け取った場合:
- 評価結果を解析して、ポリシー違反を把握します
- 競合情報を
associatedAdviceから抽出 - LIFO/FIFO戦略に基づいてユーザーにオプションを提示
- LIFO動作を実装する場合は、終了コードを使用します
410 Gone処理
410 Goneの応答を受け取った場合:
- 応答に本文があるかどうかを確認する - リモート終了を示します
- 解析アドバイスを使用して、セッションが終了した理由を把握します
- セッション終了を反映するためにUIを更新します
- 適切に処理 - セッションが自然にタイムアウトした可能性があります
- 新しいセッションを開始 – 適切な場合は、新しいセッションを開始します
レート制限
429件のリクエストが多すぎる場合:
- 呼び出し頻度を1分あたり最大200 リクエストに制限します。これは、CMが許可する最大レベルです
- 1分に1回の必要な間隔でハートビートを送信します。
テストツール
インタラクティブ API エクスプローラー
Swagger UIを使用してインタラクティブなテストを行います。
- 右上隅にアプリケーション IDを入力します
- 「Explore」をクリックして認証を設定します
- 実際のパラメーターを使用したエンドポイントのテスト
- リクエスト/レスポンスの例の表示
recommendation-more-help
pass-help-concurrency-monitoring