Introduction
L’intégration Close CRM crée des enregistrements dans Close à partir des événements Dodo Payments. Un paiement réussi peut créer un contact, et un nouvel abonnement peut créer une opportunité, afin que votre équipe commerciale voie l’activité liée aux revenus à côté de ses prospects.Cette intégration nécessite une clé API Close disposant de l’autorisation de créer des contacts et des opportunités. Pour en créer une dans Close, accédez à Settings → Developer → API Keys et cliquez sur New API Key.
Prise en main
1
Open the Webhook Section
Dans le tableau de bord Dodo Payments, accédez à Developer → Webhooks, puis cliquez sur Add endpoint.

2
Select Close CRM
Dans Integration, sélectionnez CloseCRM.
3
Enter API Key
Dans API key, collez votre clé API Close. Dodo Payments l’envoie dans l’en-tête
Authorization de chaque livraison.4
Select Events
Dans Subscribed events, sélectionnez les événements gérés par votre transformation. Les exemples de cette page utilisent
payment.succeeded et subscription.active.5
Configure Transformation
Dans Transformation code, modifiez le handler pour mapper les données de paiement vers des objets Close. Commencez avec les exemples.
6
Test & Create
Dans Test this code, cliquez sur Simulate pour exécuter le handler avec un exemple de payload. Cliquez ensuite sur Create endpoint.
7
Done
Chaque événement auquel vous êtes abonné crée désormais un enregistrement dans Close.
Exemples de code de transformation
Chaque handler définitwebhook.url comme endpoint de l’API Close et remplace webhook.payload par le corps de la requête. Close définit les champs personnalisés à l’aide des clés custom.cf_<field_id>. Remplacez donc les clés cf_ des exemples par les identifiants de vos propres champs personnalisés. Les montants Dodo Payments sont exprimés dans la plus petite unité monétaire, par exemple en centimes pour l’USD.
Créer un contact à partir d’un paiement
Lorsqu’un paiement est réussi, créez un contact. Close attendemails et phones sous forme de listes d’objets. Si la requête ne contient pas lead_id, Close crée un nouveau prospect portant le nom du contact.
create_contact.js
Créer une opportunité à partir d’un abonnement
Lorsqu’un abonnement devient actif, créez une opportunité. Close attendvalue sous forme d’un entier en centimes et value_period sous forme de one_time, monthly ou annual. L’exemple associe donc payment_frequency_interval de l’abonnement à une période. lead_id doit être un identifiant de prospect Close, et non un identifiant client Dodo Payments. L’exemple le lit depuis metadata de l’abonnement. Stockez donc l’identifiant du prospect à cet emplacement lors de la création de l’abonnement. Sans lead_id, Close crée un nouveau prospect sans titre.
create_opportunity.js
Conseils
- Vérifiez les noms et les types de champs dans la documentation de l’API Close avant de mapper les champs.
- Stockez les données propres aux paiements, telles que le montant et le mode de paiement, dans des champs personnalisés. Créez d’abord les champs dans Close, puis utilisez leurs identifiants.
- Mappez
recurring_pre_tax_amountde l’abonnement versvaluede l’opportunité, et son intervalle de facturation versvalue_period. - Utilisez les identifiants pour lier les enregistrements : stockez
customer_idde Dodo Payments sur le contact Close, et l’identifiant du prospect Close dansmetadatade Dodo Payments. - L’exemple de contact s’exécute à chaque
payment.succeeded, y compris lors des renouvellements et des achats répétés. Un client qui revient crée donc un autre contact.
Résolution des problèmes
Records Not Created in Close CRM
Records Not Created in Close CRM
- Vérifiez que la clé API dispose des autorisations d’écriture.
- Vérifiez que les champs requis sont inclus.
- Vérifiez que chaque adresse e-mail est valide.
- Consultez les limites de débit de l’API Close.
- Si les livraisons échouent avec un
401, Close peut attendre une authentification Basic. Ajustez l’en-têteAuthorizationdans l’onglet Advanced de l’endpoint. - Ouvrez les tentatives de livraison de l’endpoint dans l’onglet Logs de Developer → Webhooks pour voir la réponse de Close.
Transformation Errors
Transformation Errors
- Vérifiez que le payload respecte le format de l’API Close.
- Vérifiez que tous les champs requis sont présents.
- Vérifiez que les noms de champs correspondent exactement au schéma Close et que les champs personnalisés utilisent les identifiants
custom.cf_.