API LeadWin (per sviluppatori e Make.com)
7 minEndpoint REST per creare, aggiornare ed elencare le lead da sistemi esterni.
L'API LeadWin permette a strumenti esterni (Make.com, form di landing page, altri gestionali) di inviare lead direttamente nel tuo spazio LeadWin. È un'API REST che risponde in JSON.
Ottenere una chiave API
La chiave si genera da solo, senza passare dall'assistenza.
- 1Vai in Integrazioni e cerca la card 'API / Make.com'.
- 2Premi 'Genera chiave API'.
- 3Copia subito la chiave: viene mostrata una sola volta e finisce automaticamente negli appunti.
- 4Incollala nello strumento che deve collegarsi.
Attenzione
La chiave è visibile solo al momento della creazione: LeadWin ne conserva una versione cifrata e non può rimostrartela. Se la perdi, revoca quella vecchia e generane una nuova.
Nella card vedi sempre le chiavi attive (con le ultime cifre in chiaro per riconoscerle), quando sono state create e quando sono state usate l'ultima volta. Il cestino le revoca all'istante, e da quel momento le richieste che le usano ricevono 401.
Consiglio
Genera una chiave diversa per ogni strumento collegato: se un giorno devi staccarne uno, revochi solo la sua chiave senza fermare tutti gli altri.
URL di base
Tutte le richieste partono da questo indirizzo:
https://xnqcujporotydjiehpqq.supabase.co/functions/v1/leadwin-apiAutenticazione
Ogni richiesta deve includere la tua chiave API nell'header Authorization, con lo schema Bearer. La chiave identifica il tuo account: tutte le lead create finiscono nel tuo spazio.
Authorization: Bearer lw_live_la_tua_chiave_apiAttenzione
La chiave API vale come una password: non condividerla e non pubblicarla in codice lato browser. Se una richiesta arriva senza chiave o con una chiave sbagliata/revocata, l'API risponde 401 Unauthorized.
Creare una lead — POST /leads
Invia una richiesta POST all'endpoint /leads con i dati della lead nel corpo JSON. L'unico campo davvero consigliato è il nome; email e telefono servono al riconoscimento dei duplicati.
curl -X POST \
https://xnqcujporotydjiehpqq.supabase.co/functions/v1/leadwin-api/leads \
-H "Authorization: Bearer lw_live_la_tua_chiave_api" \
-H "Content-Type: application/json" \
-d '{
"name": "Mario Rossi",
"email": "mario.rossi@example.com",
"phone": "3401234567",
"company": "Rossi SRL",
"city": "Bari",
"province": "BA",
"region": "Puglia",
"source": "Landing Page"
}'Campi accettati
- name — nome della lead (in alternativa full_name, oppure first_name + last_name).
- email — indirizzo email.
- phone — numero di telefono (in alternativa phone_number).
- company — azienda (in alternativa company_name).
- address, city, region, province — dati geografici.
- source — fonte della lead (default: API).
- value — valore numerico della trattativa.
- custom_fields — oggetto con campi personalizzati (vedi sotto).
Campi personalizzati e messaggi
Qualsiasi dato extra (es. il messaggio di un form) va nell'oggetto custom_fields, come coppie chiave/valore. Compaiono nella scheda della lead sotto 'Campi personalizzati'.
{
"name": "Mario Rossi",
"email": "mario.rossi@example.com",
"phone": "3401234567",
"custom_fields": {
"Messaggio": "Vorrei informazioni sul prodotto",
"Budget": "5000"
}
}Nota
Deduplicazione automatica: se esiste già una lead con la stessa email o lo stesso telefono nel tuo spazio, la richiesta non crea un doppione — l'API risponde comunque 201 restituendo la lead esistente, ed eventuali campi personalizzati e messaggi vengono agganciati a quella. Le integrazioni esterne non generano duplicati.
{
"lead": {
"id": 14512,
"name": "Mario Rossi",
"email": "mario.rossi@example.com",
"phone": "3401234567",
"status": "new",
"source": "Landing Page",
"created_at": "2026-07-30T10:15:00.000Z",
"updated_at": "2026-07-30T10:15:00.000Z"
}
}Aggiornare una lead — PATCH /leads
Passa l'id della lead come parametro query (?id=) oppure nel corpo. Vengono aggiornati solo i campi inviati.
curl -X PATCH \
"https://xnqcujporotydjiehpqq.supabase.co/functions/v1/leadwin-api/leads?id=14512" \
-H "Authorization: Bearer lw_live_la_tua_chiave_api" \
-H "Content-Type: application/json" \
-d '{ "status": "contacted", "value": 8000 }'Elencare le lead — GET /leads
Restituisce le lead del tuo spazio, dalla più recente. Supporta la paginazione con i parametri limit (max 200, default 50) e offset.
curl \
"https://xnqcujporotydjiehpqq.supabase.co/functions/v1/leadwin-api/leads?limit=50&offset=0" \
-H "Authorization: Bearer lw_live_la_tua_chiave_api"Gestione degli errori
In caso di errore l'API risponde con lo status HTTP appropriato e un corpo JSON con il campo error che descrive il problema.
- 401 — chiave API mancante, non valida o revocata.
- 400 — dati non validi (il messaggio in error spiega cosa).
- 404 — endpoint non riconosciuto.
{
"error": "Invalid or revoked API key"
}Formato delle date
Tutte le date (created_at, updated_at) sono in formato ISO 8601 in UTC (es. 2026-07-30T10:15:00.000Z), pronte per essere lette e formattate dai tuoi strumenti.
Consiglio
Per collegare Make.com usa l'app custom LeadWin: la connessione chiede solo la chiave API e i moduli 'Create a Lead', 'Update' e 'List' usano gli endpoint qui sopra.