Introducción
La integración con Segment envía eventos de Dodo Payments a la HTTP Tracking API de Segment como llamadas Track e Identify. Segment reenvía los datos de pagos, suscripciones y clientes a las herramientas de análisis, marketing y almacenamiento de datos conectadas a tu espacio de trabajo, desde un catálogo de más de 300 destinos.Esta integración requiere la Write Key de una fuente HTTP API en tu espacio de trabajo de Segment. También necesitas acceso a Developer → Webhooks en el dashboard de Dodo Payments.
Comenzando
1
Open the Webhook Section
En el panel de Dodo Payments, ve a Developer → Webhooks y haz clic en Add endpoint.

2
Select Segment
En Integración, selecciona Segment. El dashboard completa la URL del endpoint y el código de transformación para Segment.
3
Enter Write Key
En Segment, ve a Connections → Sources y abre o crea una fuente HTTP API. Copia la Write Key de la configuración de la fuente y pégala en API key.
4
Select Events
En Subscribed events, selecciona solo los eventos que gestiona tu transformación. Los ejemplos de esta página usan
payment.succeeded, subscription.active y subscription.cancelled.5
Configure Transformation
En Transformation code, edita el handler para dar formato a los eventos para la API Track o Identify de Segment. Empieza con los ejemplos.
6
Test & Create
En Test this code, selecciona un tipo de evento y haz clic en Simulate para previsualizar la llamada a Segment. Luego haz clic en Create endpoint.
7
Switch to Basic Authentication
Dodo Payments envía el valor de API key como un bearer token, pero la HTTP API de Segment acepta una Write Key mediante autenticación Basic o un campo
writeKey en el cuerpo. Justo después de crear el endpoint, abre su pestaña Advanced. En Custom headers, introduce un nuevo valor en la fila oculta Authorization: Basic, un espacio y la codificación Base64 de tu Write Key con dos puntos al final. Luego haz clic en Save. Por ejemplo, echo -n 'YOUR_WRITE_KEY:' | base64 imprime el valor codificado.8
Done
Los eventos suscritos ahora llegan a Segment, que los reenvía a tus destinos conectados.
Ejemplos de código de transformación
Cada handler establecewebhook.url en un endpoint de la API de Segment y reemplaza webhook.payload con la llamada. Los importes de Dodo Payments están en la unidad monetaria más pequeña, por lo que los ejemplos los dividen entre 100. Para monedas sin decimales, como JPY y KRW, usa el importe tal cual.
Registrar eventos de pago con Track
Registra un eventoPayment Completed cuando un pago se complete correctamente:
track_payments.js
Registrar el ciclo de vida de una suscripción con Track
Registra eventosSubscription Started y Subscription Cancelled:
track_subscriptions.js
Identificar las propiedades del cliente
Actualiza los traits del cliente después de cada pago completado correctamente. Cada llamada Identify establece los traits con los valores que envía, por lo que estos traits describen el pago más reciente:identify_customer.js
Consejos
- Usa nombres de eventos coherentes en toda tu integración, como el formato de objeto y acción de Segment en
Payment Completed. - Incluye las propiedades que necesitas para el análisis y la segmentación.
- Establece
timestampa partir detimestampdel evento, para que Segment registre cuándo ocurrió el evento y no cuándo llegó. - Usa
customer_idde Dodo Payments comouserId, para que cada llamada de un cliente se asocie al mismo usuario de Segment.
Solución de problemas
Events Not Appearing in Segment
Events Not Appearing in Segment
- Comprueba que la Write Key pertenece a una fuente HTTP API y que el encabezado
Authorizationusa autenticación Basic. - Segment devuelve
200para la mayoría de las solicitudes, incluidas las que no acepta, por lo que una entrega correcta en los registros de Dodo Payments no demuestra que el evento haya llegado. Comprueba el Debugger de la fuente en Segment. - Comprueba que los nombres de los eventos siguen las convenciones de nomenclatura de Segment.
- Comprueba que cada llamada establece
userId. Segment rechaza una llamada que no tenga ni unuserIdni unanonymousId. - Comprueba los límites de frecuencia de Segment para la HTTP API. Segment recomienda mantenerse por debajo de 1.000 solicitudes por segundo por espacio de trabajo.
- Si tu espacio de trabajo usa la región de la UE de Segment, envía las llamadas a
https://events.eu1.segmentapis.com/v1/trackyhttps://events.eu1.segmentapis.com/v1/identifyen su lugar.
Transformation Errors
Transformation Errors
- Comprueba que la carga útil coincide con el formato de la API de Segment.
- Comprueba que todos los campos obligatorios están presentes. Track requiere
event, y tanto Track como Identify requieren unuserIdo unanonymousId. - Comprueba que los nombres de los eventos sean cadenas y no objetos.