Aggiungi messaggi interattivi Amazon Lex per i clienti in chat - Amazon Connect

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à.

Aggiungi 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 alimentati da Amazon Lex e configurati tramite Amazon Lex utilizzando una funzione Lambda.

Suggerimento

Se hai effettuato l'integrazione con Apple Messages for Business, consulta Tipi di messaggi interattivi sul sito web di Apple.

Limiti di convalida

I limiti dei campi di stringa (ad esempio, titolo, sottotitolo, ecc.) dovrebbero essere applicati dal client (ad esempio, un'interfaccia personalizzata o il widget di comunicazione ospitato). SendMessageAPIVerifica solo che la dimensione totale della stringa sia inferiore a 20 KB.

  • Quando si utilizza il widget di comunicazione ospitato senza personalizzarlo, se la stringa supera i limiti di campo, 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 da utilizzare per fornire informazioni ai clienti in una chat:

Questi modelli definiscono come verranno visualizzate le informazioni e quali informazioni verranno visualizzate nell'interfaccia di 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 modello di selezione degli elenchi che visualizza le informazioni in una chat.

Il codice seguente è il modello di selezione degli elenchi che puoi usare nella tua Lambda. Tieni presente quanto segue:

  • 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. Ad esempio, vedi la struttura data.replyMessage nel modello seguente. Se la struttura esiste, il titolo è obbligatorio. Altrimenti il completamento di replyMessage è 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

Tipo di modello valido

dati

versione

Deve essere "1.0"

dati

contenuto
replyMessage No

contenuto

titolo

1

400

Dovrebbe essere una descrizione per i modelli immediati

elementi

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

400

imageType No

0

50

Deve essere "» URL

imageData No

0

200

Deve essere un documento valido e accessibile al pubblico URL

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 unUUID. Questo campo è obbligatorio se Selettore/Pannello elenchi viene utilizzato in un Carosello.

elementi

titolo

1

400

Sottotitolo No

0

400

imageType No

0

50

Deve essere "URL»

imageData No

0

200

Deve essere un documento valido e accessibile al pubblico URL

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

1

400

Sottotitolo No

0

400

imageType No

0

50

Deve essere "URL»

imageData No

0

200

Deve essere un documento valido e accessibile al pubblico URL

imageDescription No

0

50

Non può esistere senza un'immagine

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.

Il modello Selettore orario che visualizza le informazioni in una chat.

L'immagine seguente mostra il selettore orario con un'immagine

Nota

Se utilizzi questo modello di messaggio con il canale Apple Messages for Business e non aggiungi un'immagine, Amazon Connect aggiungerà un'immagine predefinita sia nel messaggio di risposta che in quello di risposta.

Il selettore orario con un'immagine.

Il codice seguente è il modello di selezione del tempo che puoi usare nella tua Lambda. Tieni presente quanto segue:

  • 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. Ad esempio, vedi la struttura data.replyMessage nel modello seguente. Se la struttura esiste, il titolo è obbligatorio. Altrimenti il completamento di replyMessage è 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

Tipo di modello valido

dati

versione

Deve essere "1.0"

dati

replyMessage No
contenuto

replyMessage

titolo

1

400

Dovrebbe essere una descrizione per i modelli immediati

Sottotitolo No

0

400

imageType No

0

50

Deve essere "» URL
imageData No

0

200

Deve essere un documento valido e accessibile al pubblico URL
imageDescription No

0

50

Non può esistere senza un'immagine

contenuto

titolo

1

400

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 documento valido e accessibile al pubblico URL
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 trascorsiGMT, specificando il fuso orario del luogo dell'evento.

posizione No

fasce orarie

1

40

Questo è un array di fasce orarie. Massimo 40 elementi nell'array.

posizione

longitudine

-180

180

Deve essere doppia

latitudine

-90

90

Deve essere doppia

titolo

1

400

raggio

No

0

200

fasce orarie

data

Dovrebbe essere nel formato orario ISO -8601: .MM+00.00 YYYY-MM-DDTHH

Per esempio:

"2020-08-14T21:21+00.00"

durata

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 modello di pannello che visualizza le informazioni in una chat.

Il codice seguente è il modello di pannello che puoi usare nella Lambda. Tieni presente quanto segue:

  • 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. Ad esempio, vedi la struttura data.replyMessage nel modello seguente. Se la struttura esiste, il titolo è obbligatorio. Altrimenti, il completamento di replyMessage è 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

Tipo di modello valido

dati

versione

Deve essere "1.0"

dati

replyMessage No
contenuto

contenuto

titolo

1

400

Dovrebbe essere una descrizione per i modelli immediati

Sottotitolo No

0

400

elementi

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 documento valido e accessibile al pubblico URL

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 unUUID. Questo campo è obbligatorio se Selettore/Pannello elenchi viene utilizzato in un Carosello.

elementi

titolo

1

400

actionDetail No

Necessario solo per la funzionalità del pulsante di azione. Deve essere "PREVIOUS_OPTIONS" o "SHOW_MORE».

replyMessage

titolo

1

400

Sottotitolo No

0

400

Modello di risposta rapida

Utilizza i messaggi di risposta rapida per ottenere risposte semplici dai clienti e per i clienti in un elenco in linea. È possibile presentare ai clienti fino a 5 opzioni in un unico messaggio di risposta rapida. 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 modello di pannello che 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 Richiesto Caratteri minimi Caratteri massimi Altro requisito

templateType

Tipo di modello valido

dati

versione

Deve essere "1.0"

contenuto

titolo

1

400

Dovrebbe essere una descrizione per i modelli immediati

elementi

2 elementi

10 elementi

Questo è un array di elementi. Minimo 2 elementi e massimo 10 elementi nell'array.

titolo

1

200

Usa i caroselli per mostrare ai clienti fino a 5 selettori o pannelli di elenchi in un unico messaggio. Analogamente al selettore elenco e al selettore orario, puoi aggiungere altre opzioni al carosello utilizzando la funzione _. SHOW MORE

Di seguito GIF viene mostrato 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.

Un carosello nell'esperienza di chat di un cliente.

L'immagine seguente mostra due collegamenti ipertestuali Ulteriori informazioni, che sono esempi di elementi di collegamento ipertestuale del selettore a carosello.

Un selettore a carosello con collegamenti ipertestuali.

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 modello carousel generano una risposta di JSON stringa strutturata come nell'esempio seguente, da inviare 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, è possibile fornire collegamenti ipertestuali negli elementi del selettore/pannello di elenchi. 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" }

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

Tipo di modello valido

dati

versione

Deve essere "1.0"

dati

contenuto

contenuto

titolo

1

400

Dovrebbe essere una descrizione per i modelli immediati

elementi

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.

Nota

Per la migliore esperienza del cliente, è consigliabile che ogni modello abbia un uso coerente di immagini/numero di elementi.

omitTitleFromCarouselResponse No

Boolean: facoltativamente rispondi con»SelectionText«anziché quello predefinito»PickerTitle: SelectionText".

carouselIsVertical No

Boolean: visualizza facoltativamente gli elementi Carousel con scorrimento verticale.

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 più pagine con gli input richiesti. Quando il messaggio viene ricevuto sul dispositivo Apple del cliente finale, quest'ultimo può 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 vengono 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 PII evitare che compaia nella trascrizione del record di contatto una volta terminato il contatto, ti consigliamo di utilizzare il blocco Imposta comportamento di registrazione e analisi nel flusso di contatti step-by-step guida, abilitare le lenti a contatto e abilitare la redazione dei dati sensibili. Per tutti i dettagli su come abilitare la PII redazione, consulta Abilitare la redazione 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 usare in 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.

Semplice esempio di modulo di sondaggio:

{   "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
version string Numero di versione. Valore consentito: «1.0"
templateType TemplateType Tipo di modello di messaggio interattivo. Valori consentiti: [» ListPicker «," TimePicker «, «Panel», "QuickReply«, «Carousel», "ViewResource«," AppleForm«]
dati InteractiveMessageData Dati interattivi dei messaggi

InteractiveMessageData

Campo Tipo Richiesto Descrizione/Note
contenuto InteractiveMessageContent Contenuto principale del messaggio interattivo
replyMessage ReplyMessage No Configurazione della visualizzazione dei messaggi dopo l'invio della risposta al messaggio interattivo

AppleFormContent

Campo Tipo Richiesto Descrizione/Note
titolo Stringa Titolo di primo livello del modulo. Visualizzato nel rendering della bolla e della trascrizione dei messaggi di ricezione di Apple
Sottotitolo Stringa No Utilizzato come sottotitolo in ReceivedMessage
imageType Stringa No Valori validi: "URL" Utilizzato per l'immagine in ReceivedMessage
imageData Stringa No URL dell'immagine S3 Usato per l'immagine in ReceivedMessage
pages AppleFormPage[] Elenco delle pagine del modulo
showSummary Boolean No Indica se visualizzare una pagina di riepilogo delle risposte da esaminare prima dell'invio. Impostazione predefinita: False (nessuna pagina di conferma/riepilogo)
splashPage AppleFormSplashPage No Pagina iniziale iniziale da visualizzare prima delle pagine effettive Impostazione predefinita: nessuna pagina iniziale

AppleFormSplashPage

Campo Tipo Richiesto Descrizione/Note
titolo Stringa Titolo della splash page
Sottotitolo Stringa No Sottotitolo/corpo della splash page
imageType ImageType No Presente quando si visualizza l'immagine nella pagina iniziale Valore consentito: "URL" Predefinito: nessuna immagine visualizzata
imageData Stringa No Per imageType =» URL «, questo è il URL valore Predefinito: Nessuna immagine visualizzata
buttonTitle Stringa 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 Enum per tipo di pagina. Valori consentiti: ["Input», "DatePickerWheelPicker«," ListPicker «]
titolo Stringa Titolo pagina
Sottotitolo Stringa Sottotitolo della pagina. Utilizzato nella pagina di conferma

AppleFormDatePickerPage

AppleFormDatePickerPageestende AppleFormPage

Campo Tipo Richiesto Descrizione/Note
pageType ApplePageType Valore: "DatePicker»
labelText Stringa No Testo visualizzato accanto alla data inserita. Vedi schermate di esempio nell'Appendice
helperText Stringa No Testo di supporto visualizzato sotto l'immissione della data. Vedi schermate di esempio in Appendice Default: Nessun testo di supporto
dateFormat Stringa No ISOFormato data 8601. Valore predefinito: yyyy-MM-dd
startDate Stringa No Data selezionata iniziale/predefinita in formato di data valido Predefinito: data corrente per l'utente finale al momento dell'invio del messaggio
minDate Stringa No La data minima può essere selezionata in un formato di data valido Predefinito: Nessun valore minimo
maxDate Stringa No Data massima che può essere selezionata in un formato di data valido Predefinito: Data corrente per l'utente finale al momento dell'invio del messaggio

AppleFormListPickerPage

AppleFormListPickerPageestende AppleFormPage

Campo Tipo Richiesto Descrizione/Note
pageType ApplePageType Valore: "ListPicker»
multiSelect Boolean No Consente la selezione di più elementi Predefinito: false (selezione singola)
items AppleFormListPickerPageItem[] Elenco degli elementi della pagina di elenco

AppleFormListPickerPageItem

AppleFormListPickerPageItemestende AppleFormPage

Campo Tipo Richiesto Descrizione/Note
titolo Stringa Visualizza il testo dell'articolo
imageType ImageType No Presente quando si visualizza l'immagine all'interno dell'elemento Valore consentito: URL "" Predefinito: Nessuna immagine visualizzata
imageData Stringa No Per imageType =» URL «, questo è il URL valore Predefinito: Nessuna immagine visualizzata
Nota

Modello di immagine simile ai modelli di messaggi interattivi esistenti (ListPicker), con l'eccezione imageDescription di «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 Apple.

AppleFormWheelPickerPage

AppleFormWheelPickerPageestende AppleFormPage

Campo Tipo Richiesto Descrizione/Note
pageType ApplePageType Valore: "WheelPicker»
items AppleFormWheelPickerPageItem[] Elenco degli articoli di Wheel Picker
labelText Stringa No Testo visualizzato accanto all'input. Vedi schermate di esempio nell'Appendice

AppleFormWheelPickerPageItem

AppleFormWheelPickerPageItemestende AppleFormPage

Campo Tipo Richiesto Descrizione/Note
titolo Stringa Visualizza il testo dell'elemento del selettore

AppleFormInputPage

AppleFormInputPageestende AppleFormPage

Campo Tipo Richiesto Descrizione/Note
pageType ApplePageType Valore: «Input»
labelText Stringa No Testo visualizzato accanto alla casella di immissione. Vedi schermate di esempio nell'Appendice
helperText Stringa No Testo aggiuntivo visualizzato nella casella di immissione Predefinito: 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 Predefinito: nessun testo di prefisso
obbligatorio Boolean No Se l'utente finale è tenuto a fornire l'input Predefinito: false
multiLine Boolean No Se è possibile fornire un input multilinea Predefinito: false (riga singola)
maxCharCount Numero No Numero massimo di caratteri in ingresso. Applicato sul client Apple. Impostazione predefinita: nessun limite
regex Stringa No Stringa regex per inserire vincoli sull'input fornito Predefinito: nessun vincolo regex
keyboardType Stringa No Determina il tipo di tastiera visualizzata quando l'utente finale fornisce l'input Valori consentiti: come Apple. Vedi i documenti. Alcuni dei valori consentiti:numberPad,, phonePad emailAddress
textContentType Stringa No Aiuta con i suggerimenti di compilazione automatica sui dispositivi Apple.  Valori consentiti: uguali a quelli di Apple. Vedi i documenti. Alcuni dei valori consentiti:telephoneNumber,, fullStreetAddress familyName

Modello Apple Pay

Nota

Questo modello è applicabile solo ai flussi di contatti di Apple Messages for Business.

Usa 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 usare in 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 Tipo di modello valido
dati
version Deve essere "1.0"
dati contenuto
contenuto titolo 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 documento valido e accessibile al pubblico URL
imageType No 0 50 Deve essere "URL»
pagamento Un dizionario contenente i campi che forniscono le specifiche di una richiesta Apple Pay.
requestIdentifier No String, un identificatore per la ApplePay richiesta. Se non specificato, UUID verrà generato e utilizzato un.
pagamento endpoint Un dizionario contenente gli endpoint per l'elaborazione dei pagamenti, gli aggiornamenti dei contatti e il tracciamento degli ordini.
merchantSession Un dizionario contenente la sessione di pagamento fornita da Apple Pay dopo aver richiesto una nuova sessione di pagamento.
paymentRequest Un dizionario con informazioni sulla richiesta di pagamento
endpoint paymentGatewayUrl Stringa. Chiamato da Apple Pay per elaborare il pagamento tramite il gestore dei pagamenti. URLDeve corrispondere URL a quello nel initiativeContext campo della sessione commerciale
fallbackUrl No A 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 tramite Apple Pay. Se specificato, fallbackUrl deve corrispondere paymentGatewayUrl.
orderTrackingUrl No Chiamato da Messages for Business dopo aver completato l'ordine; ti offre l'opportunità di aggiornare le informazioni sull'ordine nel tuo sistema.
paymentMethodUpdateUrl No Chiamato da Apple Pay quando il cliente cambia il metodo di pagamento. Se non implementi questo endpoint e includi questa chiave nel dizionario, il cliente visualizza un messaggio di errore.
shippingContactUpdateUrl No Chiamato da Apple Pay quando il cliente modifica le informazioni sull'indirizzo di spedizione. Se non implementi questo endpoint e 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 includi questa chiave nel dizionario, il cliente visualizza un messaggio di errore.
merchantSession displayName 1 64 Stringa. Il nome canonico del tuo negozio, adatto alla visualizzazione. Non localizzare il nome.
iniziativa Stringa. Deve essere «messaggistica»
initiativeContext Stringa. Supera il tuo gateway di pagamentoURL.
merchantIdentifier Stringa. Un identificativo univoco che rappresenta un commerciante di Apple Pay.
merchantSessionIdentifier Stringa. Un identificatore univoco che rappresenta la sessione di un commerciante per Apple Pay.
epochTimestamp String.La rappresentazione del tempo in numero di secondi trascorsi dalle 00:00:00 UTC di giovedì 1 gennaio 1970.
expiresAt Stringa. Rappresentazione dell'ora di scadenza in numero di secondi trascorsi dalle 00:00:00 di giovedì 1 gennaio 1970. UTC
nonce No Binario. Una stringa monouso che verifica l'integrità dell'interazione.
signature No Binario. Un hash della chiave pubblica utilizzata per firmare le interazioni.
signedFields No L'elenco di stringhe contiene le proprietà firmate.
paymentRequest applePay Un dizionario che descrive la configurazione di Apple Pay.
countryCode Stringa. Il prefisso internazionale ISO 3166 a due lettere del venditore.
currencyCode Stringa. Il codice valuta ISO 4217 a tre lettere per il pagamento.
lineItems No Una serie di voci che spiegano i pagamenti e i costi aggiuntivi. Le voci non sono obbligatorie. Tuttavia, l'array non può essere vuoto se la lineItems chiave è presente.
total Un dizionario contenente il totale. L'importo totale deve essere maggiore di zero per superare la convalida.
requiredBillingContactCampi No L'elenco delle informazioni di fatturazione richieste dal cliente necessarie per elaborare la transazione. Per l'elenco delle stringhe possibili, consulta requiredBillingContact Fields. Richiedi solo i campi di contatto necessari per elaborare il pagamento. La richiesta di campi non necessari aggiunge complessità alla transazione, il che può aumentare le possibilità che il cliente annulli la richiesta di pagamento.
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 Una serie di paesi da supportare. Elenca ogni paese con il suo prefisso ISO 3166.
applePay merchantIdentifier Un identificatore univoco che rappresenta un commerciante per Apple Pay.
merchantCapabilities Una serie di funzionalità di pagamento supportate dal venditore. L'array deve includere Supports3DS e può facoltativamente includere supportsCredit e supporta. supportsDebit EMV
supportedNetworks Una serie di reti di pagamento supportate dal commerciante. L'array deve includere uno o più dei seguenti valori: amex, discover, jcb,, masterCard o visa privateLabel
lineItem amount L'importo monetario della voce.
etichetta Una breve descrizione localizzata dell'elemento della riga.
tipo No Un valore che indica se l'elemento della riga è finale o in sospeso.
total amount L'importo totale del pagamento.
etichetta Una breve descrizione localizzata del pagamento.
tipo No Un valore che indica se il pagamento è definitivo o in sospeso.
shippingMethods amount Stringa. Il costo non negativo associato a questo metodo di spedizione.
detail (dettaglio) Stringa. Descrizione aggiuntiva del metodo di spedizione.
etichetta Stringa. Una breve descrizione del metodo di spedizione.
identificatore Stringa. Un valore definito dal cliente utilizzato per identificare questo metodo di spedizione.

iMessage Modello di app

Nota

Questo modello è applicabile solo ai flussi di contatti di Apple Messages for Business.

Utilizza il modello iMessage Apps per presentare al cliente la tua iMessage app personalizzata.

Il codice seguente è un esempio di modello di iMessage app che puoi usare nella tua 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",        }    } }

iMessage Limiti delle app

Campo principale Campo Campo obbligatorio Tipo Altre note
templateType TemplateType Tipo di modello valido, "AppleCustomInteractiveMessage»
dati InteractiveMessageData Contiene contenuti e receivedMessage dizionari
versione string Deve essere "1.0"
dati contenuto InteractiveMessageContent Contenuto interattivo dell'app iMessage
replyMessage ReplyMessage Configurazione della visualizzazione dei messaggi dopo l'invio della risposta al messaggio interattivo
contenuto appIconUrl string AWSS3 URL
appId string ID IMessage app aziendale
appName string Nome IMessage dell'app aziendale
offerta string Offerta IMessage per app aziendali. Modello: com.apple.messages. MSMessageExtensionBalloonPlugin: {team-id}: {} ext-bundle-id
dataUrl string Dati che vengono passati all'app iMessage
useLiveLayout No booleano Impostazione predefinita True
titolo string titolo della bolla dell'app Imessage
sottotitolo No string sottotitolo della bolla dell'app Imessage
replyMessage titolo No string
sottotitolo No string
imageType No string Deve essere un documento valido e accessibile al pubblico URL
imageData No string Non può esistere senza un'immagine

È 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 per formattare il testo.

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.

Una finestra di chat, un titolo con un collegamento, un sottotitolo con elenchi e collegamenti.

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)