Footer Email & Branding

Quando Tratto aggiunge un footer alle tue email (il badge "Sent using Tratto", obbligatorio su alcuni piani e facoltativo sugli altri) e come impostare via API colori e logo del marchio.

Tratto può aggiungere un piccolo footer alla versione HTML delle email che invii. Esistono due varianti:

  • Footer branded — un badge "Sent using Tratto", più un link di disiscrizione quando l'invio è legato a un contatto.
  • Footer plain di disiscrizione — solo il link di disiscrizione, senza badge.

Quale dei due riceve un'email dipende dal tuo piano e da un'unica impostazione di workspace.

Alcuni piani richiedono il footer branded: oggi è solo Free. Su questi piani ogni email HTML porta il footer branded "Sent using Tratto" — campagne, invii transazionali e test dei template, senza eccezioni. Non può essere disattivato.

  • Campagne ed email transazionali legate a un contatto: footer branded con link di disiscrizione.
  • Email transazionali non legate a un contatto e test dei template: footer branded senza link di disiscrizione.

Altri piani

Su tutti gli altri piani (oggi Starter, Growth e Scale) il badge è disattivato di default:

  • Campagne: footer plain di disiscrizione (le email di marketing devono sempre offrire un opt-out).
  • Email transazionali e test: nessun footer — il tuo HTML viene consegnato così com'è.

Mantenere il badge (opt-in)

Un workspace su un piano senza footer obbligatorio può scegliere di mantenere il footer branded con l'impostazione di workspace keepTrattoBranding. Quando è attiva, ogni invio HTML riceve il footer branded, esattamente come su un piano che lo richiede:

footer branded  =  il piano lo richiede     (oggi: Free — non configurabile)
                oppure keepTrattoBranding è true

Puoi cambiare l'impostazione in due modi:

  • Dashboard — il toggle branding in Settings → Workspace.
  • API — PATCH /v1/workspace:
curl -X PATCH https://api.tratto.email/v1/workspace \
  -H "Authorization: Bearer tratto_live_..." \
  -H "Content-Type: application/json" \
  -d '{"keepTrattoBranding": true}'

Il campo è restituito da GET /v1/workspace ed è documentato nell'API Reference.

Da sapere:

  • keepTrattoBranding è accettato su qualsiasi piano. Su un piano che richiede il footer non ha effetto: il footer c'è comunque.
  • L'impostazione persiste ai cambi di piano: passare a un piano che richiede il footer e poi tornare indietro non azzera la tua scelta.
  • Supporto SDK: l'SDK Node.js (@tratto/email) accetta keepTrattoBranding in workspace.update() dalla 1.1.0. L'SDK Python (tratto-email) non ha un parametro né un tipo dedicato, ma workspace.update() manda come corpo della richiesta il dict che gli passi, quindi il campo in camelCase funziona: client.workspace.update({'keepTrattoBranding': True}).

Il comportamento in sintesi

PianokeepTrattoBrandingCampagnaTransazionale legata a un contattoTransazionale / test, senza contatto
Footer obbligatorio (oggi Free)qualsiasi valore (ignorato)Branded + disiscrizioneBranded + disiscrizioneBranded, senza link di disiscrizione
Altri piani (oggi Starter, Growth, Scale)trueBranded + disiscrizioneBranded + disiscrizioneBranded, senza link di disiscrizione
Altri pianifalse / non impostato (default)Plain disiscrizioneNessun footerNessun footer

Indipendentemente dal footer, ogni email di campagna o di flusso porta gli header di disiscrizione one-click RFC 8058, e il link nel footer apre la pagina delle preferenze del destinatario: vedi Privacy & Compliance.

Colori e logo del marchio

Il marchio del workspace (un tema, tre colori e un logo) viene applicato quando si renderizzano i template Markdown; quella pagina spiega dove finisce ogni colore nell'email. Questa sezione è l'API per impostarlo. Lo puoi impostare anche da Settings → Workspace in dashboard.

Tutte le rotte qui sotto richiedono workspace:write. Con una sessione di dashboard può usarle solo il proprietario del workspace. GET /v1/workspace restituisce i valori attuali nell'oggetto brand.

Tema e colori

Manda un oggetto brand a PATCH /v1/workspace:

curl -X PATCH https://api.tratto.email/v1/workspace \
  -H "Authorization: Bearer tratto_live_..." \
  -H "Content-Type: application/json" \
  -d '{"brand": {"theme": "light", "primaryColor": "#C8382A", "accentColor": null}}'
CampoValoreA cosa serve
themelight, dark o autoLa palette di partenza. auto segue l'impostazione chiara o scura di chi legge. Un template che dichiara il proprio theme vince comunque
primaryColor#RRGGBBLink e sfondo dei pulsanti primari
secondaryColor#RRGGBBBordo ed etichetta dei pulsanti secondari
accentColor#RRGGBBDivisori e linee orizzontali

L'aggiornamento è parziale: una chiave che ometti mantiene il valore salvato, una chiave a null viene azzerata. I colori vanno scritti con sei cifre esadecimali, come #C8382A: un #C83 a tre cifre o un nome come red rispondono 422 VALIDATION_ERROR.

La risposta è l'intero workspace, con il brand aggiornato. L'array contrastWarnings segnala i colori che rischiano di leggersi male (primary_low_contrast, secondary_low_contrast, button_label_low_contrast, ciascuno con il suo ratio di contrasto). Sono solo consigli: il colore viene salvato e applicato lo stesso.

Il logo non si imposta da qui. logoUrl, logoWidth e logoHeight li gestisce il server. Se li mandi dentro brand vengono scartati senza errore e il logo salvato non cambia. È ciò che impedisce di far puntare le email inviate da Tratto a un'immagine ospitata altrove: l'unico modo per impostare un logo è caricarne il file.

PUT /v1/workspace/brand/logo vuole come corpo della richiesta il file dell'immagine così com'è, non JSON e non un form:

curl -X PUT https://api.tratto.email/v1/workspace/brand/logo \
  -H "Authorization: Bearer tratto_live_..." \
  -H "Content-Type: image/png" \
  --data-binary @logo.png
RegolaSe non è rispettata
Content-Type è image/png o image/jpeg415 UNSUPPORTED_MEDIA_TYPE, prima ancora di leggere il file. È la risposta per image/svg+xml, image/webp e image/gif
Il file è davvero un PNG o un JPEG. Il formato si legge dai byte del file, non dall'header422 VALIDATION_ERROR
Al massimo 150 KB (153.600 byte)413 PAYLOAD_TOO_LARGE
Al massimo 600 px sul lato lungo422 VALIDATION_ERROR
Almeno 8 px su entrambi i lati una volta adattato all'email422 VALIDATION_ERROR

SVG, WebP e GIF sono rifiutati perché Gmail e Outlook li eliminano o li mostrano male. L'email adatta il logo dentro un riquadro di 160 × 64 px, mantenendo le proporzioni e senza mai ingrandirlo; un'immagine molto allungata può ridursi a una striscia, ed è l'ultima regola della tabella.

Risposta:

{
  "data": {
    "theme": null,
    "primaryColor": null,
    "secondaryColor": null,
    "accentColor": null,
    "logoUrl": "https://assets.tratto.email/l/<sha256>.png",
    "logoWidth": 320,
    "logoHeight": 128,
    "logoBytes": 24576,
    "logoDisplayWidth": 160,
    "logoDisplayHeight": 64,
    "logoWarnings": [],
    "contrastWarnings": []
  }
}

logoDisplayWidth e logoDisplayHeight sono le dimensioni con cui il logo compare nell'email. logoWarnings contiene consigli, mai rifiuti:

CodiceQuando
logo_low_resolutionL'immagine è larga meno del doppio della larghezza con cui viene mostrata, quindi sugli schermi ad alta densità risulta sfocata
logo_too_smallViene mostrata alta meno di 24 px
logo_heavyIl file supera i 60 KB (61.440 byte); ogni destinatario lo scarica a ogni apertura

Ogni avviso riporta actual e recommended: pixel per i due codici sulle dimensioni, byte per logo_heavy.

Il file salvato prende il nome dal suo contenuto e non cambia mai. Caricare un nuovo logo produce un nuovo logoUrl, e quello vecchio continua a funzionare: le email già consegnate mostrano il logo con cui sono partite.

curl -X DELETE https://api.tratto.email/v1/workspace/brand/logo \
  -H "Authorization: Bearer tratto_live_..."

Restituisce 200 con l'oggetto brand e i campi del logo a null. Le email inviate da quel momento non hanno logo. Il file salvato non viene cancellato, perché le email già consegnate lo richiamano ancora.

Prossimi Passi


Modifica questa pagina su GitHub

Ultimo aggiornamento