サービス間 Microsoft Store API の詳細なレート制限
Xbox サービスは、きめ細かなレート制限 (FGRL) を実装します。これには、サービス間の呼び出しを通じてコマース シナリオで使用されるコレクションおよびインベントリ エンドポイントが含まれます。 ここで説明されているように、サービスがレート制限とスロットル HTTP 応答コードを処理していることを確認してください。
影響を受けるエンドポイント
次のエンドポイントは、FGRL 制限を適用します。
https://collections.mp.microsoft.com/v9.0/collections/publisherQuery
https://collections.mp.microsoft.com/v8.0/collections/b2bLicensePreview
https://collections.mp.microsoft.com/v8.0/collections/consume
https://purchase.mp.microsoft.com/v8.0/b2b/recurrences/query
https://purchase.mp.microsoft.com/v8.0/b2b/recurrences/{recurrenceId}/change
これらのエンドポイントは、次の GDK API で使用されます。
レート制限
Xbox サービスと同様に、レート制限は、XStore*
クライアント API のユーザー + タイトル ID の組み合わせです:
- {userId;titleId}: 100 操作/300 秒の制限。
ユーザー コンテキストに加えて、コマース エンドポイントには、サービス間の呼び出しのレート制限に使用される PublisherID フラグも含まれます。
- {userId;publisherId}: 200 操作/300 秒の制限。
制限は持続するトラフィックに対してのみ適用され、バースト レート制限は適用されません。
レート制限動作
ライブ サービス コールの既存のレート制限と同様に、レート制限されたコマース コールは HTTP 429 エラーを返します。 このエラーの応答本文には、次の形式の追加情報が含まれます: アスペクト {Z} で {Y} 秒の {X} 操作のレート制限を超えました。
応答ヘッダーには、次の呼び出しがいつ許可されるかを示す 'Retry-After' ヘッダーも含まれます。
レート制限を回避するには、通話パターンを分析して、通話が既存の通話制限をいつ超えるかを判断します。 次に、可能な場合は呼び出しを調整または削減し、Retry-After ヘッダーを尊重するロジックを実装します。