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

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

プロファイルのストアトランザクションイベントを記録します。Adapty Mail はトランザクションイベントを使用して、 プロファイルを購入ベースのフローに配置します。event_type は、解約済み、請求の問題、有効期限切れ、返金などのフローに対応します。また、収益のアトリビューションにも使用されます。

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

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。トランザクションを 正しいプロファイルに紐付けます。 プロファイルが存在する前にトランザクションを送信することもできます。Adapty Mail はイベントを 未紐付けの状態で保存し、同じ識別子を持つ次の保存時にプロファイルへ紐付けます。

customer_user_idstring

あなた自身のシステムにおけるユーザーの識別子。external_profile_id が一致しない場合に、 Adapty Mail がプロファイルを見つけるために使用します。イベントには保存されません。

emailstring

購入者のメールアドレス。どちらの識別子も一致しない場合に、Adapty Mail がプロファイルを 見つけるために使用します。イベントには保存されません。

storestringrequired

トランザクションの発生元ストア。例:app_storeplay_store、または stripe

store_product_idstringrequired

ストアにおける購入済みプロダクトの識別子。

store_transaction_idstringrequired

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

store_original_transaction_idstringrequired

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

purchased_atstringrequired

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

originally_purchased_atstringrequired

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

price_usdstring

トランザクション金額(USD)。10進数の文字列形式(例:"9.99")。

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
    }
  ]
}