Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Aggiunta di messaggi interattivi Amazon Lex per i clienti in chat
I messaggi interattivi sono messaggi complessi che presentano un prompt e opzioni di visualizzazione rapide e preconfigurate tra cui il cliente può scegliere. Questi messaggi sono basati su Amazon Lex e configurati tramite Amazon Lex utilizzando una AWS Lambda funzione.
Suggerimento
Se hai effettuato l'integrazione con Apple Messages for Business, consulta Tipi di messaggi interattivi
Limiti di convalida
I limiti dei campi di stringa (ad esempio, titolo, sottotitolo, ecc.) dovrebbero essere applicati dal client (ovvero, un’interfaccia personalizzata o il widget di comunicazione ospitato). L'SendMessageAPI verifica solo che la dimensione totale della stringa sia inferiore a 20 KB.
-
Quando utilizzi il widget di comunicazione ospitato senza personalizzarlo, se la stringa supera i limiti dei campi, viene troncata nell’interfaccia utente e viene aggiunta un’ellissi (...). È possibile determinare come applicare i limiti dei campi personalizzando il widget.
-
Se effettui l'integrazione con altre piattaforme (come Apple Messages for Business), consulta i limiti in questo argomento per Amazon Connect e consulta i limiti nella documentazione per l'altra piattaforma. Ad esempio, le risposte rapide non sono supportate nelle versioni precedenti di iOS.
È necessario rispettare tutti gli altri limiti di campo affinché il messaggio venga inviato correttamente.
Modelli di visualizzazione dei messaggi
Amazon Connect fornisce i seguenti modelli di visualizzazione dei messaggi. Usali per fornire informazioni ai clienti in una chat:
Questi modelli definiscono come verranno visualizzate le informazioni e quali informazioni verranno visualizzate nell’interfaccia della chat. Quando i messaggi interattivi vengono inviati tramite chat, i flussi convalidano che il formato del messaggio segua uno di questi modelli.
Modello di selezione di elenchi
Utilizza il modello di selezione degli elenchi per presentare al cliente un elenco con un massimo di sei scelte. Ogni scelta può avere una propria immagine.
Le immagini seguenti mostrano due esempi di come il modello di selezione degli elenchi visualizza le informazioni in una chat.
-
Un'immagine mostra tre pulsanti, ognuno con il nome di un frutto nel testo: mela, arancia, banana.
-
La seconda immagine mostra l'immagine di un negozio e poi, sotto di essa, tre pulsanti, ognuno con il nome, l'immagine e il prezzo del frutto.
Il codice seguente è il modello di selezione degli elenchi che puoi usare nella tua Lambda. Tenere presente quanto segue:
-
Il testo in grassetto è un parametro obbligatorio.
-
In alcuni casi, se l’elemento principale non è obbligatorio, ma i campi nell’elemento principale lo sono, allora i campi sono obbligatori. Ad esempio, vedi la struttura
data.replyMessagenel modello seguente. Se la struttura esiste,titleè obbligatorio. Altrimenti, unreplyMessagecompleto è facoltativo.
{ "templateType":"ListPicker", "version":"1.0", "data":{ "replyMessage":{ "title":"Thanks for selecting!", "subtitle":"Produce selected", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg", "imageDescription":"Select a produce to buy" }, "content":{ "title":"What produce would you like to buy?", "subtitle":"Tap to select option", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg", "imageDescription":"Select a produce to buy", "elements":[ { "title":"Apple", "subtitle":"$1.00", "imageType":"URL", "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg" }, { "title":"Orange", "subtitle":"$1.50", "imageType":"URL", "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/orange_17.7kb.jpg", }, { "title":"Banana", "subtitle":"$10.00", "imageType":"URL", "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/banana_7.9kb.jpg", "imageDescription":"Banana" } ] }
Limiti del selettore di elenchi
La tabella seguente elenca i limiti per ciascuno degli elementi del selettore di elenchi, se scegli di creare la Lambda da zero. I parametri obbligatori sono in grassetto.
Per inviare opzioni illimitate, implementa i pulsanti di azione nell'applicazione. Per ulteriori informazioni, consulta Implementazione dei pulsanti di azione nel selettore/pannello interattivo dell'elenco dei messaggi
| Campo principale | Campo | Richiesto | Caratteri minimi | Caratteri massimi | Altro requisito |
|---|---|---|---|---|---|
|
templateType |
Sì |
Tipo di modello valido |
|||
|
dati |
Sì |
||||
|
versione |
Sì |
Deve essere "1.0" |
|||
dati |
contenuto | Sì | |||
| replyMessage | No | ||||
contenuto |
titolo | Sì | 1 |
5000 |
Dovrebbe essere una descrizione per i modelli immediati |
| elementi | Sì | 1 elemento |
10 elementi |
Questo è un array di elementi. Massimo 10 elementi nell'array. Per inviare un numero illimitato di elementi, utilizza la funzionalità dei pulsanti di azione. |
|
| Sottotitolo | No | 0 |
5000 |
||
| multiSelect | No | Booleano: indica se il cliente può effettuare selezioni multiple. Il valore predefinito è false (falso). Questo campo è applicabile solo ai flussi di Apple Messages for Business. |
|||
| targetForLinks | No |
Deve essere uno dei valori seguenti:
Consulta la nota dopo questa tabella. |
|||
| imageType | No | 0 |
50 |
Deve essere "URL" |
|
| imageData | No | 0 |
200 |
Deve essere un URL valido accessibile al pubblico |
|
| imageDescription | No | 0 |
50 |
||
| referenceId | No |
|
Stringa. Necessario solo per la funzionalità del pulsante di azione. |
||
| listId | No |
|
Stringa. Necessario solo per la funzionalità del pulsante di azione. |
||
| preIndex | No |
|
Numero. Necessario solo per la funzionalità del pulsante di azione. |
||
| nextIndex | No |
|
Numero. Necessario solo per la funzionalità del pulsante di azione. |
||
| templateIdentifier | No |
|
Numero. Dovrebbe essere un UUID. Questo campo è obbligatorio se List Picker/Panel viene utilizzato in un carosello. |
||
elementi |
titolo | Sì | 1 |
5000 |
|
| Sottotitolo | No | 0 |
5000 |
||
| imageType | No | 0 |
50 |
Deve essere "URL" |
|
| imageData | No | 0 |
200 |
Deve essere un URL valido accessibile al pubblico |
|
| imageDescription | No | 0 |
50 |
Non può esistere senza un'immagine |
|
| actionDetail | No |
|
|
Necessario solo per la funzionalità del pulsante di azione. Deve essere "PREVIOUS_OPTIONS" o "SHOW_MORE". |
|
replyMessage |
titolo | Sì | 1 |
5000 |
|
| Sottotitolo | No | 0 |
5000 |
||
| imageType | No | 0 |
50 |
Deve essere "URL" |
|
| imageData | No | 0 |
200 |
Deve essere un URL valido accessibile al pubblico |
|
| imageDescription | No | 0 |
50 |
Non può esistere senza un'immagine |
Nota
Se utilizzi il campo targetForLinks e il widget di comunicazione Amazon Connect, per aprire i link nella stessa scheda del browser, è necessario aggiungere il seguente attributo allo snippet di codice del widget per consentire all’iframe corrente di aprire e navigare tra i link all’interno della stessa scheda:
amazon_connect('updateSandboxAttributes', 'allow-scripts allow-same-origin allow-popups allow-downloads allow-top-navigation-by-user-activation')
Modello Selettore orario
Il modello Selettore orario è utile per consentire ai clienti di fissare appuntamenti. Puoi fornire fino a 40 fasce orarie al cliente in una chat.
Le immagini seguenti mostrano due esempi di come il modello Selettore tempo visualizza le informazioni in una chat.
-
Un'immagine mostra una data e, al di sotto di essa, una fascia oraria.
-
La seconda immagine mostra una data e, al di sotto di essa, due fasce orarie.
L’immagine seguente mostra il selettore dell’ora con un’immagine
Nota
Se utilizzi questo modello di messaggio con il canale Apple Messages for Business e non aggiungi alcuna immagine, Amazon Connect ne aggiungerà una predefinita sia nella risposta che nel messaggio di risposta.
Il codice seguente è il modello di selezione del tempo che puoi usare nella tua Lambda. Tenere presente quanto segue:
-
Il testo in grassetto è un parametro obbligatorio.
-
In alcuni casi, se l’elemento principale non è obbligatorio, ma i campi nell’elemento principale lo sono, allora i campi sono obbligatori. Ad esempio, vedi la struttura
data.replyMessagenel modello seguente. Se la struttura esiste,titleè obbligatorio. Altrimenti, unreplyMessagecompleto è facoltativo.
{ "templateType":"TimePicker", "version":"1.0", "data":{ "replyMessage":{ "title":"Thanks for selecting", "subtitle":"Appointment selected", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/booked.jpg", "imageDescription":"Appointment booked" }, "content":{ "title":"Schedule appointment", "subtitle":"Tap to select option", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/calendar.jpg", "imageDescription":"Appointment booked", "timeZoneOffset":-450, "location":{ "latitude":47.616299, "longitude":-122.4311, "title":"Oscar", "radius":1, }, "timeslots":[ { "date" : "2020-10-31T17:00+00:00", "duration": 60, }, { "date" : "2020-11-15T13:00+00:00", "duration": 60, }, { "date" : "2020-11-15T16:00+00:00", "duration": 60, } ], } } } }
Limiti del selettore di orario
La tabella seguente elenca i limiti per ciascuno degli elementi del selettore di orario. Usa queste informazioni se scegli di creare la Lambda da zero. I parametri obbligatori sono in grassetto.
| Campo principale | Campo | Richiesto | Caratteri minimi | Caratteri massimi | Altro requisito |
|---|---|---|---|---|---|
|
templateType |
Sì |
Tipo di modello valido |
|||
|
dati |
Sì |
||||
|
versione |
Sì |
Deve essere "1.0" |
|||
dati |
replyMessage | No | |||
| contenuto | Sì | ||||
replyMessage |
titolo |
Sì | 1 |
5000 |
Dovrebbe essere una descrizione per i modelli immediati |
| Sottotitolo | No | 0 |
5000 |
||
| imageType | No | 0 |
50 |
Deve essere "URL" | |
| imageData | No | 0 |
200 |
Deve essere un URL valido accessibile al pubblico | |
| imageDescription | No | 0 |
50 |
Non può esistere senza un'immagine | |
contenuto |
titolo |
Sì | 1 |
5000 |
Dovrebbe essere una descrizione per i modelli immediati |
| Sottotitolo | No | 0 |
200 |
||
| imageType | No | 0 |
50 |
Deve essere "URL" | |
| imageData | No | 0 |
200 |
Deve essere un URL valido accessibile al pubblico | |
| imageDescription | No | 0 |
50 |
Non può esistere senza un'immagine | |
| offset del fuso orario | No | -720 |
840 |
Questo è un campo opzionale quando non è impostato. Il nostro client di esempio utilizza per impostazione predefinita il fuso orario dell'utente. Se impostato, viene visualizzato in base al fuso orario inserito. Il campo deve essere un numero intero che rappresenta il numero di minuti dal GMT, che specifica il fuso orario del luogo dell'evento. |
|
| location | No | ||||
| fasce orarie | Sì | 1 |
40 |
Questo è un array di fasce orarie. Massimo 40 elementi nell'array. |
|
location |
longitudine | Sì | -180 |
180 |
Deve essere doppia |
| latitudine | Sì | -90 |
90 |
Deve essere doppia |
|
| titolo | Sì | 1 |
5000 |
||
raggio |
No | 0 |
200 |
||
fasce orarie |
data | Sì |
|
Dovrebbe essere nel formato orario ISO-8601 ::MM+ 00:00 YYYY-MM-DDTHH Esempio: "2020-08-14T21:21+00:00" |
|
| durata | Sì | 1 |
3600 |
Modello di pannello
Utilizzando il modello di pannello, è possibile presentare al cliente fino a 10 scelte con una sola domanda. Tuttavia, è possibile includere solo un'immagine, anziché un'immagine per ogni scelta.
L'immagine seguente mostra un esempio di come il modello di pannello visualizza le informazioni in una chat. Mostra un'immagine nella parte superiore del messaggio e sotto l'immagine mostra un messaggio di prompt che chiede Come posso d'aiuto? Tocca per selezionare l'opzione. Al cliente vengono visualizzate tre opzioni: Controlla le opzioni self-service, Parla con un agente, Termina la chat.
Il codice seguente è il modello di pannello che puoi usare nella Lambda. Tenere presente quanto segue:
-
Il testo in grassetto è un parametro obbligatorio.
-
In alcuni casi, se l’elemento principale non è obbligatorio, ma i campi nell’elemento principale lo sono, allora i campi sono obbligatori. Ad esempio, vedi la struttura
data.replyMessagenel modello seguente. Se la struttura esiste, untitleè obbligatorio. Altrimenti, unreplyMessagecompleto è facoltativo.
{ "templateType":"Panel", "version":"1.0", "data":{ "replyMessage":{ "title":"Thanks for selecting!", "subtitle":"Option selected", }, "content":{ "title":"How can I help you?", "subtitle":"Tap to select option", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/company.jpg", "imageDescription":"Select an option", "elements":[ { "title":"Check self-service options", }, { "title":"Talk to an agent", }, { "title":"End chat", } ] } } }
Limiti del pannello
La tabella seguente elenca i limiti per ciascuno degli elementi del pannello, se scegli di creare la Lambda da zero. I parametri obbligatori sono in grassetto.
Per inviare opzioni illimitate, implementa i pulsanti di azione nell'applicazione. Per ulteriori informazioni, consulta Implementazione dei pulsanti di azione nel selettore/pannello interattivo dell'elenco dei messaggi
| Campo principale | Campo | Richiesto | Caratteri minimi | Caratteri massimi | Altro requisito |
|---|---|---|---|---|---|
|
templateType |
Sì |
Tipo di modello valido |
|||
|
dati |
Sì |
||||
|
versione |
Sì |
Deve essere "1.0" |
|||
dati |
replyMessage | No | |||
| contenuto | Sì | ||||
contenuto |
titolo | Sì | 1 |
5000 |
Dovrebbe essere una descrizione per i modelli immediati |
| Sottotitolo | No | 0 |
5000 |
||
| elementi | Sì | 1 elemento |
10 elementi |
Questo è un array di elementi. Massimo 10 elementi nell'array. |
|
| imageType | No | 0 |
50 |
Deve essere "URL" |
|
| imageData | No | 0 |
200 |
Deve essere un URL valido accessibile al pubblico |
|
| imageDescription | No | 0 |
50 |
Non può esistere senza un'immagine |
|
| referenceId | No |
|
Stringa. Necessario solo per la funzionalità del pulsante di azione. |
||
| listId | No |
|
Stringa. Necessario solo per la funzionalità del pulsante di azione. |
||
| preIndex | No |
|
Numero. Necessario solo per la funzionalità del pulsante di azione. |
||
| nextIndex | No |
|
Numero. Necessario solo per la funzionalità del pulsante di azione. |
||
| templateIdentifier | No |
|
Numero. Dovrebbe essere un UUID. Questo campo è obbligatorio se List Picker/Panel viene utilizzato in un carosello. |
||
elementi |
titolo | Sì | 1 |
5000 |
|
| actionDetail | No |
|
|
Necessario solo per la funzionalità del pulsante di azione. Deve essere "PREVIOUS_OPTIONS" o "SHOW_MORE". |
|
replyMessage |
titolo | Sì | 1 |
5000 |
|
| Sottotitolo | No | 0 |
5000 |
Modello di risposta rapida
Utilizza i messaggi di risposta rapida per ottenere risposte semplici dai clienti e poi per i clienti in un elenco in linea. Le immagini non sono supportate per le risposte rapide.
L'immagine seguente mostra un esempio di come il modello di risposta rapida visualizza le informazioni in una chat.
Il codice seguente è il modello di risposta rapida che è possibile usare nella Lambda.
{ "templateType": "QuickReply", "version": "1.0", "data": { "replyMessage": { "title": "Thanks for selecting!" }, "content": { "title": "Which department would you like?", "elements": [{ "title": "Billing" }, { "title": "Cancellation" }, { "title": "New Service" } ] } } }
Limiti di risposta rapida
La tabella seguente elenca i limiti per ciascuno degli elementi di risposta rapida. Usa queste informazioni se scegli di creare la Lambda da zero. I parametri obbligatori sono in grassetto.
| Campo principale | Campo | Richiesto | Caratteri minimi | Caratteri massimi | Altro requisito |
|---|---|---|---|---|---|
|
templateType |
Tipo di modello valido |
||||
|
dati |
Sì |
||||
|
versione |
Sì |
Deve essere "1.0" |
|||
dati |
contenuto | Sì | |||
| replyMessage | No | ||||
contenuto |
titolo | Sì | 1 |
5000 |
Dovrebbe essere una descrizione per i modelli immediati |
| elementi | Sì | 2 elementi |
10 elementi per chat web 5 elementi per Apple Business Chat (è un limite rigido stabilito da Apple) |
Questo è un array di elementi. Minimo 2 elementi e massimo 10 elementi nell'array. Per aggirare il limite di 5 elementi stabilito da Apple, prendi in considerazione l’implementazione di risposte rapide multiple con l’opzione “Mostra di più”. Oppure usalo ListPicker poiché consente fino a 10 elementi. |
|
elementi |
titolo | Sì | 1 |
200 |
|
replyMessage |
titolo | Sì | 1 |
5000 |
Modello di carosello
Usa i caroselli per mostrare ai clienti fino a 5 selettori o pannelli di elenchi in un unico messaggio. Analogamente al selettore di elenchi e al selettore orario, è possibile aggiungere altre opzioni al carosello utilizzando la funzionalità SHOW_MORE.
La seguente GIF mostra un esempio di come il modello di carosello visualizza le informazioni in una chat. I clienti scorrono il carosello di immagini utilizzando le frecce sinistra e destra.
L'immagine seguente mostra due collegamenti ipertestuali Ulteriori informazioni, che sono esempi di elementi di collegamento ipertestuale del selettore a carosello.
Il codice seguente è il modello di carosello che è possibile usare nella Lambda.
{ "templateType": "Carousel", "version": "1.0", "data": { "content": { "title": "View our popular destinations", "elements": [ { "templateIdentifier": "template0", "templateType": "Panel", "version": "1.0", "data": { "content": { "title": "California", "subtitle": "Tap to select option", "elements": [ { "title": "Book flights" }, { "title": "Book hotels" }, { "title": "Talk to agent" } ] } } }, { "templateIdentifier": "template1", "templateType": "Panel", "version": "1.0", "data": { "content": { "title": "New York", "subtitle": "Tap to select option", "elements": [ { "title": "Book flights" }, { "title": "Book hotels" }, { "title": "Talk to agent" } ] } } } ] } } }
Per gli utenti del widget di comunicazione ospitato:
-
Le selezioni sul risultato del modello a carosello generano una risposta di stringa JSON strutturata come nell'esempio seguente, da reinviare a Lambda (altri tipi di messaggi interattivi restituiscono una risposta di stringa normale con solo valore
selectionText):{ templateIdentifier: "template0", listTitle: "California", selectionText: "Book hotels" } -
Nei caroselli, puoi fornire collegamenti ipertestuali negli elementi dell'elenco. picker/panel Per creare un collegamento ipertestuale anziché un pulsante, includi i seguenti campi aggiuntivi per l'elemento che dovrebbe essere un collegamento ipertestuale:
{ title: "Book flights", ... type: "hyperlink", url: "https://www.example.com/Flights" }
Limiti del carosello
Nella tabella seguente sono elencati i limiti per ciascuno degli elementi del carosello. Usa queste informazioni se scegli di creare la Lambda da zero. I parametri obbligatori sono in grassetto.
| Campo principale | Campo | Richiesto | Caratteri minimi | Caratteri massimi | Altro requisito |
|---|---|---|---|---|---|
|
templateType |
Sì |
Tipo di modello valido |
|||
|
dati |
Sì |
||||
|
versione |
Sì |
Deve essere "1.0" |
|||
dati |
contenuto | Sì | |||
contenuto |
titolo | Sì | 1 |
5000 |
Dovrebbe essere una descrizione per i modelli immediati |
| elementi | Sì | 2 elementi |
5 elementi |
Questa è un array di modelli di selettori o pannelli di elenchi. È accettato un solo tipo di messaggio interattivo per carosello. Ogni elemento deve includere il campo di primo livello templateIdentifier. Minimo 2 modelli e massimo 5 modelli nell'array. NotaPer la migliore esperienza del cliente, consigliamo che ogni modello preveda un uso coerente degli images/number elementi. |
|
| omitTitleFromCarouselResponse | No |
Boolean - Facoltativamente, rispondi con " |
|||
| carouselIsVertical | No |
Boolean: visualizza facoltativamente gli elementi |
Modello di modulo Apple
Nota
Questo modello è applicabile solo ai flussi di contatti di Apple Messages for Business.
Un’azienda può inviare un messaggio interattivo basato su un modulo ai propri clienti finali tramite un unico messaggio, contenente diverse pagine con gli input richiesti. Quando il dispositivo Apple del cliente finale riceve il messaggio, è possibile aprire il modulo e navigare tra le pagine, fornendo una risposta per ogni pagina, prima di inviare tutte le risposte alla fine del modulo.
Ad esempio, le aziende possono utilizzare i moduli Apple per vari scopi, tra cui flussi di valutazione, sondaggi tra i clienti e creazione/registrazione di account.
avvertimento
Il contenuto interattivo dei messaggi e le risposte dei clienti finali sono archiviati nella trascrizione dei record di contatto e sono visualizzabili dagli altri partecipanti alla chat e dagli analisti di contatto che hanno accesso alle trascrizioni. Per evitare che le informazioni personali vengano visualizzate nella trascrizione del record di contatto dopo la fine del contatto, ti consigliamo di utilizzare il blocco Imposta comportamento di registrazione e analisi nel flusso di step-by-step guidaContact Lens, abilitare e abilitare la redazione dei dati sensibili. Per i dettagli completi su come abilitare la redazione delle informazioni di identificazione personale, consulta Abilitazione dell’oscuramento dei dati sensibili.
I tipi di pagine supportati sono:
-
ListPicker: un elenco di opzioni tra cui l'utente deve selezionare con il supporto delle immagini.
-
WheelPicker: simile a ListPicker ma la selezione viene effettuata tramite una rotellina di opzioni scorrevole.
-
DatePicker: una visualizzazione del calendario in cui l'utente può scegliere una data.
-
Input: un campo di testo che l’utente deve compilare.
Il codice seguente è un esempio di modello di moduli Apple che puoi utilizzare nella Lambda.
Nota
-
Il testo in grassetto è un parametro obbligatorio.
-
In alcuni casi, se l'elemento principale è presente nella richiesta e non è obbligatorio/in grassetto, ma i campi in esso contenuti lo sono, allora i campi sono obbligatori.
Esempio di modulo di sondaggio semplice:
{ "templateType": "AppleForm", "version": "1.0", "data": { "content": { "title": "Survey", "pages": [ { "pageType": "DatePicker", "title": "Date you visited", "subtitle": "When did you last visit?", "minDate": "2024-01-02" }, { "pageType": "ListPicker", "title": "Rating", "subtitle": "How do you rate the experience?", "items": [ { "title": "Good", "imageType": "URL", "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/good.jpg" }, { "title": "Okay", "imageType": "URL", "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/okay.jpg" }, { "title": "Poor", "imageType": "URL", "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/poor.jpg" } ] }, { "pageType": "ListPicker", "title": "Dine type", "subtitle": "Select all dine types that apply", "multiSelect": true, "items": [ { "title": "Pickup" }, { "title": "Dine-in" }, { "title": "Delivery" } ] }, { "pageType": "WheelPicker", "title": "Visits", "subtitle": "How often do you visit?", "items": [ { "title": "Often" } { "title": "Sometimes" }, { "title": "Rarely" } ] }, { "pageType": "Input", "title": "Additional notes", "subtitle": "Anything else you'd like to mention about your visit?", "multiLine": true } ] } } }
Limiti dei moduli Apple
InteractiveMessage
| Campo | Tipo | Richiesto | Descrizione/Note |
|---|---|---|---|
| versione | stringa | Sì | Numero versione. Valore consentito: “1.0” |
| templateType | TemplateType | Sì | Tipo di modello di messaggio interattivo. Valori consentiti: [» ListPicker «," TimePicker «, «Panel», "QuickReply«, «Carousel», "ViewResource«] AppleForm |
| dati | InteractiveMessageData | Sì | Dati di messaggistica interattiva |
InteractiveMessageData
| Campo | Tipo | Richiesto | Descrizione/Note |
|---|---|---|---|
| contenuto | InteractiveMessageContent | Sì | Contenuto principale dei messaggi interattivi |
| replyMessage | ReplyMessage | No | Configurazione della visualizzazione dei messaggi dopo l’invio della risposta al messaggio interattivo |
AppleFormContent
| Campo | Tipo | Richiesto | Descrizione/Note |
|---|---|---|---|
| titolo | Stringa | Sì | Titolo di primo livello del modulo. Visualizzato nel rendering della trascrizione e nella bolla dei messaggi ricevuti di Apple |
| sottotitolo | Stringa | No | Usato come sottotitolo in ReceivedMessage |
| imageType | Stringa | No | Valori validi: «URL» Usato per l'immagine in ReceivedMessage |
| imageData | Stringa | No | URL dell'immagine S3 Usato per l'immagine in ReceivedMessage |
| pagine | AppleFormPage[] | Sì | Elenco delle pagine del modulo |
| showSummary | Boolean | No | Indica se visualizzare una pagina di riepilogo delle risposte da esaminare prima dell'invio Predefinito: False (nessuna confirmation/summary pagina) |
| splashPage | AppleFormSplashPage | No | Pagina iniziale da visualizzare prima delle pagine effettive. Impostazione predefinita: nessuna pagina iniziale |
AppleFormSplashPage
| Campo | Tipo | Richiesto | Descrizione/Note |
|---|---|---|---|
| titolo | Stringa | Sì | Titolo della pagina iniziale |
| sottotitolo | Stringa | No | Sottotitolo/corpo della pagina iniziale |
| imageType | ImageType | No | Presente quando si visualizza l’immagine all’interno della pagina iniziale. Valore consentito: “URL”. Impostazione predefinita: nessuna immagine visualizzata |
| imageData | Stringa | No | Per imageType=“URL”, questo è il valore URL. Impostazione predefinita: nessuna immagine visualizzata |
| buttonTitle | Stringa | Sì | Testo del pulsante Continua. Richiesto da Apple, testo predefinito con localizzazione non supportato |
AppleFormPage
-
Modello base per le pagine dei moduli. A partire da questo modello si estendono tipi di pagina specifici
| Campo | Tipo | Richiesto | Descrizione/Note |
|---|---|---|---|
| pageType | ApplePageType | Sì | Enumerazione per tipo di pagina. Valori consentiti: ["Input», "DatePicker«," WheelPicker «," ListPicker «] |
| titolo | Stringa | Sì | Titolo pagina |
| sottotitolo | Stringa | Sì | Sottotitolo della pagina. Utilizzato nella pagina di conferma |
AppleFormDatePickerPage
AppleFormDatePickerPageestende AppleFormPage
| Campo | Tipo | Richiesto | Descrizione/Note |
|---|---|---|---|
| pageType | ApplePageType | Sì | Valore: "DatePicker» |
| labelText | Stringa | No | Testo visualizzato accanto alla data di input. Consulta schermate di esempio nell’Appendice |
| helperText | Stringa | No | Testo di supporto visualizzato sotto l’input di data. Consulta le schermate di esempio in Appendice. Impostazione predefinita: nessun testo di supporto |
| dateFormat | Stringa | No | Il formato di data ISO 8601. Impostazione predefinita: MM/dd/yyyy |
| startDate | Stringa | No | Data selezionata iniziale/predefinita in formato di data valido Impostazione predefinita: data corrente per l’utente finale al momento dell’invio del messaggio |
| minDate | Stringa | No | La data minima può essere selezionata in un formato data valido Impostazione predefinita: nessuna data minima |
| maxDate | Stringa | No | Data massima consentita che può essere selezionata in un formato data valido Impostazione predefinita: data corrente per l’utente finale al momento dell’invio del messaggio |
AppleFormListPickerPage
AppleFormListPickerPageestende AppleFormPage
| Campo | Tipo | Richiesto | Descrizione/Note |
|---|---|---|---|
| pageType | ApplePageType | Sì | Valore: "ListPicker» |
| multiSelect | Boolean | No | Consente la selezione di più elementi. Impostazione predefinita: false (selezione singola) |
| elementi | AppleFormListPickerPageItem[] | Sì | Elenco degli elementi della pagina di elenco |
AppleFormListPickerPageItem
AppleFormListPickerPageItemestende AppleFormPage
| Campo | Tipo | Richiesto | Descrizione/Note |
|---|---|---|---|
| titolo | Stringa | Sì | Visualizza il testo dell’elemento |
| imageType | ImageType | No | Presente quando si visualizza l’immagine all’interno dell’elemento. Valore consentito: “URL” Impostazione predefinita: nessuna immagine visualizzata |
| imageData | Stringa | No | Per imageType=“URL”, questo è il valore URL. Impostazione predefinita: nessuna immagine visualizzata |
Nota
Modello di immagine simile ai modelli di messaggi interattivi esistenti (ListPicker), ad eccezione imageDescription del modello non incluso, che viene utilizzato per il testo alternativo delle immagini nei widget di chat o nelle chat web e ignorato per i messaggi interattivi di Apple.
AppleFormWheelPickerPage
AppleFormWheelPickerPageestende AppleFormPage
| Campo | Tipo | Richiesto | Descrizione/Note |
|---|---|---|---|
| pageType | ApplePageType | Sì | Valore: "WheelPicker» |
| elementi | AppleFormWheelPickerPageItem[] | Sì | Elenco degli elementi del selettore a ruota |
| labelText | Stringa | No | Testo visualizzato accanto all’input. Consulta schermate di esempio nell’Appendice |
AppleFormWheelPickerPageItem
AppleFormWheelPickerPageItemestende AppleFormPage
| Campo | Tipo | Richiesto | Descrizione/Note |
|---|---|---|---|
| titolo | Stringa | Sì | Visualizza il testo dell’elemento del selettore |
AppleFormInputPage
AppleFormInputPageestende AppleFormPage
| Campo | Tipo | Richiesto | Descrizione/Note |
|---|---|---|---|
| pageType | ApplePageType | Sì | Valore: “input” |
| labelText | Stringa | No | Testo visualizzato accanto alla casella di input. Consulta schermate di esempio nell’Appendice |
| helperText | Stringa | No | Testo aggiuntivo visualizzato nella casella di input. Impostazione predefinita: nessun testo di supporto |
| placeholderText | Stringa | No | Testo segnaposto da visualizzare inizialmente in assenza di input. Impostazione predefinita: testo segnaposto “(Facoltativo)” o “(Obbligatorio)” |
| prefixText | Stringa | No | Testo del prefisso da visualizzare accanto all’input. Es: “$” quando l’input è un valore monetario. Impostazione predefinita: nessun testo di prefisso |
| richiesto | Boolean | No | Se l’utente finale è tenuto a fornire l’input. Impostazione predefinita: false |
| multiLine | Boolean | No | Se è possibile fornire un input multilinea. Impostazione predefinita: false (riga singola) |
| maxCharCount | Numero | No | Numero massimo di caratteri di input. Applicato sul client Apple. Impostazione predefinita: nessun limite |
| regex | Stringa | No | Stringa Regex per inserire vincoli sull’input fornito. Impostazione predefinita: nessun vincolo regex |
| keyboardType | Stringa | No | Determina il tipo di tastiera visualizzata quando l’utente finale fornisce l’input. Valori consentiti: uguali a quelli di Apple. Consulta i documenti |
| textContentType | Stringa | No | Aiuta con i suggerimenti di compilazione automatica sui dispositivi Apple. Valori consentiti: uguali a quelli di Apple. Consulta i documenti |
Modello Apple Pay
Nota
Questo modello è applicabile solo ai flussi di contatti di Apple Messages for Business.
Utilizza il modello Apple Pay per offrire ai clienti un modo semplice e sicuro per acquistare beni e servizi tramite Apple Messages for Business con Apple Pay.
Il codice seguente è il modello di Apple Pay che puoi utilizzare nella Lambda.
Nota
-
Il testo in grassetto è un parametro obbligatorio.
-
In alcuni casi, se l'elemento principale è presente nella richiesta e non è obbligatorio/in grassetto, ma i campi in esso contenuti lo sono, allora i campi sono obbligatori.
{ "templateType":"ApplePay", "version":"1.0", "data":{ "content":{ "title":"Halibut", "subtitle":"$63.99 at Sam's Fish", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fish.jpg", "payment": { "endpoints": { "orderTrackingUrl": "https://sams.example.com/orderTrackingUrl/", "paymentGatewayUrl": "https://sams.example.com/paymentGateway/", "paymentMethodUpdateUrl": "https://sams.example.com/paymentMethodUpdate/", "shippingContactUpdateUrl": "https://sams.example.com/shippingContactUpdate/", "shippingMethodUpdateUrl": "https://sams.example.com/shippingMethodUpdate/", "fallbackUrl": "https://sams.example.com/paymentGateway/" }, "merchantSession": { "epochTimestamp": 1525730094057, "expiresAt": 1525730094057, "merchantSessionIdentifier": "PSH40080EF4D6.........9NOE9FD", "nonce": "fe72cd0f", "merchantIdentifier": "merchant.com.sams.fish", "displayName": "Sam's Fish", "signature": "308006092a8.......09F0W8EGH00", "initiative": "messaging", "initiativeContext": "https://sams.example.com/paymentGateway/", "signedFields": [ "merchantIdentifier", "merchantSessionIdentifier", "initiative", "initiativeContext", "displayName", "nonce" ], }, "paymentRequest": { "applePay": { "merchantCapabilities": [ "supports3DS", "supportsDebit", "supportsCredit" ], "merchantIdentifier": "merchant.com.sams.fish", "supportedNetworks": [ "amex", "visa", "discover", "masterCard" ] }, "countryCode": "US", "currencyCode": "USD", "lineItems": [ { "amount": "59.00", "label": "Halibut", "type": "final" }, { "amount": "4.99", "label": "Shipping", "type": "final" } ], "requiredBillingContactFields": [ "postalAddress" ], "requiredShippingContactFields": [ "postalAddress", "phone", "email", "name" ], "shippingMethods": [ { "amount": "0.00", "detail": "Available within an hour", "identifier": "in_store_pickup", "label": "In-Store Pickup" }, { "amount": "4.99", "detail": "5-8 Business Days", "identifier": "flat_rate_shipping_id_2", "label": "UPS Ground" }, { "amount": "29.99", "detail": "1-3 Business Days", "identifier": "flat_rate_shipping_id_1", "label": "FedEx Priority Mail" } ], "total": { "amount": "63.99", "label": "Sam's Fish", "type": "final" }, "supportedCountries" : [ "US", "CA", "UK", "JP", "CN" ] } }, "requestIdentifier" : "6b2ca008-1388-4261-a9df-fe04cd1c23a9" } } }
Limiti di Apple Pay
| Campo principale | Campo | Richiesto | Caratteri minimi | Caratteri massimi | Altro requisito |
|---|---|---|---|---|---|
| templateType | Sì | Tipo di modello valido | |||
| dati | Sì | ||||
| versione | Sì | Deve essere "1.0" | |||
| dati | contenuto | Sì | |||
| contenuto | titolo | Sì | 1 | 512 | Il titolo della bolla dei messaggi ricevuti |
| sottotitolo | No | 0 | 512 | Sottotitolo da visualizzare sotto il titolo della bolla del messaggio ricevuto | |
| imageData | No | 0 | 200 | Deve essere un URL valido accessibile al pubblico | |
| imageType | No | 0 | 50 | Deve essere "URL" | |
| pagamento | Sì | Un dizionario contenente campi che forniscono le specifiche di una richiesta Apple Pay. | |||
| requestIdentifier | No | String, un identificatore per la ApplePay richiesta. Se non specificato, verrà generato e utilizzato un UUID. | |||
| pagamento | punti finali | Sì | Un dizionario contenente gli endpoint per l’elaborazione dei pagamenti, gli aggiornamenti dei contatti e il monitoraggio degli ordini. | ||
| merchantSession | Sì | Un dizionario contenente la sessione di pagamento fornita da Apple Pay dopo aver richiesto una nuova sessione di pagamento. | |||
| paymentRequest | Sì | Un dizionario con informazioni sulla richiesta di pagamento | |||
| punti finali | paymentGatewayUrl | Sì | Stringa. Chiamato da Apple Pay per elaborare il pagamento tramite il gestore dei pagamenti. L’URL deve corrispondere a quello nel campo initiativeContext della sessione del venditore | ||
| fallbackUrl | No | Un URL che si apre in un browser web in modo che il cliente possa completare l’acquisto se il suo dispositivo non è in grado di effettuare pagamenti con Apple Pay. Se specificato, fallbackUrl deve corrispondere. paymentGatewayUrl | |||
| orderTrackingUrl | No | Chiamato da Messages for Business una volta completato l’ordine; ti offre la possibilità di aggiornare le informazioni relative all’ordine nel tuo sistema. | |||
| paymentMethodUpdateUrl | No | Chiamato da Apple Pay quando il cliente cambia il metodo di pagamento. Se non implementi questo endpoint e non includi questa chiave nel dizionario, il cliente visualizza un messaggio di errore. | |||
| shippingContactUpdateUrl | No | Chiamato da Apple Pay quando il cliente modifica le informazioni relative all’indirizzo di spedizione. Se non implementi questo endpoint e non includi questa chiave nel dizionario, il cliente visualizza un messaggio di errore | |||
| shippingMethodUpdateUrl | No | Chiamato da Apple Pay quando il cliente cambia il metodo di spedizione. Se non implementi questo endpoint e non includi questa chiave nel dizionario, il cliente visualizza un messaggio di errore. | |||
| merchantSession | displayName | Sì | 1 | 64 | Stringa. Il nome canonico del negozio, adatto alla visualizzazione. Non localizzare il nome. |
| initiative | Sì | Stringa. Deve essere “messaggistica” | |||
| initiativeContext | Sì | Stringa. Passa l’URL del gateway di pagamento. | |||
| merchantIdentifier | Sì | Stringa. Un identificatore univoco che rappresenta un commerciante per Apple Pay. | |||
| merchantSessionIdentifier | Sì | Stringa. Un identificatore univoco che rappresenta la sessione di un commerciante per Apple Pay. | |||
| epochTimestamp | Sì | Stringa. La rappresentazione dell’ora in numero di secondi trascorsi dalle 00:00:00 UTC di giovedì 1 gennaio 1970. | |||
| expiresAt | Sì | Stringa. Rappresentazione dell’ora di scadenza in numero di secondi trascorsi dalle 00:00:00 UTC di giovedì 1 gennaio 1970. | |||
| nonce | No | Binario. Una stringa monouso che verifica l’integrità dell’interazione. | |||
| signature | No | Binario. Hash della chiave pubblica utilizzato per firmare le interazioni. | |||
| signedFields | No | L’elenco delle stringhe contiene le proprietà firmate. | |||
| paymentRequest | applePay | Sì | Un dizionario che descrive la configurazione di Apple Pay. | ||
| countryCode | Sì | Stringa. Il codice del paese ISO 3166 di due lettere del venditore. | |||
| currencyCode | Sì | Stringa. Il codice valuta ISO 4217 a tre lettere per il pagamento. | |||
| lineItems | No | Un array di voci che spiegano i pagamenti e i costi aggiuntivi. Le voci non sono obbligatorie. Tuttavia, l’array non può essere vuoto se è presente la chiave lineItems. | |||
| total | Sì | Un dizionario contenente il totale. Per superare la convalida, l’importo totale deve essere maggiore di zero. | |||
| requiredBillingContactCampi | No | Elenco delle informazioni di fatturazione obbligatorie del cliente necessarie per elaborare la transazione. Per l'elenco delle stringhe possibili, vedi requiredBillingContactFields |
|||
| requiredShippingContactCampi | No | L’elenco delle informazioni di spedizione o di contatto richieste al cliente per evadere l’ordine. Ad esempio, se hai bisogno dell’e-mail o del numero di telefono del cliente, includi questa chiave. Per l'elenco delle stringhe possibili, vedi requiredShippingContactFields |
|||
| shippingMethods | No | Un array che elenca i metodi di spedizione disponibili. Il foglio di pagamento Apple Pay mostra il primo metodo di spedizione dell’array come metodo di spedizione predefinito. | |||
| supportedCountries | No | Un array di paesi da supportare. Elenca ogni paese con il codice ISO 3166. | |||
| applePay | merchantIdentifier | Sì | Un identificatore univoco che rappresenta un commerciante per Apple Pay. | ||
| merchantCapabilities | Sì | Un array di funzionalità di pagamento supportate dal commerciante. L’array deve includere supports3DS e può facoltativamente includere supportsCredit, supportsDebit e supportsEMV. | |||
| supportedNetworks | Sì | Un array di reti di pagamento supportate dal commerciante. L’array deve includere uno o più dei seguenti valori: amex, discover, jcb, masterCard, privateLabel, or visa | |||
| lineItem | amount | Sì | L’importo monetario della voce. | ||
| etichetta | Sì | Una breve descrizione localizzata della voce. | |||
| tipo | No | Un valore che indica se la voce è finale o in sospeso. | |||
| total | amount | Sì | L’importo totale del pagamento. | ||
| etichetta | Sì | Una breve descrizione localizzata del pagamento. | |||
| tipo | No | Un valore che indica se il pagamento è finale o in sospeso. | |||
| shippingMethods | amount | Sì | Stringa. Il costo non negativo associato a questo metodo di spedizione. | ||
| detail | Sì | Stringa. Descrizione aggiuntiva del metodo di spedizione. | |||
| etichetta | Sì | Stringa. Una breve descrizione del metodo di spedizione. | |||
| identifier | Sì | Stringa. Un valore definito dal cliente utilizzato per identificare questo metodo di spedizione. |
Modello di app iMessage
Nota
Questo modello è applicabile solo ai flussi di contatti di Apple Messages for Business.
Utilizza il modello di app iMessage per presentare al cliente l’app iMessage personalizzata.
Il codice seguente è un esempio di modello di app iMessage che puoi utilizzare nella funzione Lambda.
{ templateType: AppleCustomInteractiveMessage, version: "1.0", data: { content: { appIconUrl: "https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg", appId: "123456789", appName: "Package Delivery", title: "Bubble Title CIM", bid: "com.apple.messages.MSMessageExtensionBalloonPlugin:{team-id}:{ext-bundle-id}", dataUrl: "?deliveryDate=26-01-2024&destinationName=Home&street=1infiniteloop&state=CA&city=Cupertino&country=USA&postalCode=12345&latitude=37.331686&longitude=-122.030656&isMyLocation=false&isFinalDestination=true", subtitle: "Bubble package", }, replyMessage: { title: "Custom reply message title", subtitle: "Custom reply message subtitle", imageType: "URL", imageData: "https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg", } } }
Limiti dell’app iMessage
| Campo principale | Campo | Campo obbligatorio | Tipo | Altre note |
|---|---|---|---|---|
| templateType | Sì | TemplateType | Tipo di modello valido, "AppleCustomInteractiveMessage» | |
| dati | Sì | InteractiveMessageData | Contiene i dizionari di contenuto e receivedMessage | |
| versione | Sì | stringa | Deve essere "1.0" | |
| dati | contenuto | Sì | InteractiveMessageContent | Contenuto interattivo dell’app iMessage |
| Messaggio di risposta | Sì | ReplyMessage | Configurazione della visualizzazione dei messaggi dopo l’invio della risposta al messaggio interattivo | |
| contenuto | appIconUrl | Sì | stringa | URL S3 AWS |
| AppiD | Sì | stringa | ID IMessage app aziendale | |
| Nome dell'app | Sì | stringa | Nome dell' IMessage app aziendale | |
| bid | Sì | stringa | Offerta IMessage per app aziendali. Modello: com.apple.messages. MSMessageExtensionBalloonPlugin: {team-id}: {} ext-bundle-id | |
| dataUrl | Sì | stringa | Dati che vengono passati all’app iMessage | |
| useLiveLayout | No | booleano | Impostazione predefinita: true | |
| titolo | Sì | stringa | titolo della bolla dell’app Imessage | |
| sottotitolo | No | stringa | sottotitolo della bolla dell’app Imessage | |
| Messaggio di risposta | titolo | No | stringa | |
| sottotitolo | No | stringa | ||
| Tipo di immagine | No | stringa | Deve essere un URL valido accessibile al pubblico | |
| Dati dell'immagine | No | stringa | Non può esistere senza un'immagine |
WhatsApp elenco
Nota
Utilizzi questo modello solo per i flussi WhatsApp di messaggistica. Per ulteriori informazioni sull'integrazione WhatsApp con Amazon ConnectConfigurare la messaggistica WhatsApp aziendale, consulta la sezione precedente di questa guida.
Utilizzi il modello di WhatsApp elenco nelle WhatsApp chat per fornire ai clienti un elenco di opzioni.
L’esempio seguente mostra un elenco di opzioni per un servizio bancario.
{ "templateType": "WhatsAppInteractiveList", "version": "1.0", "data": { "content": { "title": "Which account do you need help with?", "body": { "text": "Which account do you need help with?" }, "action": { "button": "Options", "sections": [ { "title": "Your accounts", "rows": [ { "id": "11111111", "title": "11111111", "description": "PERSONAL CHECKING" }, { "id": "22223333", "title": "22223333", "description": "PERSONAL SAVINGS" } ] }, { "title": "Other", "rows": [ { "id": "other", "title": "I can't find my account" } ] } ] } } } }
L’immagine seguente mostra una schermata tipica prima e dopo l’apertura di un elenco da parte di un cliente.
WhatsApp limiti delle opzioni
| Campo principale | Campo | Richiesto | Lunghezza minima | Lunghezza massima | Altro requisito |
|---|---|---|---|---|---|
| templateType | Sì | Deve essere "WhatsAppInteractiveList» | |||
| dati | Sì | ||||
| versione | Sì | Deve essere "1.0" | |||
| dati | contenuto | Sì | |||
| contenuto | titolo | Sì | |||
| intestazione | No | ||||
| body | Sì | ||||
| piè di pagina | No | ||||
| action | Sì | ||||
| intestazione | tipo | Sì | Deve essere “text” | ||
| testo | Sì | 1 | 60 | ||
| body | testo | Sì | 1 | 4096 | |
| footer | testo | Sì | 1 | 60 | |
| action | sections | Sì | 1 | 10 | |
| pulsante | Sì | 1 | 20 | ||
| sezione | titolo | Sì | 1 | 24 | |
| righe | Sì | 1 | 10 | Massimo 10 righe in tutte le sezioni | |
| row | id | Sì | 1 | 200 | Deve essere univoco tra le righe |
| titolo | Sì | 1 | 24 | ||
| description | No | 1 | 72 |
WhatsApp pulsante di risposta
Nota
Utilizzi questo modello solo per i flussi WhatsApp di messaggistica.
Puoi utilizzare il modello del pulsante di WhatsApp risposta per presentare un elenco in linea di opzioni per i clienti.
{ "templateType": "WhatsAppInteractiveReplyButton", "version": "1.0", "data": { "content": { "title": "What would you like to do?", "body": { "text": "What would you like to do?" }, "action": { "buttons": [ { "type": "reply", "reply": { "id": "agent", "title": "Continue to agent" } }, { "type": "reply", "reply": { "id": "end_chat", "title": "End chat" } } ] } } } }
L’immagine seguente mostra un’esperienza utente tipica.
WhatsApp limiti del pulsante di risposta
Il modello di WhatsApp risposta presenta i seguenti limiti.
| Campo principale | Campo | Richiesto | Lunghezza minima | Lunghezza massima | Altro requisito |
|---|---|---|---|---|---|
| templateType | Sì | Deve essere "WhatsAppInteractiveReplyButton» | |||
| dati | Sì | ||||
| versione | Sì | Deve essere "1.0" | |||
| dati | contenuto | Sì | |||
| contenuto | title | Sì | |||
| intestazione | No | ||||
| body | Sì | ||||
| footer | No | ||||
| action | Sì | ||||
| intestazione | tipo | Sì | Valori validi: “text”, “document”, “image”, “video” | ||
| testo | No | 1 | 60 | ||
| image | No | ||||
| video | No | ||||
| documento | No | ||||
| image | collegamento | Sì | Deve essere un URL multimediale accessibile al pubblico che inizia con https/http | ||
| video | collegamento | Sì | Deve essere un URL multimediale accessibile al pubblico che inizia con https/http | ||
| documento | collegamento | Sì | Deve essere un URL multimediale accessibile al pubblico che inizia con https/http | ||
| body | testo | Sì | 1 | 1024 | |
| footer | testo | Sì | 1 | 60 | |
| action | bottoni | Sì | 1 | 3 | |
| pulsante | tipo | Sì | Deve essere “reply” | ||
| reply.id | Sì | 1 | 256 | Deve essere univoco tra i pulsanti | |
| reply.title | Sì | 1 | 20 |
Formattazione avanzata di titoli e sottotitoli
È possibile aggiungere una formattazione avanzata ai titoli e ai sottotitoli dei messaggi di chat. Ad esempio, è possibile aggiungere collegamenti, corsivo, grassetto, elenchi numerati ed elenchi puntati. È possibile utilizzare markdown
L'immagine seguente di una finestra di chat mostra un esempio di selettore di elenchi con una formattazione avanzata nel titolo e nei sottotitolo.
-
Il titolo Come posso essere di aiuto? aws.amazon.com è in grassetto e contiene un collegamento.
-
Il sottotitolo contiene testo in corsivo e grassetto, un elenco puntato e un elenco numerato. Mostra anche un collegamento semplice, un collegamento testuale e un codice di esempio.
-
La parte inferiore della casella di chat mostra tre elementi del selettore di elenchi.
Come formattare il testo con markdown
È possibile scrivere stringhe di titoli e sottotitoli in un formato a più righe o in una singola riga con `\r\n` caratteri di interruzione di riga.
-
Formato a più righe: il seguente esempio di codice mostra come creare elenchi in markdown in un formato a più righe.
const MultiLinePickerSubtitle = `This is some *emphasized text* and some **strongly emphasized text** This is a bulleted list (multiline): * item 1 * item 2 * item 3 This is a numbered list: 1. item 1 2. item 2 3. item 3 Questions? Visit https://plainlink.com/faq [This is a link](https://aws.amazon.com) This is \`\` ` const PickerTemplate = { templateType: "ListPicker|Panel", version: "1.0", data: { content: { title: "How can we help?", subtitle: MultiLinePickerSubtitle, elements: [ /* ... */ ] } } } -
Formato a riga singola: l'esempio seguente mostra come creare un sottotitolo in una singola riga utilizzando
`\r\n`caratteri di interruzione di riga.const SingleLinePickerSubtitle = "This is some *emphasized text* and some **strongly emphasized text**\r\nThis is a bulleted list:\n* item 1\n* item 2\n* item 3\n\nThis is a numbered list:\n1. item 1\n2. item 2\n3. item 3\n\nQuestions? Visit https://plainlink.com/faq\r\n[This is a link](https://aws.amazon.com)\r\nThis is `<code/>`"; const PickerTemplate = { templateType: "ListPicker|Panel", version: "1.0", data: { content: { title: "How can we help?", subtitle: SingleLinePickerSubtitle, elements: [ /* ... */ ] } } }
L'esempio seguente mostra come formattare il corsivo e il grassetto con markdown:
This is some *emphasized text* and some **strongly emphasized
text**
L'esempio seguente mostra come formattare il testo come codice con markdown:
This is `<code />`
Come formattare i collegamenti con markdown
Per creare un collegamento, utilizza la sintassi seguente:
[aws](https://aws.amazon.com)
Gli esempi seguenti mostrano due modi per aggiungere collegamenti con markdown:
Questions? Visit https://plainlink.com/faq
[This is a link](https://aws.amazon.com)
Nota
Per i selettori di elenchi, il campo targetForLinks può essere aggiunto come campo secondario a content se desideri avere un controllo granulare su dove vengono aperti i link. Per impostazione predefinita, il widget di comunicazione aprirà i link in una nuova scheda del browser. Per ulteriori informazioni, consulta Modello di selezione di elenchi.