Introduzione
L’integrazione con Close CRM crea record in Close a partire dagli eventi di Dodo Payments. Un pagamento completato può creare un contatto e un nuovo abbonamento può creare un’opportunità, così il tuo team commerciale vede l’attività relativa ai ricavi insieme ai lead.Questa integrazione richiede una chiave API di Close con l’autorizzazione per creare contatti e opportunità. Per crearne una in Close, vai su Settings → Developer → API Keys e fai clic su New API Key.
Iniziare
1
Open the Webhook Section
Nella dashboard di Dodo Payments, vai su Developer → Webhooks e fai clic su Add endpoint.

2
Select Close CRM
In Integration, seleziona CloseCRM.
3
Enter API Key
In API key, incolla la chiave API di Close. Dodo Payments la invia nell’header
Authorization di ogni delivery.4
Select Events
In Subscribed events, seleziona gli eventi gestiti dalla tua trasformazione. Gli esempi in questa pagina usano
payment.succeeded e subscription.active.5
Configure Transformation
In Transformation code, modifica l’handler per mappare i dati di pagamento sugli oggetti di Close. Parti dagli esempi.
6
Test & Create
In Test this code, fai clic su Simulate per eseguire l’handler su un payload di esempio. Quindi fai clic su Create endpoint.
7
Done
Ogni evento sottoscritto ora crea un record in Close.
Esempi di codice di trasformazione
Ogni handler impostawebhook.url su un endpoint API di Close e sostituisce webhook.payload con il corpo della richiesta. Close imposta i campi personalizzati tramite le chiavi custom.cf_<field_id>, quindi sostituisci le chiavi cf_ negli esempi con gli ID dei tuoi campi personalizzati. Gli importi di Dodo Payments sono espressi nell’unità minima della valuta, ad esempio in centesimi per USD.
Crea un contatto da un pagamento
Quando un pagamento va a buon fine, crea un contatto. Close accettaemails e phones come liste di oggetti. Se la richiesta non contiene lead_id, Close crea un nuovo lead con il nome del contatto.
create_contact.js
Crea un’opportunità da un abbonamento
Quando un abbonamento diventa attivo, crea un’opportunità. Close accettavalue come intero in centesimi e value_period come one_time, monthly o annual, quindi l’esempio mappa payment_frequency_interval dell’abbonamento a un periodo. lead_id deve essere un ID lead di Close, non un ID cliente di Dodo Payments. L’esempio lo legge da metadata dell’abbonamento, quindi memorizza lì l’ID lead quando crei l’abbonamento. Senza lead_id, Close crea un nuovo lead senza titolo.
create_opportunity.js
Suggerimenti
- Controlla i nomi e i tipi dei campi nella documentazione dell’API di Close prima di mappare i campi.
- Memorizza i dati specifici del pagamento, come l’importo e il metodo di pagamento, nei campi personalizzati. Crea prima i campi in Close, quindi usa i relativi ID.
- Mappa
recurring_pre_tax_amountdell’abbonamento suvaluedell’opportunità e il relativo intervallo di fatturazione suvalue_period. - Usa gli ID per collegare i record: memorizza
customer_iddi Dodo Payments sul contatto di Close e l’ID lead di Close inmetadatadi Dodo Payments. - L’esempio del contatto viene eseguito a ogni
payment.succeeded, inclusi rinnovi e acquisti ripetuti, quindi un cliente ricorrente crea un altro contatto.
Risoluzione dei problemi
Records Not Created in Close CRM
Records Not Created in Close CRM
- Verifica che la chiave API disponga delle autorizzazioni di scrittura.
- Controlla che siano inclusi i campi obbligatori.
- Controlla che ogni indirizzo email sia valido.
- Consulta i limiti di velocità dell’API di Close.
- Se le delivery non vanno a buon fine con un
401, Close potrebbe richiedere l’autenticazione Basic. Modifica l’headerAuthorizationnella scheda Advanced dell’endpoint. - Apri i tentativi di delivery dell’endpoint nella scheda Logs di Developer → Webhooks per visualizzare la risposta di Close.
Transformation Errors
Transformation Errors
- Controlla che il payload corrisponda al formato dell’API di Close.
- Controlla che siano presenti tutti i campi obbligatori.
- Controlla che i nomi dei campi corrispondano esattamente allo schema di Close e che i campi personalizzati usino gli ID
custom.cf_.