Skip to main content

Introducción

La integración de Close CRM crea registros en Close a partir de eventos de Dodo Payments. Un pago exitoso puede crear un contacto y una nueva suscripción puede crear una oportunidad, para que tu equipo de ventas vea la actividad de ingresos junto a sus leads.
Esta integración requiere una API key de Close con permiso para crear contactos y oportunidades. Para crear una en Close, ve a Settings → Developer → API Keys y haz clic en New API Key.

Comenzando

1

Open the Webhook Section

En el dashboard de Dodo Payments, ve a Developer → Webhooks y haz clic en Add endpoint.
Add endpoint dialog with CloseCRM selected in the Integration dropdown
2

Select Close CRM

En Integration, selecciona CloseCRM.
3

Enter API Key

En API key, pega tu API key de Close. Dodo Payments la envía en el header Authorization de cada entrega.
4

Select Events

En Subscribed events, selecciona los eventos que gestiona tu transformación. Los ejemplos de esta página usan payment.succeeded y subscription.active.
5

Configure Transformation

En Transformation code, edita el handler para asignar los datos de pago a objetos de Close. Empieza con los ejemplos.
6

Test & Create

En Test this code, haz clic en Simulate para ejecutar el handler con un payload de ejemplo. Después, haz clic en Create endpoint.
7

Done

Cada evento suscrito ahora crea un registro en Close.

Ejemplos de código de transformación

Cada handler establece webhook.url en un endpoint de la API de Close y reemplaza webhook.payload con el cuerpo de la solicitud. Close establece campos personalizados mediante claves custom.cf_<field_id>, así que reemplaza las claves cf_ de los ejemplos por los IDs de tus propios campos personalizados. Los importes de Dodo Payments están en la unidad monetaria más pequeña, por ejemplo, centavos para USD.

Crear un contacto a partir de un pago

Cuando un pago se completa correctamente, crea un contacto. Close recibe emails y phones como listas de objetos. Si la solicitud no incluye lead_id, Close crea un nuevo lead con el nombre del contacto.
create_contact.js

Crear una oportunidad a partir de una suscripción

Cuando una suscripción se activa, crea una oportunidad. Close recibe value como un entero en centavos e value_period como one_time, monthly o annual, por lo que el ejemplo asigna payment_frequency_interval de la suscripción a un periodo. lead_id debe ser un ID de lead de Close, no un ID de cliente de Dodo Payments. El ejemplo lo obtiene de metadata de la suscripción, así que guarda allí el ID del lead cuando crees la suscripción. Sin lead_id, Close crea un lead nuevo sin título.
create_opportunity.js

Consejos

  • Comprueba los nombres y tipos de los campos en la documentación de la API de Close antes de asignar los campos.
  • Guarda los datos específicos del pago, como el importe y el método de pago, en campos personalizados. Crea primero los campos en Close y después usa sus IDs.
  • Asigna recurring_pre_tax_amount de la suscripción a value de la oportunidad y su intervalo de facturación a value_period.
  • Usa IDs para vincular registros: guarda customer_id de Dodo Payments en el contacto de Close y el ID del lead de Close en metadata de Dodo Payments.
  • El ejemplo de contacto se ejecuta en cada payment.succeeded, incluidas las renovaciones y las compras repetidas, por lo que un cliente recurrente crea otro contacto.

Solución de problemas

  • Verifica que la API key tenga permisos de escritura.
  • Comprueba que se incluyan los campos obligatorios.
  • Comprueba que cada dirección de correo electrónico sea válida.
  • Revisa los límites de velocidad de la API de Close.
  • Si las entregas fallan con un 401, es posible que Close espere autenticación Basic. Ajusta el header Authorization en la pestaña Advanced del endpoint.
  • Abre los intentos de entrega del endpoint en la pestaña Logs de Developer → Webhooks para ver la respuesta de Close.
  • Comprueba que el payload coincida con el formato de la API de Close.
  • Comprueba que estén presentes todos los campos obligatorios.
  • Comprueba que los nombres de los campos coincidan exactamente con el esquema de Close y que los campos personalizados utilicen IDs custom.cf_.
Última modificación el 26 de septiembre de 2026