Integraciones
Integración con RevenueCat
Envía el webhook de RevenueCat a Traqio: compras, renovaciones y reembolsos llegan a la instalación que los generó, para el ROAS sin publicar una nueva versión.
RevenueCat gestiona las suscripciones y compras in-app y reporta cada transacción con un webhook. Enviado a Traqio, ese webhook lleva ingresos verificados — primeras compras, renovaciones, reembolsos — a la instalación que los generó, de servidor a servidor: las renovaciones meses después siguen contando para la campaña que trajo al usuario, sin publicar una nueva versión de la app.
Configuración#
Define el mismo id de usuario en ambos SDK#
await Purchases.logIn(user.id); // RevenueCat — becomes app_user_id Traqio.setUserId(user.id); // Traqio — the SAME valueTraqio encuentra la instalación de una compra por
(app, app_user_id). Un id distinto en cada lado significa ingresos registrados pero nunca atribuidos. Consulta Identidad.Copia la URL del webhook y la cabecera#
En la consola: tu producto → Integraciones → Ingresos → RevenueCat. Copia la URL del webhook (
https://api.traqio.app/webhooks/revenuecat) y el valor de la Cabecera Authorization (Bearer …) que muestra Generar un secreto. Se muestra una sola vez: Traqio solo guarda una huella, así que un secreto perdido se reemplaza (genera uno nuevo y revoca el anterior), nunca se vuelve a mostrar. Cada producto tiene su propio secreto.Añade el webhook en RevenueCat#
Panel de RevenueCat → tu proyecto → Integrations → Webhooks → Add. Pega la URL y la cabecera, elige la app, y envía sandbox, producción o ambos.
La cabecera es un secreto — y no es tu clave SDK
Autentica las llamadas de RevenueCat; mantenla fuera de tu app y de tu repositorio. Si pones la clave SDK en su lugar, se rechaza con401 invalid webhook secret.Envía un webhook de prueba#
El Send test webhook de RevenueCat llega como una entrega
TEST: registrada, nunca contada. Después, una compra en sandbox desde una build de depuración aparece como Sandbox — conexión verificada, con el precio que Traqio interpretó. Las compras de producción son las que se cuentan.
Qué hace cada evento de RevenueCat#
| Tipo de RevenueCat | En Traqio |
|---|---|
| INITIAL_PURCHASE, RENEWAL, NON_RENEWING_PURCHASE, UNCANCELLATION | una compra — ingresos, reenviada a Meta y TikTok |
| CANCELLATION con un precio negativo | un reembolso — ingresos negativos, nunca reenviado, nunca facturado |
| CANCELLATION sin precio o con precio cero | solo se registra: una baja no mueve dinero |
| REFUND_REVERSED | ingresos positivos: el reembolso se deshizo |
| EXPIRATION | solo se registra |
| TEST y cualquier otro | solo se registra |
- Las compras en sandbox se listan en la consola y nunca se cuentan ni se reenvían — reenviarlas enseñaría a las redes a pujar por compras que nunca ocurrieron.
- Los importes son brutos: lo que pagó el comprador, en la moneda de la compra, antes de la comisión de la tienda y de impuestos. Los porcentajes de comisión e impuestos de RevenueCat se guardan pero no se aplican.
- La información de prueba gratuita (tipo de periodo, conversión de la prueba) se conserva, así que se puede responder a «de prueba a pago».
Con compras también medidas en la app#
Las compras se indexan por el id de transacción de la tienda. Si tu app también mide la compra con su transactionId, ambas llegan a la misma clave y cuentan una vez — con el importe verificado de RevenueCat. Consulta Contar una compra una sola vez.
Preguntas frecuentes#
- ¿La cabecera Authorization de RevenueCat es mi clave SDK?
- No. La clave SDK es pública — va dentro de tu app. La cabecera del webhook lleva un secreto distinto que autentica las llamadas de servidor a servidor de RevenueCat y nunca debe estar en la app. Pegar la clave SDK hace que todas las entregas fallen con 401 invalid webhook secret.
- ¿Y si una compra llega antes de que Traqio haya visto la instalación?
- Los ingresos se registran igualmente, pero sin atribuir: aparecen como no asociados en el informe de ingresos. Se asocian cuando el id de usuario que Traqio tiene para la instalación es el mismo que el app_user_id de RevenueCat — por eso el id de usuario debe definirse en ambos lados.
- ¿Se restan los reembolsos de RevenueCat?
- Sí. Una CANCELLATION de RevenueCat con un precio negativo es un reembolso: Traqio lo registra como ingresos negativos, así que todos los totales lo descuentan. Nunca se factura como conversión ni se reenvía a Meta o TikTok. Una cancelación sin precio negativo es una baja normal de la suscripción y no mueve dinero.