POST /api/v2/server-side-api/purchase/set/transaction/

Registrar transacción

Crea una nueva transacción para un usuario final de tu app en Adapty y proporciona un nivel de acceso. La transacción creada por este método aparecerá en tus análisis y en el Event Feed, y se enviará a todas las integraciones.

Header parameters

adapty-customer-user-idstring

El ID único del cliente en tu sistema. Se requiere adapty-customer-user-id o adapty-profile-id.

adapty-profile-idstring

El ID único del perfil en tu sistema. La mejor opción si trabajas con perfiles anónimos. Se requiere adapty-customer-user-id o adapty-profile-id.

Request body

Option 1 — object

Datos de transacción para una compra única

purchase_typestringrequired

Tipo de compra

One of: "one_time_purchase"

storestringrequired

Store donde se realizó la compra. Los valores habituales son app_store, play_store, stripe, paddle o cualquier identificador de store personalizado

environmentstring

Entorno donde se realizó la compra

One of: "Production", "Sandbox"

store_product_idstringrequired

ID del producto en el store

store_transaction_idstringrequired

ID de la transacción en el store

store_original_transaction_idstringrequired

ID de la transacción original en el store

is_family_sharedboolean

Si la compra es compartida en familia

priceobjectrequired
countrystringrequired

Código de país

currencystringrequired

Código de moneda

valuenumberrequired

Valor del precio

purchased_atstringrequired

Cuándo se realizó la compra

variation_idstring

ID de variante para pruebas A/B

offerobject
categorystringrequired

Categoría de la oferta

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

typestringrequired

Tipo de oferta

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

idstring

ID de la oferta

refunded_atstring

Cuándo se reembolsó la compra

cancellation_reasonstring

Motivo de la cancelación

One of: "billing_error", "cancelled_by_developer", "new_subscription_replace", "price_increase", "product_was_not_available", "refund", "unknown", "upgraded", "voluntarily_cancelled", "adapty_revoked"

Option 2 — object

Datos de transacción para una compra de suscripción

purchase_typestringrequired

Tipo de compra

One of: "subscription"

storestringrequired

Store donde se realizó la compra. Los valores habituales son app_store, play_store, stripe, paddle o cualquier identificador de store personalizado

environmentstring

Entorno donde se realizó la compra

One of: "Production", "Sandbox"

store_product_idstringrequired

ID del producto en el store

store_transaction_idstringrequired

ID de la transacción en el store

store_original_transaction_idstringrequired

ID de la transacción original en el store

is_family_sharedboolean

Si la compra es compartida en familia

priceobjectrequired
countrystringrequired

Código de país

currencystringrequired

Código de moneda

valuenumberrequired

Valor del precio

purchased_atstringrequired

Cuándo se realizó la compra

variation_idstring

ID de variante para pruebas A/B

offerobject
categorystringrequired

Categoría de la oferta

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

typestringrequired

Tipo de oferta

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

idstring

ID de la oferta

refunded_atstring

Cuándo se reembolsó la compra

cancellation_reasonstring

Motivo de la cancelación

One of: "billing_error", "cancelled_by_developer", "new_subscription_replace", "price_increase", "product_was_not_available", "refund", "unknown", "upgraded", "voluntarily_cancelled", "adapty_revoked"

originally_purchased_atstringrequired

Cuándo se adquirió originalmente la suscripción

expires_atstringrequired

Cuándo expira la suscripción

renew_statusbooleanrequired

Si la suscripción se renovará

renew_status_changed_atstring

Cuándo cambió el estado de renovación

billing_issue_detected_atstring

Cuándo se detectó el problema de facturación

grace_period_expires_atstring

Cuándo expira el período de gracia

Responses

Transacción registrada correctamente

Schema
dataobjectrequired
app_idstringrequired

El ID interno de tu app

profile_idstringrequired

ID de perfil de Adapty

customer_user_idstringrequired

El ID de tu usuario en tu sistema

total_revenue_usdnumberrequired

Un valor decimal que representa los ingresos totales en USD generados por el perfil

segment_hashstringrequired

Parámetro interno

timestampintegerrequired

Hora de la respuesta en milisegundos; necesario para resolver una condición de carrera

custom_attributesarray of objectrequired

Se permite un máximo de 30 atributos personalizados por perfil

keystringrequired

La clave debe ser una cadena de texto de no más de 30 caracteres. Solo se permiten letras, números, guiones, puntos y guiones bajos

valuestring | numberrequired

El valor del atributo no debe superar los 50 caracteres. Solo se permiten cadenas de texto y números decimales como valores

access_levelsarray of objectrequired

Array de objetos de nivel de acceso. Array vacío si el cliente no tiene niveles de acceso

access_level_idstring

Identificador del nivel de acceso

storestring

Store donde se adquirió el nivel de acceso

store_product_idstring

ID del producto en el store

store_base_plan_idstring

ID del plan base en el store

store_transaction_idstring

ID de la transacción en el store

store_original_transaction_idstring

ID de la transacción original en el store

offerallOf

Detalles de la oferta, si se aplicó una oferta promocional o introductoria

categorystring

Categoría de la oferta

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

typestring

Tipo de oferta

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

idstring

ID de la oferta

starts_atstring

Cuándo comienza el nivel de acceso

purchased_atstring

Cuándo se adquirió el nivel de acceso

originally_purchased_atstring

Cuándo se adquirió originalmente el nivel de acceso

expires_atstring

Cuándo expira el nivel de acceso

renewal_cancelled_atstring

Cuándo se canceló la renovación

billing_issue_detected_atstring

Cuándo se detectó el problema de facturación

is_in_grace_periodboolean

Si el nivel de acceso está en período de gracia

cancellation_reasonstring

Motivo de la cancelación

subscriptionsarray of objectrequired

Array de objetos de suscripción. Array vacío si el cliente no tiene suscripciones

storestring

Store donde se adquirió la suscripción

store_product_idstring

ID del producto en el store

store_base_plan_idstring

ID del plan base en el store

store_transaction_idstring

ID de la transacción en el store

store_original_transaction_idstring

ID de la transacción original en el store

offerallOf

Detalles de la oferta, si se aplicó una oferta promocional o introductoria

categorystring

Categoría de la oferta

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

typestring

Tipo de oferta

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

idstring

ID de la oferta

environmentstring

Entorno (Sandbox, Production)

purchased_atstring

Cuándo se adquirió la suscripción

originally_purchased_atstring

Cuándo se adquirió originalmente la suscripción

expires_atstring

Cuándo expira la suscripción

renewal_cancelled_atstring

Cuándo se canceló la renovación

billing_issue_detected_atstring

Cuándo se detectó el problema de facturación

is_in_grace_periodboolean

Si la suscripción está en período de gracia

cancellation_reasonstring

Motivo de la cancelación

non_subscriptionsarray of objectrequired

Array de objetos de compras no suscritas. Array vacío si el cliente no tiene compras

purchase_idstring

Identificador único de la compra

storestring

Store donde se realizó la compra

store_product_idstring

ID del producto en el store

store_base_plan_idstring

ID del plan base en el store

store_transaction_idstring

ID de la transacción en el store

store_original_transaction_idstring

ID de la transacción original en el store

purchased_atstring

Cuándo se realizó la compra

environmentstring

Entorno (Sandbox, Production)

is_refundboolean

Si se trata de un reembolso

is_consumableboolean

Si se trata de una compra consumible

Solicitud incorrecta

Schema
errorsarray of objectrequired
sourcestring

Origen del error

errorsarray of string

Array de mensajes de error

error_codestringrequired

Nombre corto del error

status_codeintegerrequired

Código de estado HTTP

No autorizado

Schema
errorsarray of objectrequired
sourcestring

Origen del error

errorsarray of string

Array de mensajes de error

error_codestringrequired

Nombre corto del error

status_codeintegerrequired

Código de estado HTTP

Perfil no encontrado

Schema
errorsarray of objectrequired
sourcestring

Origen del error

errorsarray of string

Array de mensajes de error

error_codestringrequired

Nombre corto del error

status_codeintegerrequired

Código de estado HTTP

Error interno del servidor