Introduction
L’intégration Segment envoie les événements Dodo Payments à l’HTTP Tracking API de Segment sous forme d’appels Track et Identify. Segment transmet ensuite les données de paiement, d’abonnement et de client aux outils d’analytics, de marketing et de data warehouse connectés à votre espace de travail, parmi un catalogue de plus de 300 destinations.Cette intégration nécessite la Write Key d’une source HTTP API dans votre espace de travail Segment. Vous devez également avoir accès à Developer → Webhooks dans le tableau de bord Dodo Payments.
Prise en main
1
Open the Webhook Section
Dans le tableau de bord Dodo Payments, accédez à Developer → Webhooks et cliquez sur Add endpoint.

2
Select Segment
Dans Integration, sélectionnez Segment. Le tableau de bord renseigne automatiquement l’Endpoint URL et le code de transformation pour Segment.
3
Enter Write Key
Dans Segment, accédez à Connections → Sources, puis ouvrez ou créez une source HTTP API. Copiez la Write Key dans les paramètres de la source et collez-la dans API key.
4
Select Events
Dans Subscribed events, sélectionnez uniquement les événements gérés par votre transformation. Les exemples de cette page utilisent
payment.succeeded, subscription.active et subscription.cancelled.5
Configure Transformation
Sous Transformation code, modifiez le handler pour formater les événements destinés à l’API Track ou Identify de Segment. Commencez par les exemples.
6
Test & Create
Sous Test this code, sélectionnez un type d’événement et cliquez sur Simulate pour prévisualiser l’appel à Segment. Cliquez ensuite sur Create endpoint.
7
Switch to Basic Authentication
Dodo Payments envoie la valeur API key sous forme de bearer token, mais l’HTTP API de Segment accepte une Write Key via l’authentification Basic ou un champ
writeKey dans le body. Juste après avoir créé l’endpoint, ouvrez son onglet Advanced. Sous Custom headers, saisissez une nouvelle valeur dans la ligne Authorization masquée : Basic, un espace, puis l’encodage Base64 de votre Write Key suivi de deux-points. Cliquez ensuite sur Save. Par exemple, echo -n 'YOUR_WRITE_KEY:' | base64 affiche la valeur encodée.8
Done
Les événements abonnés sont désormais transmis à Segment, qui les relaie vers vos destinations connectées.
Exemples de code de transformation
Chaque handler définitwebhook.url sur un endpoint d’API Segment et remplace webhook.payload par l’appel. Les montants Dodo Payments sont exprimés dans la plus petite unité monétaire ; les exemples les divisent donc par 100. Pour les devises sans décimales, comme JPY et KRW, utilisez le montant tel quel.
Suivre les événements de paiement avec Track
Enregistrez un événementPayment Completed lorsqu’un paiement réussit :
track_payments.js
Suivre le cycle de vie d’un abonnement
Enregistrez les événementsSubscription Started et Subscription Cancelled :
track_subscriptions.js
Identifier les propriétés du client
Mettez à jour les traits du client après chaque paiement réussi. Chaque appel Identify définit les traits sur les valeurs qu’il envoie ; ces traits décrivent donc le dernier paiement :identify_customer.js
Conseils
- Utilisez des noms d’événements cohérents dans toute votre intégration, comme le format objet et action de Segment dans
Payment Completed. - Incluez les propriétés dont vous avez besoin pour l’analytics et la segmentation.
- Définissez
timestampà partir detimestampde l’événement, afin que Segment enregistre le moment où l’événement s’est produit plutôt que celui où il est arrivé. - Utilisez
customer_idde Dodo Payments commeuserId, afin que chaque appel pour un client soit associé au même utilisateur Segment.
Résolution des problèmes
Events Not Appearing in Segment
Events Not Appearing in Segment
- Vérifiez que la Write Key appartient à une source HTTP API et que l’en-tête
Authorizationutilise l’authentification Basic. - Segment renvoie
200pour la plupart des requêtes, y compris celles qu’il n’accepte pas ; une livraison réussie dans les logs Dodo Payments ne prouve donc pas que l’événement est arrivé. Consultez le Debugger de la source dans Segment. - Vérifiez que les noms d’événements respectent les conventions de nommage de Segment.
- Vérifiez que chaque appel définit
userId. Segment rejette un appel qui ne contient niuserIdnianonymousId. - Vérifiez les limites de débit de Segment pour l’HTTP API. Segment recommande de rester sous 1 000 requêtes par seconde et par espace de travail.
- Si votre espace de travail utilise la région UE de Segment, envoyez les appels à
https://events.eu1.segmentapis.com/v1/trackethttps://events.eu1.segmentapis.com/v1/identifyà la place.
Transformation Errors
Transformation Errors
- Vérifiez que le payload respecte le format d’API de Segment.
- Vérifiez que tous les champs obligatoires sont présents. Track nécessite
event, et Track comme Identify nécessitentuserIdouanonymousId. - Vérifiez que les noms d’événements sont des chaînes de caractères et non des objets.