Vai al contenuto
Docs

Gestisci i profili dei contatti e i campi personalizzati, in blocco o uno alla volta.

URL di basehttps://api.emailit.com/v2AutenticazioneErroriLimiti di frequenza

Crea un contatto

Crea un contatto e, facoltativamente, lo iscrive a delle liste.

POST/contacts

Richiede una chiave API full. Gli indirizzi email sono univoci nel workspace e vengono salvati in minuscolo; creare un contatto che esiste già restituisce 409 con il contatto esistente in existing. Genera contact.created e un subscriber.created per ogni lista. Vedi Contatti.

Parametri del corpo

emailstringobbligatorio
L’indirizzo email del contatto.
first_namestring
Il nome.
last_namestring
Il cognome.
custom_fieldsobject

Valori per chiave del campo personalizzato, ad esempio {"company": "Analytical Engines"}. I valori dei campi di tipo data devono essere nel formato YYYY-MM-DD. Le chiavi che non corrispondono a un campo personalizzato vengono salvate così come sono.

audiencesstring[]
ID delle liste (aud_…) a cui iscrivere il contatto. Gli ID che non esistono nel workspace vengono saltati.
unsubscribedbooleanpredefinito: false

true per creare il contatto come disiscritto. Le campagne saltano i contatti disiscritti, e la loro appartenenza alle liste parte come disiscritta.

Restituisce

Restituisce 201 con l’oggetto contatto. Qui audiences elenca ogni lista con id, name e lo stato subscribed. Per tutti i campi, vedi Recupera un contatto.

Restituisce 422 con usage quando una lista ha raggiunto il limite di iscritti del piano. In quel caso non viene creato nessun contatto.

POST/contacts
Terminal
curl -X POST https://api.emailit.com/v2/contacts \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "ada@example.com",
    "first_name": "Ada",
    "last_name": "Lovelace",
    "custom_fields": { "company": "Analytical Engines", "plan": "pro" },
    "audiences": ["aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2"]
  }'
JSON
{
  "object": "contact",
  "id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
  "email": "ada@example.com",
  "first_name": "Ada",
  "last_name": "Lovelace",
  "custom_fields": {
    "company": "Analytical Engines",
    "plan": "pro"
  },
  "unsubscribed": false,
  "audiences": [
    {
      "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
      "name": "Newsletter",
      "subscribed": true
    }
  ],
  "created_at": "2026-10-01T10:20:31.704113Z",
  "updated_at": "2026-10-01T10:20:31.704113Z"
}

Recupera un contatto

Recupera un contatto con i campi personalizzati e le sue appartenenze alle liste.

GET/contacts/{id}

Richiede una chiave API full.

Parametri di percorso

idstringobbligatorio
L’ID del contatto (con_…) o l’indirizzo email del contatto, codificato per l’URL.

Restituisce

Restituisce l’oggetto contatto.

objectstring
Sempre contact.
idstring
L’ID del contatto.
emailstring
L’indirizzo email, in minuscolo.
first_namestring | null
Il nome.
last_namestring | null
Il cognome.
custom_fieldsobject
Valori dei campi personalizzati per chiave. {} quando non ce ne sono.
unsubscribedboolean
true se il contatto si è disiscritto da tutte le campagne.
audiencesobject[]

Le liste a cui appartiene il contatto, ciascuna con id, name e un oggetto subscriber: id (sub_…), subscribed, subscribed_at, unsubscribed_at, created_at e updated_at.

created_atstring
Quando è stato creato il contatto.
updated_atstring
Quando è stato modificato l’ultima volta il contatto.
GET/contacts/{id}
Terminal
curl https://api.emailit.com/v2/contacts/con_4K9kQdrXth7am0TPKvPrR5yd2oo \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "contact",
  "id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
  "email": "ada@example.com",
  "first_name": "Ada",
  "last_name": "Lovelace",
  "custom_fields": {
    "company": "Analytical Engines",
    "plan": "pro"
  },
  "unsubscribed": false,
  "audiences": [
    {
      "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
      "name": "Newsletter",
      "subscriber": {
        "id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
        "subscribed": true,
        "subscribed_at": "2026-10-01T10:20:31.000000Z",
        "unsubscribed_at": null,
        "created_at": "2026-10-01T10:20:31.000000Z",
        "updated_at": "2026-10-01T10:20:31.000000Z"
      }
    }
  ],
  "created_at": "2026-10-01T10:20:31.000000Z",
  "updated_at": "2026-10-01T10:20:31.000000Z"
}

Aggiorna un contatto

Aggiorna un contatto. Cambiano solo i campi che invii.

POST/contacts/{id}

Richiede una chiave API full. Genera contact.updated, con i valori precedenti dei campi modificati in previous. La modifica di audiences genera anche subscriber.created e subscriber.deleted per le appartenenze alle liste che aggiunge e rimuove.

Parametri di percorso

idstringobbligatorio
L’ID del contatto (con_…) o l’indirizzo email del contatto, codificato per l’URL.

Parametri del corpo

emailstring
Un nuovo indirizzo email. Non deve appartenere a un altro contatto.
first_namestring
Il nome.
last_namestring
Il cognome.
custom_fieldsobject
Valori dei campi personalizzati per chiave. Sostituisce tutti i campi personalizzati del contatto, quindi includi quelli che vuoi mantenere.
unsubscribedboolean
true per disiscrivere il contatto da tutte le campagne, false per reiscriverlo. Le appartenenze alle liste esistenti mantengono il proprio stato.
audiencesstring[]

L’elenco completo degli ID delle liste a cui il contatto deve appartenere. Il contatto viene aggiunto alle liste di cui non fa ancora parte e rimosso da quelle che non sono nel tuo elenco. Invia [] per rimuoverlo da tutte le liste. Per aggiungere o rimuovere una sola lista senza elencarle tutte, usa Aggiungi un iscritto o Elimina un iscritto.

Restituisce

Restituisce il contatto aggiornato nello stesso formato di Recupera un contatto. Una richiesta senza nessuno di questi campi restituisce 400.

POST/contacts/{id}
Terminal
curl -X POST https://api.emailit.com/v2/contacts/con_4K9kQdrXth7am0TPKvPrR5yd2oo \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first_name": "Augusta"}'
Terminal
curl -X POST https://api.emailit.com/v2/contacts/ada%40example.com \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "custom_fields": { "company": "Analytical Engines", "plan": "business" },
    "audiences": ["aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "aud_4KOlh9t2uw5od4qypqCtyrZyDq2"]
  }'
JSON
{
  "object": "contact",
  "id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
  "email": "ada@example.com",
  "first_name": "Augusta",
  "last_name": "Lovelace",
  "custom_fields": {
    "company": "Analytical Engines",
    "plan": "pro"
  },
  "unsubscribed": false,
  "audiences": [
    {
      "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
      "name": "Newsletter",
      "subscriber": {
        "id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
        "subscribed": true,
        "subscribed_at": "2026-10-01T10:20:31.000000Z",
        "unsubscribed_at": null,
        "created_at": "2026-10-01T10:20:31.000000Z",
        "updated_at": "2026-10-01T10:20:31.000000Z"
      }
    }
  ],
  "created_at": "2026-10-01T10:20:31.000000Z",
  "updated_at": "2026-10-02T09:03:17.000000Z"
}

Elenca i contatti

Restituisce una pagina di contatti, a partire dal più recente.

GET/contacts

Richiede una chiave API full. Usa gli stessi parametri con Esporta i contatti per scaricare tutti i risultati come file.

Parametri di query

pageintegerpredefinito: 1
La pagina da restituire.
limitintegerpredefinito: 10
Contatti per pagina, da 1 a 100.
audience_idstring
Solo i contatti di questa lista (aud_…).
unsubscribedboolean
true o false. Solo i contatti con questo stato di disiscrizione.
sortstringpredefinito: created_at
email, first_name, last_name, name, audiences, created_at o updated_at.
orderstringpredefinito: desc
asc o desc. In questo endpoint order è la direzione dell’ordinamento, non la chiave di ordinamento.
matchstringpredefinito: all
all o or. Come si combinano i filtri qui sotto.

Filtri

Aggiungi i filtri nella forma key.condition=value, ad esempio email.ends_with=@acme.com o custom_fields.plan.exact=pro. Vedi Filtri e ordinamento.

Chiave Tipo Note
email string
first_name string
last_name string
name string Nome e cognome uniti da uno spazio.
audiences string Il primo nome di lista del contatto in ordine alfabetico.
unsubscribed boolean
created_at date
updated_at date
audience_id string Solo exact e not_exact. Il valore è l’ID di una lista.
custom_fields.<key> string Sostituisci <key> con la chiave di un campo personalizzato. I valori vengono confrontati come testo.

I parametri precedenti filter[audience_id], filter[unsubscribed] e filter[custom_fields][<key>] funzionano ancora.

Restituisce

dataobject[]
I contatti di questa pagina, ciascuno con audiences come id, name e subscribed. Vedi Recupera un contatto.
total_recordsinteger
Il numero di contatti corrispondenti, su tutte le pagine.
next_page_urlstring | null
Percorso della pagina successiva con i tuoi filtri, oppure null. Vedi Paginazione.
previous_page_urlstring | null
Percorso della pagina precedente, oppure null.
GET/contacts
Terminal
curl https://api.emailit.com/v2/contacts \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
Terminal
curl -G https://api.emailit.com/v2/contacts \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  --data-urlencode "audience_id=aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2" \
  --data-urlencode "custom_fields.plan.exact=pro" \
  --data-urlencode "sort=email" \
  --data-urlencode "order=asc" \
  --data-urlencode "limit=100"
JSON
{
  "data": [
    {
      "object": "contact",
      "id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
      "email": "ada@example.com",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "custom_fields": {
        "company": "Analytical Engines",
        "plan": "pro"
      },
      "unsubscribed": false,
      "audiences": [
        {
          "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
          "name": "Newsletter",
          "subscribed": true
        }
      ],
      "created_at": "2026-10-01T10:20:31.704113Z",
      "updated_at": "2026-10-01T10:20:31.704113Z"
    },
    {
      "object": "contact",
      "id": "con_4KiXIs4xLTcJIAHnKJaLcnMZYh7",
      "email": "grace@example.com",
      "first_name": "Grace",
      "last_name": "Hopper",
      "custom_fields": {},
      "unsubscribed": true,
      "audiences": [],
      "created_at": "2026-09-28T07:55:02.118342Z",
      "updated_at": "2026-09-30T18:11:40.902215Z"
    }
  ],
  "total_records": 2,
  "next_page_url": null,
  "previous_page_url": null
}

Aggiorna i contatti in blocco

Esegue un’azione su un massimo di 100 contatti in una sola richiesta.

POST/contacts/bulk

Richiede una chiave API full. Ogni ID deve appartenere a un contatto del workspace, altrimenti non viene modificato nulla e la risposta elenca gli ID mancanti in missing. Ogni contatto genera gli stessi eventi degli endpoint per i singoli contatti. Se durante add_to_audience la lista raggiunge il limite di iscritti del piano, la richiesta si interrompe con 422 e i contatti elaborati fino a quel momento restano aggiunti.

Azione Cosa fa
delete Elimina i contatti e la loro appartenenza alle liste, come Elimina un contatto.
add_to_audience Aggiunge i contatti a audience_id. I contatti che ne fanno già parte restano come sono.
remove_from_audience Rimuove i contatti da audience_id.
unsubscribe Imposta unsubscribed su true, così le campagne saltano i contatti.
resubscribe Imposta unsubscribed su false.

Parametri del corpo

actionstringobbligatorio
delete, add_to_audience, remove_from_audience, unsubscribe o resubscribe.
idsstring[]obbligatorio
ID dei contatti (con_…), da 1 a 100. Qui gli indirizzi email non sono accettati. I duplicati vengono ignorati.
audience_idstring
L’ID della lista. Obbligatorio per add_to_audience e remove_from_audience.

Restituisce

objectstring
Sempre contact_bulk.
actionstring
L’azione eseguita.
processedinteger
Quanti contatti sono stati elaborati.
idsstring[]
Gli ID dei contatti elaborati.
POST/contacts/bulk
Terminal
curl -X POST https://api.emailit.com/v2/contacts/bulk \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action": "add_to_audience", "ids": ["con_4K9kQdrXth7am0TPKvPrR5yd2oo", "con_4KiXIs4xLTcJIAHnKJaLcnMZYh7"], "audience_id": "aud_4KOlh9t2uw5od4qypqCtyrZyDq2"}'
JSON
{
  "object": "contact_bulk",
  "action": "add_to_audience",
  "processed": 2,
  "ids": ["con_4K9kQdrXth7am0TPKvPrR5yd2oo", "con_4KiXIs4xLTcJIAHnKJaLcnMZYh7"]
}

Esporta i contatti

Scarica i contatti corrispondenti come file CSV o XLSX.

GET/contacts/export

Richiede una chiave API full. Accetta gli stessi parametri di ricerca, filtro e ordinamento di Elenca i contatti, passati nella query string, senza paginazione. POST /contacts/export funziona allo stesso modo. Un’esportazione può includere fino a 10.000 contatti; se ne corrispondono di più, la richiesta restituisce 422, quindi restringi i filtri.

Parametri di query

formatstringpredefinito: csv
csv o xlsx.
search, audience_id, unsubscribed, sort, order, match, key.conditionstring
Gli stessi parametri di Elenca i contatti.

Restituisce

Restituisce il file come allegato: contacts.csv (text/csv; charset=utf-8) o contacts.xlsx. Ogni riga è un contatto con queste colonne:

Colonna Contenuto
email L’indirizzo email.
first_name, last_name Il nome e il cognome.
unsubscribed true o false.
audiences I nomi delle liste del contatto, separati da ; .
Una colonna per ogni campo personalizzato Il valore di ogni campo personalizzato definito nel workspace, con la sua chiave come nome. I valori di tipo elenco sono uniti con ;.
created_at, updated_at Timestamp ISO 8601.
GET/contacts/export
Terminal
curl "https://api.emailit.com/v2/contacts/export?format=csv&audience_id=aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2" \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -o contacts.csv
Text
email,first_name,last_name,unsubscribed,audiences,company,plan,created_at,updated_at
ada@example.com,Ada,Lovelace,false,Newsletter,Analytical Engines,pro,2026-10-01T10:20:31.000000Z,2026-10-01T10:20:31.000000Z

Elimina un contatto

Elimina definitivamente un contatto e tutte le sue appartenenze alle liste.

DELETE/contacts/{id}

Richiede una chiave API full. L’eliminazione non si può annullare. Per smettere di inviare email a qualcuno ma conservarne i dati, aggiorna il contatto con unsubscribed: true, oppure aggiungi l’indirizzo alle soppressioni. Genera un subscriber.deleted per ogni appartenenza a una lista, poi contact.deleted.

Parametri di percorso

idstringobbligatorio
L’ID del contatto (con_…) o l’indirizzo email del contatto, codificato per l’URL.

Restituisce

objectstring
Sempre contact.
idstring
L’ID del contatto eliminato.
emailstring
L’indirizzo email del contatto.
deletedboolean
Sempre true.
DELETE/contacts/{id}
Terminal
curl -X DELETE https://api.emailit.com/v2/contacts/con_4Kt4ZXloQR8WGcMsYx8PFCUjokM \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "contact",
  "id": "con_4Kt4ZXloQR8WGcMsYx8PFCUjokM",
  "email": "alan@example.com",
  "deleted": true
}

Questa pagina ti è stata utile?

Grazie del feedback.

Grazie, leggiamo ogni messaggio.