Skip to main content

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.
Add endpoint dialog with CloseCRM selected in the Integration dropdown
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éfinit webhook.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 attend emails 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 attend value 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_amount de l’abonnement vers value de l’opportunité, et son intervalle de facturation vers value_period.
  • Utilisez les identifiants pour lier les enregistrements : stockez customer_id de Dodo Payments sur le contact Close, et l’identifiant du prospect Close dans metadata de 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

  • 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ête Authorization dans 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.
  • 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_.
Dernière modification le 26 septembre 2026