Passa al contenuto principale

Template WhatsApp

I template WhatsApp sono messaggi pre-approvati da Meta che possono essere inviati in qualsiasi momento, anche al di fuori della finestra 24h. Sono obbligatori per avviare una conversazione con un utente.

Endpoint

MetodoPathDescrizione
GET/api/message-server/whatsapp/templatesLista template
GET/api/message-server/whatsapp/templates/{id}Dettaglio template
POST/api/message-server/whatsapp/templates?phoneNumberId={id}Crea template
PATCH/api/message-server/whatsapp/templates/{id}Aggiorna template
DELETE/api/message-server/whatsapp/templates/{id}Elimina template

Il parametro query phoneNumberId nella creazione specifica a quale numero WhatsApp Business associare il template.

Campi creazione template

CampoTipoObb.Descrizione
namestringNome template (snake_case, solo lettere minuscole, numeri e underscore)
langstringCodice lingua (es. it, en, es)
categorystringCategoria: MARKETING, UTILITY, AUTHENTICATION
bodystringTesto del corpo con placeholder {nomePlaceholder}
headerTextstringNoTesto header (esclusivo con headerFormat)
headerFormatstringNoFormato media header: IMAGE, VIDEO, DOCUMENT
headerMediaUrlstringNoURL media per l'header
footerstringNoTesto del footer
buttonsarrayNoLista bottoni interattivi
placeholderFieldsobjectNoDefinizione link tracciati
trackButtonLinksbooleanNoTraccia click sui bottoni URL

Categorie

CategoriaQuando usarlaEsempi
MARKETINGPromozioni, offerte, newsletterSaldi, nuovi prodotti, eventi
UTILITYComunicazioni transazionaliConferma ordine, tracking, promemoria
AUTHENTICATIONVerifica identitàOTP, codici di verifica

Stati del template

StatoSignificato
APPROVEDApprovato da Meta, utilizzabile per l'invio
PENDINGIn attesa di revisione da Meta
REJECTEDRifiutato da Meta (verificare le linee guida)
PAUSEDMesso in pausa
DISABLEDDisabilitato

Bottoni

CampoTipoObb.Descrizione
typestringTipo: URL, PHONE_NUMBER, QUICK_REPLY
textstringTesto visualizzato
urlstringSolo URLURL da aprire
phoneNumberstringSolo PHONE_NUMBERNumero da chiamare

I link tracciati permettono di monitorare i click degli utenti.

Nel body del template

Inserisci il placeholder {shortLinkT1} nel testo e definisci l'URL reale in placeholderFields:

{
"body": "Ciao {firstName}, clicca qui {shortLinkT1} per la tua offerta.",
"placeholderFields": {
"WHATSAPP": {
"shortLinkT1": "https://example.com/offerta"
}
}
}

Nei bottoni

Aggiungi "trackButtonLinks": true alla richiesta:

{
"buttons": [
{ "type": "URL", "text": "Apri offerta", "url": "https://example.com/offerta" }
],
"trackButtonLinks": true
}

Esempi

Template semplice con testo

{
"name": "marketing_Welcome",
"lang": "it",
"category": "MARKETING",
"headerText": "Welcome",
"body": "Ciao {firstName} siamo contentissimi di averti tra noi",
"footer": "Per info visita il sito"
}

Template con bottoni

{
"name": "marketing_Welcome",
"lang": "it",
"category": "MARKETING",
"headerText": "Welcome",
"body": "Ciao {firstName} siamo contentissimi di averti tra noi",
"footer": "Per info visita il sito",
"buttons": [
{ "type": "URL", "text": "Apri il sito", "url": "https://agiletelecom.com/" },
{ "type": "PHONE_NUMBER", "text": "Chiamaci", "phoneNumber": "+39 123123123" },
{ "type": "QUICK_REPLY", "text": "Voglio essere contattato" }
]
}

Template con header immagine

{
"name": "marketing_Welcome",
"lang": "it",
"category": "MARKETING",
"headerFormat": "IMAGE",
"headerMediaUrl": "https://example.com/image.jpg",
"body": "Ciao {firstName} siamo contentissimi di averti tra noi",
"footer": "Per info visita il sito"
}
{
"name": "marketing_Welcome",
"lang": "it",
"category": "MARKETING",
"headerFormat": "IMAGE",
"headerMediaUrl": "https://example.com/image.jpg",
"body": "Ciao {firstName} siamo contentissimi di averti tra noi. Clicca qui {shortLinkT1} per accedere all'area riservata.",
"footer": "Per info visita il sito",
"placeholderFields": {
"WHATSAPP": {
"shortLinkT1": "https://www.example.com/landing-page"
}
}
}
{
"name": "marketing_Welcome",
"lang": "it",
"category": "MARKETING",
"headerFormat": "IMAGE",
"headerMediaUrl": "https://example.com/image.jpg",
"body": "Ciao {firstName} siamo contentissimi di averti tra noi.",
"footer": "Per info visita il sito",
"buttons": [
{ "type": "URL", "text": "Apri il sito", "url": "https://agiletelecom.com/" }
],
"trackButtonLinks": true
}

Filtri lista template

ParametroDescrizione
categoryMARKETING, UTILITY, AUTHENTICATION
statusAPPROVED, PENDING, REJECTED, PAUSED, DISABLED
phoneNumberIdFiltra per numero associato
pageNumero pagina (0-based)
sizeElementi per pagina

Aggiornamento

Con PATCH /templates/{id} puoi aggiornare solo i campi che vuoi modificare. Il template tornerà in stato PENDING per la ri-approvazione da parte di Meta.