leadwin.HelpVai all'app

API LeadWin (per sviluppatori e Make.com)

7 min

Endpoint 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.

  1. 1Vai in Integrazioni e cerca la card 'API / Make.com'.
  2. 2Premi 'Genera chiave API'.
  3. 3Copia subito la chiave: viene mostrata una sola volta e finisce automaticamente negli appunti.
  4. 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-api

Autenticazione

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.

Header di autenticazione
Authorization: Bearer lw_live_la_tua_chiave_api

Attenzione

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.

Esempio (cURL)
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'.

Corpo con 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.

Risposta 201 Created
{
  "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.

Esempio (cURL)
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.

Esempio (cURL)
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.
Esempio errore (401)
{
  "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.

Questa pagina è stata utile?