記事


App Store サーバ API の変更履歴


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





概観


この変更ログを使用して、App Store Server API の機能の更新、廃止、削除について学習します。



1.15 - 2025年2月21日


新機能


  • JWSRenewalInfoDecodedPayloadJWSTransactionDecodedPayload を更新し、新しい appTransactionId フィールドと offerPeriod フィールドを追加しました。

  • JWSRenewalInfoDecodedPayload を更新して、appAccountToken フィールドを含めました。

  • AppTransactionIdNotSupportedError エラーオブジェクトを追加しました。


  • 1.14 - 2025年1月17日


  • Advanced Commerce API のサポートを追加しました。


  • 1.13 - 2024年7月8日


    新機能


  • JWSRenewalInfoDecodedPayload を更新し、新しい eligibleWinBackOfferIds フィールドを追加しました。

  • offerType に win-back オファー (再獲得提供) 型を追加しました。


  • 1.12 - 2024年6月10日


    新機能


  • 終了状態の消耗品のアプリ内購入を含む、すべてのアプリ内購入の取引履歴を提供するエンドポイント Get Transaction History (取引履歴を取得する) を追加しました。

  • JWSRenewalInfoDecodedPayload に、renewalPricecurrencyofferDiscountType の各フィールドを追加しました。

  •   廃止  


  • Get Transaction History V1 エンドポイントは廃止されました。代わりに新しい Get Transaction History (取引履歴を取得する) エンドポイントを使用してください。


  • 1.11 - 2024年4月11日


    新機能


  • ConsumptionRequest 要求本文に、refundPreference フィールドを追加しました。

  • 自動更新サブスクリプションの情報を受信するためのサポートに、消費情報の送信 (Send Consumption Information) が、追加されました。

  • InvalidTransactionTypeNotSupportedError エラーオブジェクトが追加されました。

  •   廃止  


    システムは InvalidTransactionNotConsumableError エラーオブジェクトをもはや送信しなくなりました。代わりに InvalidTransactionTypeNotSupportedError を使用します。



    1.10.1 - 2024年3月12日


    price フィールドの型が int32 から int64 に変更されました。



    サーバ更新 - 2024年2月29日


    新機能


  • 通知履歴の取得 (Get Notification History) エンドポイントは、報告されていない外部購入トークンの新しい通知タイプのサポートを追加します。

  • 1.10 - 2023年10月26日


    新機能


  • 復号された取引ペイロード JWSTransactionDecodedPayload に、pricecurrencyofferDiscountType という新しいプロパティが追加されました。


  • 1.9 - 2023年9月27日


    新機能


  • 消費情報送信 (Send Consumption Information) エンドポイントのエラー形式を他のエンドポイントと一致するように更新しました。エンドポイントは、エラーコードを含むことができる JSON 本文を返すようになりました。

  • 消費情報送信 エンドポイントの新しいエラー コードには、InvalidAccountTenureErrorInvalidAppAccountTokenErrorInvalidConsumptionStatusErrorInvalidCustomerConsentedErrorInvalidDeliveryStatusErrorInvalidLifetimeDollarsPurchasedErrorInvalidLifetimeDollarsRefundedErrorInvalidPlatformErrorInvalidPlayTimeErrorInvalidSampleContentProvidedErrorInvalidTransactionNotConsumableErrorInvalidUserStatusError が含まれます。


  • 1.8 - 2023年6月5日


    新機能


  • 単一の取引に関する情報を提供する、レスポンス TransactionInfoResponse を持つ新しいエンドポイント Get Transaction Info (取引情報の取得) を追加しました。

  • Get Notification History エンドポイントに、新しいフィルターパラメータ onlyFailures が追加されました。これを true に設定すると、エンドポイントは開発者のサーバに到達できなかった通知のみを返します。

  • 以下のエンドポイントのパスパラメータが、originalTransactionId から transactionId に変更されました: Get All Subscription StatusesGet Transaction History V1Get Refund HistorySend Consumption Information。これらのエンドポイントは、元の取引 ID を含むすべての取引 ID を受け入れるようになりました。

  • Get Notification History エンドポイントは、NotificationHistoryRequest 本体に元の取引 ID (originalTransactionId) を要求する代わりに、transactionId を受け入れるようになりました。


  • Get Transaction History V1 エンドポイントは、取り消された取引のみ、または取り消されていない取引のみを返すように応答をフィルタリングする新しいフィルターパラメータ revoked を追加します。

  • Get All Subscription Statuses エンドポイントに新しいフィルターパラメータ status が追加され、あなたが指定した status 値でサブスクリプションを要求できるようになりました。

  • storefrontstorefrontIdtransactionReason フィールドが JWSTransactionDecodedPayload オブジェクトに追加されました。

  • JWSRenewalInfoDecodedPayload オブジェクトに、renewalDate フィールドを追加しました。

  • CheckTestNotificationResponseNotificationHistoryResponsenotificationHistoryResponseItemsendAttempts フィールドを追加し、App Store Server Notifications のすべての送信試行に関する情報を提供しました。

  • エラーコード FamilySharedSubscriptionExtensionIneligibleErrorStatusRequestNotFoundErrorInvalidStatusErrorInvalidRevokedErrorInvalidTransactionIdErrorTransactionIdNotFoundError、および RateLimitExceededError を追加しました。

  • すべてのエンドポイントはレート制限の対象であり、HTTP 429 エラーコードとともに RateLimitExceededError を返すことができます。詳細については、レート制限の識別 を参照してください。

  •   廃止  


  • Get Transaction History V1excludeRevoked フィルターは廃止されました。代わりに新しい revoked フィルターを使用してください。

  • CheckTestNotificationResponse および notificationHistoryResponseItem オブジェクトでは firstSendAttemptResult フィールドは廃止されました。代わりに sendAttempts 配列内の最初の sendAttemptItem を使用してください。


  • 1.7 - 2023年1月30日


    新機能


  • 新しいエンドポイント すべてのアクティブな加入者のサブスクリプション更新日を延長 は、サブスクリプション製品 ID を受け取り、すべての対象加入者の更新日を延長します。これは、 MassExtendRenewalDateResponse で応答します。詳細については、自動更新サブスクリプションの更新日を延長 (Extending the renewal date for auto-renewable subscriptions) を参照してください。このエンドポイントに関連する新しい App Store サーバー通知の詳細については、App Store サーバー通知の変更ログ を参照してください。

  • 新しいエンドポイント サブスクリプション更新日延長のステータスの取得 は、サブスクリプション更新日延長のステータスを確認し、MassExtendRenewalDateStatusResponse で応答します。


  • 1.6 - 2022年8月8日


    新機能


  • 新しいバージョン 2 エンドポイント Get Refund History は、RefundHistoryResponse で払い戻しされた取引のページ区切りリストを返します。

  •   廃止  


  • エンドポイント Get Refund History V1 とその応答 RefundLookupResponse は廃止されました。

  • firstSendAttemptResult では、SSL_ISSUE 値が廃止され、TLS_ISSUE に置き換えられました。


  • 1.5 - 2022年6月6日


    新機能


  • API には、あなたのサーバが App Store サーバ通知を受信する方法をテストするための 2 つの新しいエンドポイントができました。エンドポイントは、テスト通知の要求テスト通知ステータスの取得 です。

  • API には、新しい 通知履歴の取得 (Get Notification History) エンドポイントを追加しました。

  • Get Transaction History V1 エンドポイントは、フィルタリング機能と並べ替え機能をサポートする新しいパラメータで強化されました。

  • JWSRenewalInfoDecodedPayload には、recentSubscriptionStartDate フィールドが含まれるようになりました。


  • 1.4


    このバージョンには公開される変更は含まれていません。



    1.3


    このバージョンには公開される変更は含まれていません。



    サーバ更新 - 2022年3月17日


    削除


  • JWSDecodedHeader オブジェクトには、kid フィールドが含まれなくなりました。


  • 1.2 - 2022年2月24日


    新機能


  • JWSTransactionDecodedPayload オブジェクトと JWSRenewalInfoDecodedPayload オブジェクトに environment フィールドが含まれるようになりました。


  • サーバ更新 - 2022年2月23日


  • Get Refund History V1 エンドポイントは、最大 50 件の払い戻し済み取引を返すようになりました。


  • 1.1 - 2021年10月21日


    新機能


  • API は、注文 ID の検索払い戻し履歴 の取得 V1サブスクリプション更新日の延長 という 3 つのエンドポイントを追加します。


  • サーバ更新 - 2021年9月20日


  • 以下の基本 URL を使用して、API を製品環境で利用できるようになりました。

  • https://api.storekit.itunes.apple.com/inApps/


    1.0b1 - 2021年6月7日


    App Store サーバー API の最初のバージョン。


    新機能


  • この API には、サンドボックス環境で使用できる 3 つのエンドポイント (取引履歴の取得消費情報の送信すべてのサブスクリプションステータスの取得) があります。




  • 以下も見よ


    要点


    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 Server API エンドポイントに適用されるレート制限を認識し、あなたのコード内で処理します。














    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ