/api/v1/profile/transaction-event/save/ Lưu sự kiện giao dịch
Ghi lại một sự kiện giao dịch từ cửa hàng cho một hồ sơ người dùng. Adapty Mail sử dụng các sự kiện giao dịch để đặt
hồ sơ vào các flow dựa trên giao dịch mua — event_type ánh xạ đến các flow như renewal cancelled,
billing issue, expired và refunded — cũng như cho attribution doanh thu.
Gửi các sự kiện này khi bạn xử lý các giao dịch mua, gia hạn và hủy bỏ. Chỉ có flow never purchased hoạt động mà không cần chúng.
Request body
Loại sự kiện giao dịch. Các flow dựa trên giao dịch mua được kích hoạt bởi các giá trị này.
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"
Mã định danh duy nhất cho sự kiện này, do hệ thống của bạn quản lý. Sử dụng để đảm bảo tính idempotent của các sự kiện.
Thời điểm sự kiện được ghi lại, theo định dạng ISO 8601.
Cùng một external_profile_id ổn định bạn gửi khi lưu hồ sơ người dùng. Liên kết giao dịch với đúng hồ sơ.
Cửa hàng mà giao dịch đến từ, ví dụ: app_store, play_store hoặc stripe.
Mã định danh của sản phẩm đã mua trong cửa hàng.
Mã định danh của giao dịch này trong cửa hàng.
Mã định danh của giao dịch đầu tiên trong chuỗi gói đăng ký. Đối với giao dịch mua đầu tiên, giá trị này bằng store_transaction_id.
Thời điểm giao dịch này xảy ra, theo định dạng ISO 8601.
Thời điểm gói đăng ký được mua lần đầu tiên, theo định dạng ISO 8601.
Số tiền giao dịch bằng USD, dưới dạng chuỗi thập phân (ví dụ: "9.99").
Thời điểm gói đăng ký hết hạn hoặc đã hết hạn, theo định dạng ISO 8601. Bỏ qua đối với các giao dịch mua không phải gói đăng ký.
Chi tiết của một ưu đãi hoặc ưu đãi giới thiệu được áp dụng cho giao dịch.
One of: "introductory", "promotional", "offer_code", "win_back"
One of: "free_trial", "pay_as_you_go", "pay_up_front"
Mã định danh của ưu đãi trong cửa hàng, nếu có.
Responses
Sự kiện giao dịch đã được lưu thành công. Nội dung phản hồi là một đối tượng rỗng.
Schema
Example
{} Xác thực thất bại — một trường bắt buộc bị thiếu hoặc không hợp lệ. field_name cho biết trường nào.
Schema
Phản hồi lỗi chuẩn. Mọi lỗi đều trả về trạng thái 4XX với cấu trúc này.
Mô tả lỗi dễ đọc cho người dùng.
Mã định danh lỗi dễ đọc cho máy.
Mã trạng thái HTTP cho lỗi này.
Trường trong yêu cầu gây ra lỗi, hoặc null nếu lỗi không liên quan đến trường cụ thể nào.
Example
{
"errors": [
{
"message": "Field required",
"error_code": "base_error",
"status_code": 400,
"field_name": "event_type"
}
]
} Thiếu hoặc sai secret API key.
Schema
Phản hồi lỗi chuẩn. Mọi lỗi đều trả về trạng thái 4XX với cấu trúc này.
Mô tả lỗi dễ đọc cho người dùng.
Mã định danh lỗi dễ đọc cho máy.
Mã trạng thái HTTP cho lỗi này.
Trường trong yêu cầu gây ra lỗi, hoặc null nếu lỗi không liên quan đến trường cụ thể nào.
Example
{
"errors": [
{
"message": "Secret key doesn't exist",
"error_code": "secret_key_does_not_exist_error",
"status_code": 403,
"field_name": null
}
]
}