/api/v1/profile/transaction-event/save/ トランザクションイベントを保存する
プロファイルのストアトランザクションイベントを記録します。Adapty Mail はトランザクションイベントを使用して、プロファイルを購入ベースのフロー(event_type が renewal cancelled、billing issue、expired、refunded などのフローにマッピングされます)に配置し、収益アトリビューションにも利用します。
購入、更新、キャンセルを処理する際にこれらのイベントを送信してください。never purchased フローのみ、これらのイベントなしで機能します。
Request body
トランザクションイベントの種類です。購入ベースのフローはこれらの値によってトリガーされます。
One of: "subscription_started", "subscription_renewed", "subscription_renewal_cancelled", "subscription_renewal_reactivated", "billing_issue_detected", "entered_grace_period", "subscription_refunded", "subscription_expired", "non_subscription_purchase", "non_subscription_purchase_refunded"
あなたのシステムが所有するこのイベントの一意の識別子です。イベントの冪等性を保つために使用してください。
ISO 8601 形式でイベントが記録された日時です。
プロファイルを保存する際に送信するのと同じ安定した external_profile_id です。トランザクションを正しいプロファイルに紐付けます。
トランザクションが発生したストアです(例: app_store、play_store、stripe)。
ストアで購入されたプロダクトの識別子です。
ストアにおけるこのトランザクションの識別子です。
サブスクリプションチェーンにおける最初のトランザクションの識別子です。最初の購入の場合、これは store_transaction_id と同じ値になります。
ISO 8601 形式でこのトランザクションが発生した日時です。
ISO 8601 形式でサブスクリプションが最初に購入された日時です。
10進数の文字列(例: "9.99")で表した USD 建てのトランザクション金額です。
ISO 8601 形式でサブスクリプションが失効する、または失効した日時です。サブスクリプション以外の購入の場合は省略してください。
トランザクションに適用されたプロモーションオファーまたは初回オファーの詳細です。
One of: "introductory", "promotional", "offer_code", "win_back"
One of: "free_trial", "pay_as_you_go", "pay_up_front"
ストア内のオファーの識別子(存在する場合)です。
Responses
トランザクションイベントが正常に保存されました。レスポンスボディは空のオブジェクトです。
Schema
Example
{} バリデーションに失敗しました — 必須フィールドが不足しているか無効です。field_name にどのフィールドかが表示されます。
Schema
標準エラーレスポンスです。すべての失敗はこの形式で 4XX ステータスを返します。
エラーの人間が読める説明です。
マシンが読み取り可能なエラー識別子です。
このエラーの HTTP ステータスコードです。
エラーの原因となったリクエストフィールド、またはエラーがフィールド固有でない場合は null です。
Example
{
"errors": [
{
"message": "Field required",
"error_code": "base_error",
"status_code": 400,
"field_name": "event_type"
}
]
} シークレット API キーが不足しているか無効です。
Schema
標準エラーレスポンスです。すべての失敗はこの形式で 4XX ステータスを返します。
エラーの人間が読める説明です。
マシンが読み取り可能なエラー識別子です。
このエラーの HTTP ステータスコードです。
エラーの原因となったリクエストフィールド、またはエラーがフィールド固有でない場合は null です。
Example
{
"errors": [
{
"message": "Secret key doesn't exist",
"error_code": "secret_key_does_not_exist_error",
"status_code": 403,
"field_name": null
}
]
}