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
namestringSìNome template (snake_case, solo lettere minuscole, numeri e underscore)
langstringSìCodice lingua (es. it, en, es)
categorystringSìCategoria: MARKETING, UTILITY, AUTHENTICATION
bodystringSìTesto 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
typestringSìTipo: URL, PHONE_NUMBER, QUICK_REPLY
textstringSìTesto 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)
limitElementi 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.