サーバーサイド API の認証とリクエスト形式
認証
API リクエストは、シークレットキーまたはパブリック API キーを Authorization ヘッダーとして使用して認証する必要があります。これらのキーは App Settings で確認できます。値の形式は Api-Key {your-secret-api-key} で、例えば Api-Key secret_live_... のようになります。
API キーはアプリごとに固有です。複数のアプリを持っている場合は、それぞれに異なるキーを使用してください。
リクエスト形式
ヘッダー
サーバーサイド API リクエストには特定のヘッダーと JSON ボディが必要です。以下の詳細を参考にリクエストを構成してください。
| ヘッダー | 説明 |
|---|---|
| adapty-profile-id | ユーザーの Adapty プロファイル ID。Adapty Dashboard -> Profiles -> 特定のプロファイルページの Adapty ID フィールドで確認できます。 adapty-customer-user-id と互換性があり、どちらでも使用できます。 |
| adapty-customer-user-id | あなたのシステムにおけるユーザー ID。Adapty Dashboard -> Profiles -> 特定のプロファイルページの Customer user ID フィールドで確認できます。 adapty-profile-id と互換性があり、どちらでも使用できます。 ⚠️ Adapty SDK を使用してアプリコード内で アプリ内でユーザーを識別する iOS、Android、React Native、Flutter、Unity している場合にのみ機能します。 |
| adapty-platform | (任意)アプリがインストールされているデバイスのプラットフォームを指定します。Installation Meta オブジェクトを変更する Create profile および Update profile リクエストでは、このパラメータを設定することを推奨します。これはユーザーが使用しているデバイスに依存し、1 人のユーザーが複数のデバイスを持つ場合があるためです。指定できる値: iOS、macOS、iPadOS、visionOS、Android、web。 |
| Content-Type | API がリクエストを処理するために application/json に設定してください。 |
ボディ
API はリクエストに必要なデータを含む JSON 形式のボディを想定しています。
レート制限
レート制限は API キーごとに適用され、アプリに適用される制限はキーに割り当てられています。すべてのアプリに共通する単一の数値はありません。大規模なインテグレーションを計画している場合、または 429 レスポンスを受け取り始めた場合は、サポートにアプリに適用される制限を確認してください。
設計上考慮すべき点が 2 つあります。
- 制限はバースト許容量ではなく、持続的なレートに適用されます。 リクエストはウィンドウ内で平滑化され、レートを超えた短時間のバーストのみが吸収されるため、一度に大量のトラフィックを送信するよりも、一定のリクエストレートを維持する方がはるかに効果的です。
- エンドポイントによっては、より低い独自の制限が設定されています。 仮想通貨トランザクションの作成は、デフォルトでアプリ全体の制限とは独立して、アプリごとに1分あたり600リクエストまで許容されます。
リクエストが制限を超えると、429 Too Many Requests で失敗します。バックオフを使ってリトライし、レスポンスに Retry-After ヘッダーが含まれている場合はその値に従ってください。
API キーのローテーション
シークレット API キーをローテーションする必要がある場合:
- Settings → General で Generate new key をクリックし、古いキーの横にあるゴミ箱アイコンをクリックします。
- アプリで使用しているキーを更新します。
次のステップ: リクエスト: