Passa al contenuto principale

Template RCS

I template RCS sono messaggi pre-configurati che possono essere riutilizzati per invii ripetuti. Supportano tre formati: testo semplice, card ricca e carosello di card.

Endpoint

MetodoPathDescrizione
GET/api/message-server/rcs/templatesLista template
GET/api/message-server/rcs/templates/{id}Dettaglio template
POST/api/message-server/rcs/templatesCrea template
PUT/api/message-server/rcs/templates/{id}Aggiorna template
DELETE/api/message-server/rcs/templates/{id}Elimina template

Tipi di template

TEXT

Il tipo più semplice: un messaggio di testo con suggerimenti opzionali.

{
"name": "rcs_welcome",
"description": "Template di benvenuto",
"type": "TEXT",
"body": {
"text": "Ciao {name}! Benvenuto nel nostro servizio.",
"suggestions": [
{ "type": "reply", "text": "Grazie!" },
{ "type": "url", "text": "Visita il sito", "url": { "url": "https://example.com" } }
],
"fallbackSms": {
"sender": "AZIENDA",
"text": "Ciao {name}! Benvenuto. Visita https://example.com"
}
}
}

CARD

Una card ricca con immagine/video, titolo, descrizione e bottoni.

{
"name": "rcs_promo",
"description": "Promozione con immagine",
"type": "CARD",
"body": {
"cardOrientation": "VERTICAL",
"thumbnailAlignment": "LEFT",
"card": {
"title": "Offerta speciale",
"description": "Scopri le novità della stagione",
"media": {
"height": "TALL",
"fileUrl": "https://example.com/promo.jpg"
},
"suggestions": [
{ "type": "url", "text": "Scopri", "url": { "url": "https://example.com/promo" } }
]
},
"fallbackSms": {
"sender": "SHOP",
"text": "Offerta speciale! Scopri: https://example.com/promo"
}
}
}

Un carosello di card scorrevoli orizzontalmente.

{
"name": "rcs_catalogo",
"description": "Catalogo prodotti",
"type": "CAROUSEL",
"body": {
"cardWidth": "MEDIUM",
"cards": [
{
"title": "Prodotto A",
"description": "29.99 EUR",
"media": { "height": "MEDIUM", "fileUrl": "https://example.com/a.jpg" },
"suggestions": [
{ "type": "url", "text": "Dettagli", "url": { "url": "https://example.com/a" } }
]
},
{
"title": "Prodotto B",
"description": "49.99 EUR",
"media": { "height": "MEDIUM", "fileUrl": "https://example.com/b.jpg" },
"suggestions": [
{ "type": "url", "text": "Dettagli", "url": { "url": "https://example.com/b" } }
]
}
],
"fallbackSms": {
"sender": "SHOP",
"text": "Scopri il nostro catalogo: https://example.com"
}
}
}

Campi creazione template

CampoTipoObb.Descrizione
namestringNome del template
descriptionstringNoDescrizione
typestringTipo: TEXT, CARD, CAROUSEL
bodyobjectContenuto (struttura varia in base al tipo)

Suggerimenti disponibili

TipoDescrizioneCampi
replyRisposta rapidatext
urlApre un linktext, url.url
dialAvvia chiamatatext, dial.phoneNumber
locationCoordinatesMostra posizionetext, locationCoordinates.latitude/longitude/label
locationQueryCerca posizionetext, locationQuery.query
calendarEvento calendariotext, calendar.title/description/startTime/endTime

Fallback

Ogni template può includere:

  • fallbackWhatsApp: se RCS non è disponibile, invia su WhatsApp
  • fallbackSms: se il canale precedente fallisce, invia SMS (obbligatorio se fallbackWhatsApp è presente)

Media

CampoTipoDescrizione
heightenumSHORT, MEDIUM, TALL, UNSPECIFIED
fileUrlstringURL pubblico del media (*esclusivo con mediaKey)
mediaKeystringChiave media interna (*esclusivo con fileUrl)
thumbnailUrlstringURL anteprima (opzionale)

Filtri lista template

ParametroDescrizione
searchRicerca su nome/descrizione
typeFiltra per tipo: TEXT, CARD, CAROUSEL
enabled0 = solo disabilitati, 1 = solo abilitati
sortByCampo ordinamento (name, type, creationDate, ecc.)
sortOrderasc o desc
limitElementi per pagina
pageNumero pagina (0-based)