Skip to main content

Introdução

A integração com o Close CRM cria registros no Close a partir de eventos do Dodo Payments. Um pagamento bem-sucedido pode criar um contato, e uma nova assinatura pode criar uma oportunidade, para que sua equipe de vendas veja a atividade de receita ao lado dos leads.
Essa integração requer uma chave de API do Close com permissão para criar contatos e oportunidades. Para criar uma no Close, acesse Settings → Developer → API Keys e clique em New API Key.

Começando

1

Open the Webhook Section

No dashboard do Dodo Payments, acesse Developer → Webhooks e clique em Add endpoint.
Add endpoint dialog with CloseCRM selected in the Integration dropdown
2

Select Close CRM

Em Integration, selecione CloseCRM.
3

Enter API Key

Em API key, cole sua chave de API do Close. O Dodo Payments a envia no header Authorization de cada entrega.
4

Select Events

Em Subscribed events, selecione os eventos processados pela sua transformação. Os exemplos nesta página usam payment.succeeded e subscription.active.
5

Configure Transformation

Em Transformation code, edite o handler para mapear os dados de pagamento para objetos do Close. Comece pelos exemplos.
6

Test & Create

Em Test this code, clique em Simulate para executar o handler usando um payload de exemplo. Em seguida, clique em Create endpoint.
7

Done

Cada evento inscrito agora cria um registro no Close.

Exemplos de código de transformação

Cada handler define webhook.url como um endpoint da API do Close e substitui webhook.payload pelo corpo da solicitação. O Close define campos personalizados por meio de chaves custom.cf_<field_id>, portanto substitua as chaves cf_ nos exemplos pelos IDs dos seus próprios campos personalizados. Os valores monetários do Dodo Payments estão na menor unidade da moeda, por exemplo, centavos para USD.

Criar contato a partir de um pagamento

Quando um pagamento for bem-sucedido, crie um contato. O Close aceita emails e phones como listas de objetos. Se a solicitação não tiver lead_id, o Close criará um novo lead com o nome do contato.
create_contact.js

Criar oportunidade a partir de uma assinatura

Quando uma assinatura ficar ativa, crie uma oportunidade. O Close aceita value como um número inteiro em centavos e value_period como one_time, monthly ou annual, portanto o exemplo mapeia o payment_frequency_interval da assinatura para um período. lead_id deve ser um ID de lead do Close, não um ID de cliente do Dodo Payments. O exemplo o lê do metadata da assinatura; portanto, armazene o ID do lead nesse campo ao criar a assinatura. Sem um lead_id, o Close criará um novo lead sem título.
create_opportunity.js

Dicas

  • Verifique os nomes e tipos dos campos na documentação da API do Close antes de mapear os campos.
  • Armazene dados específicos do pagamento, como o valor e o método de pagamento, em campos personalizados. Crie os campos primeiro no Close e depois use os IDs correspondentes.
  • Mapeie o recurring_pre_tax_amount da assinatura para o value da oportunidade e o intervalo de cobrança da assinatura para value_period.
  • Use IDs para vincular registros: armazene o customer_id do Dodo Payments no contato do Close e o ID do lead do Close no metadata do Dodo Payments.
  • O exemplo de contato é executado em cada payment.succeeded, incluindo renovações e compras repetidas; portanto, um cliente recorrente cria outro contato.

Solução de problemas

  • Verifique se a chave de API tem permissões de gravação.
  • Verifique se os campos obrigatórios foram incluídos.
  • Verifique se cada endereço de e-mail é válido.
  • Consulte os limites de taxa da API do Close.
  • Se as entregas falharem com um 401, o Close pode exigir autenticação Basic. Ajuste o header Authorization na aba Advanced do endpoint.
  • Abra as tentativas de entrega do endpoint na aba Logs de Developer → Webhooks para ver a resposta do Close.
  • Verifique se o payload corresponde ao formato da API do Close.
  • Verifique se todos os campos obrigatórios estão presentes.
  • Verifique se os nomes dos campos correspondem exatamente ao schema do Close e se os campos personalizados usam IDs custom.cf_.
Última modificação em 28 de setembro de 2026