/api/v1/profile/transaction-event/save/ トランザクションイベントを保存する
プロファイルのストアトランザクションイベントを記録します。Adapty Mail はトランザクションイベントを使用して、
プロファイルを購入ベースのフローに配置します。event_type は、解約済み、請求の問題、有効期限切れ、返金などのフローに対応します。また、収益のアトリビューションにも使用されます。
購入、更新、解約を処理する際にこれらのイベントを送信してください。未購入フローのみ、イベントなしで機能します。
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。トランザクションを
正しいプロファイルに紐付けます。
プロファイルが存在する前にトランザクションを送信することもできます。Adapty Mail はイベントを
未紐付けの状態で保存し、同じ識別子を持つ次の保存時にプロファイルへ紐付けます。
あなた自身のシステムにおけるユーザーの識別子。external_profile_id が一致しない場合に、
Adapty Mail がプロファイルを見つけるために使用します。イベントには保存されません。
購入者のメールアドレス。どちらの識別子も一致しない場合に、Adapty Mail がプロファイルを 見つけるために使用します。イベントには保存されません。
トランザクションの発生元ストア。例:app_store、play_store、または stripe。
ストアにおける購入済みプロダクトの識別子。
ストアにおけるこのトランザクションの識別子。
サブスクリプションチェーンにおける最初のトランザクションの識別子。初回購入の場合は store_transaction_id と同じ値になります。
このトランザクションが発生した日時(ISO 8601 形式)。
サブスクリプションが最初に購入された日時(ISO 8601 形式)。
トランザクション金額(USD)。10進数の文字列形式(例:"9.99")。
サブスクリプションの有効期限(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
}
]
}