Panoramica
Panoramica per sviluppatori
URL di base, autenticazione, ID degli oggetti, errori, paginazione, limiti di frequenza, SDK, webhook e MCP. Le convenzioni comuni a ogni integrazione con Emailit.
Questa pagina raccoglie le convenzioni da conoscere prima di scrivere codice per Emailit: dove si trova l’API, come vengono autenticate le richieste, come vengono identificati gli oggetti e come funzionano errori, paginazione e limiti di frequenza. Ogni sezione rimanda al riferimento dettagliato.
Modi di integrazione
| Interfaccia | Endpoint | A cosa serve |
|---|---|---|
| API REST | https://api.emailit.com/v2 |
Inviare email e gestire ogni risorsa dal codice. |
| SMTP relay | smtp.emailit.com |
App, framework e CMS che usano già SMTP. Vedi Impostazioni SMTP. |
| Webhook | Il tuo endpoint HTTPS | Eventi in tempo reale su consegne, engagement e risorse. |
| Server MCP | https://api.emailit.com/mcp |
Permettere ad assistenti AI come Claude, ChatGPT e Cursor di lavorare con il tuo workspace. |
| OAuth 2.1 | https://api.emailit.com/oauth/* |
Integrazioni che agiscono per conto degli utenti di Emailit senza gestire le loro chiavi API. |
Non sai se usare l’API o SMTP? Leggi API o SMTP.
URL di base e versioni
Tutti gli endpoint REST si trovano sotto un unico URL di base:
https://api.emailit.com/v2v2 è la versione attuale e l’unica documentata. L’API v1 legacy è deprecata; vedi Versionamento.
Autenticazione
Invia una chiave API come token Bearer nell’header Authorization di ogni richiesta:
curl https://api.emailit.com/v2/domains \
-H "Authorization: Bearer $EMAILIT_API_KEY"- Le chiavi API iniziano con
secret_. Le chiavi meno recenti senza prefisso continuano a funzionare. - Ogni chiave appartiene a un workspace e ha un permesso: Full Access (
full) può chiamare ogni endpoint, Sending Only (sending) può solo inviare e gestire gli invii. Vedi Chiavi API. - I token di accesso OAuth emessi per le app OAuth sono accettati nello stesso header.
- Una chiave mancante restituisce
401conAPI key required, una chiave sconosciuta restituisce401conInvalid API keye un workspace sospeso restituisce403conWorkspace is suspended.
Non chiamare mai l’API con la tua chiave da un browser o da un’app mobile. Tienila sul server. Dettagli: Autenticazione.
ID e prefissi
Ogni oggetto ha un ID stringa con un prefisso di tipo, così capisci a colpo d’occhio a cosa si riferisce un ID.
| Oggetto | Prefisso | Esempio |
|---|---|---|
em_ |
em_4K6oASS7KP9ztzWmSN9ndEu13HW |
|
| Dominio di invio | dom_ |
dom_3xQ7mLp2RkT9vB4nHs8YcWd1Ze6 |
| Chiave API | key_ |
key_4F2kN8sQwE1rT6yU3iO9pA7sD5f |
| Lista | aud_ |
aud_3zR8tY2uI6oP4aS1dF9gH7jK5lM |
| Iscritto | sub_ |
sub_4K6oASS7KP9ztzWnqS4svxApJzO |
| Contatto | con_ |
con_4A9sD2fG6hJ1kL8zX3cV7bN5mQw |
| Template | tem_ |
tem_3wE8rT1yU5iO9pA2sD6fG4hJ7kL |
| Soppressione | sup_ |
sup_4K6oASS7KP9ztzWol5ElicOeKFE |
| Webhook | wh_ |
wh_3mN7bV2cX6zL9kJ4hG1fD8sA5pO |
| Richiesta webhook | whr_ |
whr_4K6oASS7KP9ztzWpVUIec9Jneax |
| Evento | evt_ |
evt_4K6oASS7KP9ztzWpqId2iIptac5 |
| Campagna | cmp_ |
cmp_4B1nM5qW9eR3tY7uI2oP6aS8dF4 |
| Modulo | frm_ |
frm_4C3vB7nM1qW5eR9tY2uI6oP8aS4 |
| Risposta a un modulo | fsub_ |
fsub_4K6oASS7KP9ztzWqvxLV3IsFRs8 |
| Automazione | aut_ |
aut_4D5fG9hJ3kL7zX1cV6bN2mQ8wE4 |
| Esecuzione di un’automazione | aur_ |
aur_4K6oASS7KP9ztzWrWOjGgqompRo |
| Verifica email | ev_ |
ev_4E7gH1jK5lZ9xC3vB8nM2qW6eR4 |
| Lista di verifica | evl_ |
evl_4F9hJ3kL7zX1cV5bN9mQ2wE6rT8 |
| Report DMARC | dmr_ |
dmr_4K6oASS7KP9ztzWsW7e5qkOYHO6 |
I domini creati prima del passaggio agli ID dom_ possono avere ancora ID sd_ o sed_.
Alcuni endpoint accettano anche un identificatore leggibile al posto dell’ID: un nome per chiavi API, domini, webhook, campagne e liste, e un indirizzo email per contatti e soppressioni. Email, template ed eventi si cercano solo per ID.
Richieste e risposte
- JSON in ingresso, JSON in uscita. Invia i corpi delle richieste come JSON con
Content-Type: application/json. Un JSON non valido restituisce400conInvalid JSON in request body. Il corpo di una richiesta può arrivare a 50 MB; il messaggio MIME finale di un’email può arrivare a 40 MB. - Errori. La maggior parte degli errori restituisce
{"statusCode", "error", "message"}. Gli errori di convalida aggiungono un arraydetails, e gli errori di invio restituisconovalidation_errors. Le funzioni riservate a determinati piani restituiscono403con"error": "plan_required". Vedi Errori. - Paginazione. Gli endpoint di elenco accettano
pageelimit(da 1 a 100) e restituisconodata,next_page_urleprevious_page_url. Template e automazioni usanopageeper_page. Vedi Paginazione. - Filtri e ordinamento. Filtra con
field.condition=value, combina i filtri conmatch=allomatch=ore ordina conorderedirection. Ad esempio,GET /v2/emails?status.exact=bounced&order=created_at&direction=desc. Vedi Filtri e ordinamento. - Idempotenza. Invia un header
Idempotency-KeyconPOST /emailsePOST /emails/:id/forwardper rendere sicuri i nuovi tentativi. Emailit ripropone la prima risposta per 24 ore. Vedi Idempotenza. - Limiti di frequenza. L’invio è limitato per workspace, per impostazione predefinita a 2 email al secondo e 5000 email al giorno, condivisi tra API e SMTP. Le risposte includono gli header
ratelimit-*, e una risposta429includeretry-after. Vedi Limiti di frequenza e Limiti e quote.
SDK
Le librerie ufficiali incapsulano l’API REST per Node.js, PHP, Laravel, Python, Ruby, Go, Java, .NET e Rust. Si trovano tutte su GitHub. Per i comandi di installazione vedi SDK e librerie, e per esempi completi le guide per framework, a partire da Node.js.
Webhook
I webhook inviano gli eventi al tuo endpoint man mano che accadono: consegne, bounce, aperture, clic, email in entrata e modifiche a domini, contatti e altre risorse. Ogni richiesta contiene un array JSON di massimo 100 eventi ed è firmata con HMAC-SHA256 nell’header X-Emailit-Signature. Le richieste non riuscite vengono ritentate per un massimo di 11 tentativi. Inizia da Configura un webhook e Firma delle richieste.
Server MCP e strumenti AI
Il server MCP ospitato su https://api.emailit.com/mcp offre agli assistenti AI 109 strumenti che coprono l’intera API v2, dall’invio di email a campagne e automazioni. Gli assistenti accedono con OAuth o con una chiave API, e i plugin di Emailit aggiungono skill per ChatGPT, Codex, Claude Code, Cursor e Grok.
La documentazione è pubblicata anche per l’AI: ogni pagina ha una versione Markdown e /docs/llms.txt le indicizza tutte.