Vai al contenuto
Docs

Crea versioni dei template, pubblicane una per alias e usale per inviare.

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

Crea un template

Crea una versione di un template. Le versioni che condividono un alias appartengono allo stesso template, e per ogni alias è pubblicata una sola versione alla volta. Quando invii un’email con template impostato su un alias, Emailit usa la versione pubblicata. Richiede una chiave API con il permesso full.

POST/templates

Corpo della richiesta

namestringObbligatorio

Nome del template mostrato nel pannello. Fino a 191 caratteri.

aliasstringObbligatorio

Identificatore che raggruppa le versioni di un template. Fino a 191 caratteri; solo lettere minuscole, numeri, trattini bassi e trattini (^[a-z0-9_-]+$).

Se nessun template usa ancora questo alias, la nuova versione viene pubblicata subito. Se l’alias esiste già, la nuova versione viene creata non pubblicata (published_at è null) e la pubblichi con Pubblica un template.

fromstring

Mittente predefinito, ad esempio Acme <hello@acme.com>. Fino a 191 caratteri.

subjectstring

Riga dell’oggetto predefinita. Fino a 191 caratteri. Può contenere variabili Temple come {{ first_name }}.

reply_tostring | string[]

Indirizzo di risposta (Reply-To), oppure un array di indirizzi. Ogni valore deve essere un indirizzo email valido.

htmlstring

Corpo HTML.

textstring

Corpo in testo semplice.

sourcestring

Documento sorgente dell’editor, ad esempio il JSON Dragit di un template creato nell’editor drag and drop. Viene salvato così com’è. Con editor: "mjml", contiene l’MJML: Emailit lo convalida, lo memorizza come documento MJML e lo compila in html.

editorstring

Editor a cui appartiene il template: html (predefinito), text, dragit o tiptap. mjml è in alpha e aperto solo al team di Emailit; le altre richieste ricevono 403 con error: "mjml_alpha". Vedi Editor e API MJML.

Restituisce

Restituisce 201 Created con il template in data e un message di conferma. Il template include html, text e source. Emailit invia anche un evento webhook template.created.

I template MJML restituiscono anche un oggetto mjml con le versioni del documento. Un MJML non valido restituisce 422 con errors.source e diagnostics; vedi Convalida.

Se un campo non supera la convalida, la risposta è 400 con message: "Validation failed" e un oggetto errors organizzato per campo, ad esempio per un alias con lettere maiuscole o un indirizzo reply_to non valido. Se invece mancano name o alias, o se il valore di editor non è consentito, viene restituito l’errore di convalida standard 400 con un array details. Vedi Errori.

POST/templates
Terminal
curl https://api.emailit.com/v2/templates \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Welcome email",
    "alias": "welcome-email",
    "subject": "Welcome to Acme, {{ first_name }}",
    "html": "<h1>Welcome, {{ first_name }}</h1>"
  }'
JSON
{
  "data": {
    "id": "tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a",
    "name": "Welcome email",
    "alias": "welcome-email",
    "from": null,
    "subject": "Welcome to Acme, {{ first_name }}",
    "reply_to": null,
    "html": "<h1>Welcome, {{ first_name }}</h1>",
    "text": null,
    "source": null,
    "editor": "html",
    "published_at": "2026-09-30T10:30:00.482119Z",
    "preview_url": null,
    "created_at": "2026-09-30T10:30:00.482119Z",
    "updated_at": "2026-09-30T10:30:00.482119Z"
  },
  "message": "Template was successfully created."
}

Recupera un template

Restituisce una versione di un template, compreso il contenuto, ed elenca le altre versioni dello stesso alias in versions. I template si cercano solo per ID, non per alias. Richiede una chiave API con il permesso full.

GET/templates/:id

Parametri di percorso

idstringObbligatorio

ID del template, ad esempio tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a.

Restituisce

Restituisce 200 OK con il template in data. Oltre ai campi del template, la risposta contiene un array versions con id, name, published_at, created_at e updated_at di tutte le altre versioni che condividono l’alias, a partire dalla più recente. La versione pubblicata è quella con published_at diverso da null.

Restituisce 404 con message: "Template not found" se l’ID non esiste nel workspace.

GET/templates/{id}
Terminal
curl https://api.emailit.com/v2/templates/tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a \
  -H "Authorization: Bearer your_api_key"
JSON
{
  "data": {
    "id": "tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a",
    "name": "Welcome email",
    "alias": "welcome-email",
    "from": "Acme <hello@acme.com>",
    "subject": "Welcome to Acme, {{ first_name }}",
    "reply_to": ["support@acme.com"],
    "html": "<h1>Welcome, {{ first_name }}</h1>",
    "text": "Welcome, {{ first_name }}",
    "source": null,
    "editor": "html",
    "published_at": "2026-09-30T10:30:00.482119Z",
    "preview_url": null,
    "created_at": "2026-09-28T08:12:45.103882Z",
    "updated_at": "2026-09-30T10:30:00.482119Z",
    "versions": [
      {
        "id": "tem_2xKyB4qLm7RtV9sNd3HwEa6uC1f",
        "name": "Welcome email (October)",
        "published_at": null,
        "created_at": "2026-09-30T14:02:11.550731Z",
        "updated_at": "2026-09-30T14:02:11.550731Z"
      }
    ]
  }
}

Aggiorna un template

Aggiorna una versione di un template. Invia solo i campi che vuoi modificare. La versione mantiene il suo stato di pubblicazione: una versione pubblicata resta pubblicata e una bozza resta una bozza. Richiede una chiave API con il permesso full.

POST/templates/:id

Parametri di percorso

idstringObbligatorio

ID del template, ad esempio tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a.

Corpo della richiesta

namestring

Nome del template. Fino a 191 caratteri.

aliasstring

Nuovo alias. Fino a 191 caratteri; solo lettere minuscole, numeri, trattini bassi e trattini. Non può essere un alias già usato da un altro template.

fromstring

Mittente predefinito, ad esempio Acme <hello@acme.com>. Fino a 191 caratteri. Invia una stringa vuota per cancellarlo.

subjectstring

Riga dell’oggetto predefinita. Fino a 191 caratteri. Invia una stringa vuota per cancellarla.

reply_tostring | string[]

Indirizzo di risposta (Reply-To) o array di indirizzi. Invia una stringa vuota per cancellarlo.

htmlstring

Corpo HTML.

textstring

Corpo in testo semplice.

sourcestring

Documento sorgente dell’editor, ad esempio il JSON Dragit. Per un template MJML, l’MJML completo: Emailit lo convalida e ricompila html, e qualsiasi html che invii viene ignorato.

editorstring

html, text, dragit o tiptap. mjml è in alpha e aperto solo al team di Emailit; senza accesso a MJML, modificare il contenuto di un template MJML restituisce 403 con error: "mjml_alpha". Rinominarlo o pubblicarlo funziona per tutti. Vedi Editor e API MJML.

Restituisce

Restituisce 200 OK con il template aggiornato in data e un message di conferma. Emailit invia anche un evento webhook template.updated.

Restituisce 400 con message: "Validation failed" e un oggetto errors quando un valore non è valido, ad esempio "Alias already exists". I valori più lunghi di 191 caratteri o un editor sconosciuto restituiscono l’errore di convalida standard 400. Restituisce 404 se il template non esiste.

Per fare in modo che questa versione sia quella usata per gli invii, chiama Pubblica un template.

POST/templates/{id}
Terminal
curl -X POST https://api.emailit.com/v2/templates/tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"subject": "Welcome aboard, {{ first_name }}"}'
JSON
{
  "data": {
    "id": "tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a",
    "name": "Welcome email",
    "alias": "welcome-email",
    "from": "Acme <hello@acme.com>",
    "subject": "Welcome aboard, {{ first_name }}",
    "reply_to": ["support@acme.com"],
    "html": "<h1>Welcome, {{ first_name }}</h1>",
    "text": "Welcome, {{ first_name }}",
    "source": null,
    "editor": "html",
    "published_at": "2026-09-30T10:30:00.482119Z",
    "preview_url": null,
    "created_at": "2026-09-28T08:12:45.103882Z",
    "updated_at": "2026-10-01T09:15:27.640000Z"
  },
  "message": "Template was successfully updated."
}

Elenca i template

Restituisce la versione pubblicata di ogni template, a partire dalla più recente. Le versioni non pubblicate non sono elencate; recupera un template per vedere tutte le versioni del suo alias. Richiede una chiave API con il permesso full.

GET/templates

Parametri di query

pageinteger

Numero di pagina, a partire da 1. Il valore predefinito è 1.

per_pageinteger

Template per pagina, da 1 a 100. Il valore predefinito è 25.

include_contentboolean

Impostalo su true per includere html, text e source in ogni template. Per impostazione predefinita sono omessi, per mantenere leggere le risposte.

filter[name]string

Corrispondenza parziale sul nome o sull’alias del template, senza distinzione tra maiuscole e minuscole.

filter[alias]string

Alias esatto.

filter[editor]string

Editor: html, text, dragit, tiptap o mjml (alpha).

matchstring

all (predefinito) richiede che corrispondano tutti i filtri key.condition. Con or basta che ne corrisponda uno. Vedi Filtri e ordinamento.

sortstring

Chiave di ordinamento: name, alias, created_at (predefinito), updated_at o published_at.

orderstring

Direzione dell’ordinamento: asc o desc (predefinito).

Filtri

I filtri degli elenchi sono un unico livello di parametri di query key.condition=value. Vedi Filtri e ordinamento per match, order, direction e l’elenco delle condizioni per tipo.

Chiavi di filtro

ChiaveTipoCondizioniNote
namestringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
aliasstringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
editorstringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
subjectstringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
created_atdateexact, before, after, empty, not_empty

Chiavi di ordinamento

Questo endpoint ordina con sort impostato su una di queste chiavi e order impostato su asc o desc (qui order=<key> restituisce 400): name, alias, editor, subject, created_at

In questo endpoint, order accetta solo asc o desc. Passa la chiave di ordinamento in sort, ad esempio sort=name&order=asc.

Restituisce

Restituisce 200 OK con i template in data e i campi di paginazione total_records, per_page, current_page e total_pages. Ogni template include total_versions, il numero di versioni che condividono il suo alias.

GET/templates
Terminal
curl https://api.emailit.com/v2/templates \
  -H "Authorization: Bearer your_api_key"
JSON
{
  "data": [
    {
      "id": "tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a",
      "name": "Welcome email",
      "alias": "welcome-email",
      "from": "Acme <hello@acme.com>",
      "subject": "Welcome to Acme, {{ first_name }}",
      "reply_to": ["support@acme.com"],
      "editor": "html",
      "published_at": "2026-09-30T10:30:00.482119Z",
      "preview_url": null,
      "total_versions": 3,
      "created_at": "2026-09-28T08:12:45.103882Z",
      "updated_at": "2026-09-30T10:30:00.482119Z"
    }
  ],
  "total_records": 1,
  "per_page": 25,
  "current_page": 1,
  "total_pages": 1
}

Pubblica un template

Pubblica una versione di un template e ritira tutte le altre versioni con lo stesso alias, in un’unica transazione. Usalo per mettere in produzione una nuova bozza o per tornare a una versione precedente. Richiede una chiave API con il permesso full.

POST/templates/:id/publish

Parametri di percorso

idstringObbligatorio

ID della versione da pubblicare, ad esempio tem_2xKyB4qLm7RtV9sNd3HwEa6uC1f.

Corpo della richiesta

Nessun corpo. Pubblicare una versione già pubblicata imposta un nuovo published_at.

Restituisce

Restituisce 200 OK con il template pubblicato in data e un message di conferma. Restituisce 404 se il template non esiste.

Emailit invia un evento webhook template.updated per la versione che hai pubblicato e uno per ogni versione ritirata.

POST/templates/{id}/publish
Terminal
curl -X POST https://api.emailit.com/v2/templates/tem_2xKyB4qLm7RtV9sNd3HwEa6uC1f/publish \
  -H "Authorization: Bearer your_api_key"
JSON
{
  "data": {
    "id": "tem_2xKyB4qLm7RtV9sNd3HwEa6uC1f",
    "name": "Welcome email (October)",
    "alias": "welcome-email",
    "from": "Acme <hello@acme.com>",
    "subject": "Welcome to Acme, {{ first_name }}",
    "reply_to": ["support@acme.com"],
    "html": "<h1>Welcome, {{ first_name }}</h1><p>Here is your October guide.</p>",
    "text": "Welcome, {{ first_name }}. Here is your October guide.",
    "source": null,
    "editor": "html",
    "published_at": "2026-10-01T09:20:04.118502Z",
    "preview_url": null,
    "created_at": "2026-09-30T14:02:11.550731Z",
    "updated_at": "2026-10-01T09:20:04.118000Z"
  },
  "message": "Template was successfully published."
}

Elimina un template

Elimina definitivamente una versione di un template. Le altre versioni dello stesso alias vengono mantenute. Richiede una chiave API con il permesso full.

DELETE/templates/:id

Parametri di percorso

idstringObbligatorio

ID del template, ad esempio tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a.

Restituisce

Restituisce 200 OK con data: null e un message di conferma. Emailit invia un evento webhook template.deleted con la versione eliminata. Restituisce 404 se il template non esiste.

Se elimini la versione pubblicata, nessuna versione di quell’alias risulta pubblicata finché non ne pubblichi un’altra, e gli invii con quell’alias non riescono. L’eliminazione di una bozza non influisce sulla versione pubblicata. L’eliminazione non si può annullare.

DELETE/templates/{id}
Terminal
curl -X DELETE https://api.emailit.com/v2/templates/tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a \
  -H "Authorization: Bearer your_api_key"
JSON
{
  "data": null,
  "message": "Template was successfully deleted."
}

Questa pagina ti è stata utile?

Grazie del feedback.

Grazie, leggiamo ogni messaggio.