コンテンツにスキップ

セッショントークン

セッショントークンは、ゲームまたはストリームの1回のプレイを許可する使い捨てトークンです。各トークンが1回のみ消費されることを保証し、不正利用を防ぎます。

セッショントークンは以下の状態を経ます:

active → consumed (ユーザーがゲームをプレイ)
→ expired (トークンの有効期限切れ)
→ revoked (手動で無効化)

APIキーを使用してサーバーからセッション作成エンドポイントを呼び出します:

Terminal window
curl -X POST https://app.dailyplay.ai/api/org-api-keys?action=create-session \
-H "Content-Type: application/json" \
-H "x-api-key: dpk_YOUR_API_KEY" \
-d '{
"game_id": 42,
"external_ref": "user-12345",
"metadata": { "campaign": "summer-promo" },
"expires_in_minutes": 60
}'
パラメーター必須説明
game_idnumbergame_idまたはstream_idのどちらかアクセスを許可するゲーム
stream_idnumbergame_idまたはstream_idのどちらかアクセスを許可するストリーム
external_refstringいいえ追跡用の参照ID(例:ユーザーID、注文ID)
metadataobjectいいえ追跡用の任意のJSONデータ
expires_in_minutesnumberいいえトークンの有効期限(分)(デフォルト:1440 = 24時間)
{
"success": true,
"data": {
"token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"stream_id": null,
"game_id": 42,
"expires_at": "2026-02-17T12:00:00.000Z",
"external_ref": "user-12345"
}
}

ステップ2:ユーザーのリダイレクト

Section titled “ステップ2:ユーザーのリダイレクト”

セッショントークン付きのURLを構築し、エンドユーザーをリダイレクトします:

https://app.dailyplay.ai/play/game/42?session_token=a1b2c3d4-e5f6-7890-abcd-ef1234567890

ストリームの場合:

https://app.dailyplay.ai/play/stream/10?session_token=a1b2c3d4-e5f6-7890-abcd-ef1234567890

プレイを許可する前に、トークンがまだアクティブで期限切れでないことを検証します:

Terminal window
curl https://app.dailyplay.ai/api/org-api-keys?action=validate-session&token=a1b2c3d4-e5f6-7890-abcd-ef1234567890
{
"success": true,
"data": {
"valid": true,
"status": "active",
"stream_id": null,
"game_id": 42,
"expires_at": "2026-02-17T12:00:00.000Z",
"external_ref": "user-12345",
"metadata": { "campaign": "summer-promo" }
}
}

ユーザーがプレイを開始すると、トークンは消費され再利用不可になります:

Terminal window
curl -X POST https://app.dailyplay.ai/api/org-api-keys?action=consume-session \
-H "Content-Type: application/json" \
-d '{
"token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"player_uuid": "player-uuid-here"
}'
{
"success": true,
"data": {
"session_id": 1,
"org_id": 5,
"stream_id": null,
"game_id": 42,
"external_ref": "user-12345",
"metadata": { "campaign": "summer-promo" }
}
}

トークンが既に使用されている、または期限切れの場合、APIは410 Goneステータスを返します:

{
"success": false,
"error": "Session is invalid, already consumed, or expired"
}
プロパティ説明
tokenUUID v4識別子 — ゲームURLに渡される
stream_id / game_idターゲットリソース(少なくとも1つ必須)
external_refあなたのシステムとの相関用の参照ID
metadata作成時に添付された任意のJSONペイロード
status現在の状態:activeconsumedexpired、またはrevoked
expires_atトークンが自動的に期限切れになる日時
  • expires_in_minutesが指定されない場合、トークンのデフォルト有効期限は24時間
  • 期限切れトークンはバックグラウンドプロセスで自動クリーンアップ
  • 時間に敏感なユースケースでは最短1分の有効期限を設定可能
ステータスコード意味
200トークンが有効/操作成功
400パラメーターの欠落または無効
401無効または取り消されたAPIキー
403APIキーがリクエストされたリソースにアクセス不可
410トークンは既に消費済みまたは期限切れ
429レート制限超過