/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 để đưa
hồ sơ người dùng vào các flow dựa trên lịch sử mua hàng — event_type được ánh xạ tới các flow như hủy gia hạn,
vấn đề thanh toán, hết hạn và hoàn tiền — cũng như để 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. Chỉ có flow chưa từng mua là 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 cho các sự kiện.
Thời điểm sự kiện được ghi lại, theo định dạng ISO 8601.
external_profile_id ổn định mà bạn gửi khi lưu hồ sơ người dùng. Liên kết giao dịch
với hồ sơ người dùng đúng.
Bạn có thể gửi giao dịch trước khi hồ sơ người dùng tồn tại. Adapty Mail lưu trữ sự kiện
chưa được liên kết và sẽ liên kết với hồ sơ người dùng trong lần lưu tiếp theo có cùng mã định danh.
Mã định danh của người dùng trong hệ thống của bạn. Adapty Mail sử dụng nó để tìm hồ sơ người dùng khi
external_profile_id không khớp. Nó không được lưu trữ trong sự kiện.
Địa chỉ email của người mua. Adapty Mail sử dụng nó để tìm hồ sơ người dùng khi cả hai mã định danh đều không khớp. Nó không được lưu trữ trong sự kiện.
Cửa hàng mà giao dịch đến từ đó, ví dụ như 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 lần 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 tính bằng USD, dưới dạng chuỗi thập phân (ví dụ như "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 sản phẩm mua một lần.
Chi tiết của ư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 bị lỗi.
Schema
Phản hồi lỗi tiêu 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 có thể đọc được.
Mã định danh lỗi dành cho máy đọc.
Mã trạng thái HTTP cho lỗi này.
Trường 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 không hợp lệ secret API key.
Schema
Phản hồi lỗi tiêu 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 có thể đọc được.
Mã định danh lỗi dành cho máy đọc.
Mã trạng thái HTTP cho lỗi này.
Trường 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
}
]
}