記事


レート制限の識別


App Store Server API エンドポイントに適用されるレート制限を認識し、あなたのコード内で処理します。





概観


App Store Server API は、指定された期間内に各エンドポイントに送信できる要求の数を制限します。要求の制限はアプリごとに適用されます。


以下の表は、製品の環境の各エンドポイントのレート制限を 1 秒あたりの要求数で示したものです。制限は 1 時間ごとに適用されます。


エンドポイント1秒あたりのレート制限
取引情報の取得50
取引履歴を取得する50
取引履歴の取得 v150
全サブスクリプション状況の取得50
Send Consumption Information (消費情報を送信)50
Get Notification History (通知履歴の取得)50
Extend a Subscription Renewal Date
(サブスクリプション更新日の延長)
20
Look Up Order ID (注文 ID の検索)10
Get Refund History (払い戻し履歴の取得)10
Get Refund History V1 (払い戻し履歴の取得 v1)10
Extend Subscription Renewal Dates for All Active Subscribers (アクティブな全加入者のサブスクリプション更新日を延長する)1
Request a Test Notification (テスト通知の要求)1
Get Test Notification Status (テスト通知状況の取得)1

サンドボックス環境でのレート制限は、上記の表の制限の 10% です。


App Store サーバは、必要に応じていつでもこれらのレート制限を増減する調整を行う場合があります。



レート制限の超過を適切に処理


1 時間あたりの制限を超えると、API は HTTP 429 応答で要求を拒否し、本文に RateLimitExceededError を含めます。API を統合するときは、以下の点を考慮してください。


  • API を定期的に呼び出す場合は、エンドポイントの 1 時間あたりの制限を超えないように要求を制限します。

  • エラー処理プロセスで HTTP 429 RateLimitExceededError を管理します。たとえば、失敗をログに記録し、後で再度処理するためにジョブをキューに入れます。

  • HTTP 429 エラーを受け取った場合は、Retry-After ヘッダを確認してください。このヘッダには、次に要求を送信できるタイミングを通知する UNIX 時間 (ミリ秒単位) が含まれています。




  • 以下も見よ


    要点


    App Store サーバー ライブラリを使用して実装を簡素化する

    Apple のオープンソースライブラリを使用して JSON Web Token (JWT) を作成し、あなたの呼び出しの承認、取引の検証、領収書からの取引 ID の抽出などを行います。


    API 要求を承認するため API キーの作成

    JSON Web トークンに署名し、API 要求を承認するために使用する API キーを作成します。


    API 要求用の JSON Web トークンの生成

    あなたの秘密鍵 (private key) で署名された JSON Web トークンを作成し、App Store サーバ API および外部購入サーバー API への要求を承認します。


    App Store サーバ API の変更履歴

    App Store Server API の新機能と更新について説明します。














    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ