POST /api/v1/profile/transaction-event/save/

トランザクションイベントを保存する

プロファイルのストアトランザクションイベントを記録します。Adapty Mail はトランザクションイベントを使用して、プロファイルを購入ベースのフロー(event_type が renewal cancelled、billing issue、expired、refunded などのフローにマッピングされます)に配置し、収益アトリビューションにも利用します。

購入、更新、キャンセルを処理する際にこれらのイベントを送信してください。never purchased フローのみ、これらのイベントなしで機能します。

Request body

event_typestringrequired

トランザクションイベントの種類です。購入ベースのフローはこれらの値によってトリガーされます。

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"

event_idstringrequired

あなたのシステムが所有するこのイベントの一意の識別子です。イベントの冪等性を保つために使用してください。

event_datetimestringrequired

ISO 8601 形式でイベントが記録された日時です。

external_profile_idstringrequired

プロファイルを保存する際に送信するのと同じ安定した external_profile_id です。トランザクションを正しいプロファイルに紐付けます。

storestringrequired

トランザクションが発生したストアです(例: app_storeplay_storestripe)。

store_product_idstringrequired

ストアで購入されたプロダクトの識別子です。

store_transaction_idstringrequired

ストアにおけるこのトランザクションの識別子です。

store_original_transaction_idstringrequired

サブスクリプションチェーンにおける最初のトランザクションの識別子です。最初の購入の場合、これは store_transaction_id と同じ値になります。

purchased_atstringrequired

ISO 8601 形式でこのトランザクションが発生した日時です。

originally_purchased_atstringrequired

ISO 8601 形式でサブスクリプションが最初に購入された日時です。

price_usdstring

10進数の文字列(例: "9.99")で表した USD 建てのトランザクション金額です。

expires_atstring

ISO 8601 形式でサブスクリプションが失効する、または失効した日時です。サブスクリプション以外の購入の場合は省略してください。

offerobject

トランザクションに適用されたプロモーションオファーまたは初回オファーの詳細です。

categorystringrequired

One of: "introductory", "promotional", "offer_code", "win_back"

offer_typestringrequired

One of: "free_trial", "pay_as_you_go", "pay_up_front"

offer_idstring

ストア内のオファーの識別子(存在する場合)です。

Responses

トランザクションイベントが正常に保存されました。レスポンスボディは空のオブジェクトです。

Schema
object
Example
{}

バリデーションに失敗しました — 必須フィールドが不足しているか無効です。field_name にどのフィールドかが表示されます。

Schema

標準エラーレスポンスです。すべての失敗はこの形式で 4XX ステータスを返します。

errorsarray of object
messagestring

エラーの人間が読める説明です。

error_codestring

マシンが読み取り可能なエラー識別子です。

status_codeinteger

このエラーの HTTP ステータスコードです。

field_namestring

エラーの原因となったリクエストフィールド、またはエラーがフィールド固有でない場合は null です。

Example
{
  "errors": [
    {
      "message": "Field required",
      "error_code": "base_error",
      "status_code": 400,
      "field_name": "event_type"
    }
  ]
}

シークレット API キーが不足しているか無効です。

Schema

標準エラーレスポンスです。すべての失敗はこの形式で 4XX ステータスを返します。

errorsarray of object
messagestring

エラーの人間が読める説明です。

error_codestring

マシンが読み取り可能なエラー識別子です。

status_codeinteger

このエラーの HTTP ステータスコードです。

field_namestring

エラーの原因となったリクエストフィールド、またはエラーがフィールド固有でない場合は null です。

Example
{
  "errors": [
    {
      "message": "Secret key doesn't exist",
      "error_code": "secret_key_does_not_exist_error",
      "status_code": 403,
      "field_name": null
    }
  ]
}