Quando crei un completamento della scheda personalizzata, puoi creare risposte di testo e payload personalizzati. Le risposte di testo vengono utilizzate per le risposte dell'agente in testo normale e Markdown, mentre i payload personalizzati vengono utilizzati per le risposte avanzate. Il formato del payload personalizzato per tutti i tipi di risposta ha la seguente struttura di base:
{
"richContent": [
[
{
"type": "type-id",
...
},
{
"type": "type-id",
...
}
],
[
{
"type": "type-id",
...
},
{
"type": "type-id",
...
}
]
]
}
Tieni presente che il valore richContent
consente un array esterno e più array interni.
Le risposte all'interno di un array interno sono riunite in un'unica scheda visiva.
Quando l'array esterno contiene più array interni, vengono mostrate più schede, una per ogni array interno.
Le altre sottosezioni descrivono i vari tipi di che puoi configurare per un payload personalizzato.
Risposta di testo
La risposta di testo supporta il testo normale e Markdown. Ecco alcuni Markdown esempi:
*Italic*
**Bold**
# Title
[Link text](Link URL)
![](Image URL)
Tabelle:
Header 1 | Header 2 -------- | -------- Cell 1 | Cell 2
Tipo di risposta delle informazioni
Il tipo di risposta informativa è un semplice intertitolo su cui gli utenti possono fare clic o toccare.
La seguente tabella descrive i campi:
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "info" |
title |
string |
Titolo della scheda |
subtitle |
string |
Sottotitolo della scheda |
image |
object |
Immagine |
image.rawUrl |
string |
URL pubblico dell'immagine |
anchor |
object |
Ancora per seguire quando viene fatto clic sull'elemento |
anchor.href |
string |
URL dell'ancoraggio |
anchor.target |
string |
Target dell'ancora, il valore predefinito è _blank |
Ad esempio:
{
"richContent": [
[
{
"type": "info",
"title": "Info item title",
"subtitle": "Info item subtitle",
"image": {
"rawUrl": "https://example.com/images/logo.png"
},
"anchor": {
"href": "https://example.com"
}
}
]
]
}
Descrizione del tipo di risposta
Il tipo di risposta della descrizione è una scheda informativa che possono avere più righe di testo.
La seguente tabella descrive i campi:
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "description" |
title |
string |
Titolo della scheda |
text |
array<string> |
Array di stringhe, dove ogni stringa viene visualizzata su una nuova riga |
Ad esempio:
{
"richContent": [
[
{
"type": "description",
"title": "Description title",
"text": [
"This is text line 1.",
"This is text line 2."
]
}
]
]
}
Tipo di risposta immagine
Il tipo di risposta immagine è una scheda immagine su cui gli utenti possono fare clic o toccare. Il tipo di risposta supporta un chip di riferimento che consente di aggiungere la fonte dell'immagine come link di ancoraggio insieme a un breve testo descrittivo e un'icona.
Nella tabella seguente vengono descritti i campi:
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "image" |
rawUrl |
string |
URL pubblico dell'immagine |
accessibilityText |
string |
Testo alternativo per l'immagine |
reference.text |
string |
Testo da mostrare nel chip di riferimento |
reference.anchor.href |
string |
URL del chip di riferimento |
reference.anchor.target |
string |
Target dell'ancoraggio nel chip di riferimento; il valore predefinito è _blank |
reference.image.rawUrl |
string |
Immagine da mostrare nel chip di riferimento |
Ad esempio:
{
"richContent": [
[
{
"type": "image",
"rawUrl": "https://example.com/images/logo.png",
"accessibilityText": "Example logo",
"reference": {
"text": "Logo",
"anchor": {
"href": "https://example.com/images/logo.png"
},
"image": {
"rawUrl": "https://example.com/images/logo_small.png"
}
}
}
]
]
}
È possibile fornire le seguenti variabili CSS:
Proprietà | Criterio di input | Valore predefinito | Descrizione |
---|---|---|---|
df-messenger-image-border-radius |
Facoltativo | 8 px | Raggio del bordo dell'immagine |
Tipo di risposta video
Il tipo di risposta video mostra un elemento video che può essere un video diretto dall'URL, riprodotto direttamente in Messenger o un link a un video.
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "video" |
title |
string |
Titolo facoltativo del video |
source |
object |
L'origine del video |
source.type |
string |
Un tipo di origine video, link o raw |
source.anchor |
object |
Ancora da seguire quando viene fatto clic sull'elemento |
source.embeddedPlayer |
string |
Potrebbe essere incorporato un video di tipo link anziché un link alla pagina web del player. Questa funzionalità è implementata solo per un gruppo noto di player; supporta youtube . |
source.thumbnail |
object |
Miniatura da mostrare per anchor |
source.thumbnail.rawUrl |
string |
L'URL della miniatura |
source.rawUrl |
string |
URL per un video di tipo raw |
Ad esempio:
{
"richContent": [
[
{
"type": "video",
"source": {
"type": "link",
"anchor": {
"href": "https://www.youtube.com/watch?v=cNfINi5CNbY"
}
}
}
]
]
}
È possibile fornire le seguenti variabili CSS:
Proprietà | Criterio di input | Valore predefinito | Descrizione |
---|---|---|---|
df-messenger-video-width |
Facoltativo | auto | Larghezza di un video (limite di max-width\: 100% ) |
df-messenger-video-height |
Facoltativo | auto | Altezza di un video |
df-messenger-video-embed-width |
Facoltativo | 560 px | Larghezza di un video incorporato (limitata a max-width\: 100% ) |
df-messenger-video-embed-height |
Facoltativo | 315px | Altezza di un video incorporato |
df-messenger-video-border |
Facoltativo | 1px solid #e0e0e0 | Bordo del video |
df-messenger-video-border-radius |
Facoltativo | 8 px | Raggio bordo del video |
Tipo di risposta del pulsante
Il tipo di risposta del pulsante è un piccolo pulsante con un'icona su cui gli utenti possono fare clic o toccare.
La seguente tabella descrive i campi:
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "button" |
icon |
object |
Icona per il pulsante |
icon.type |
string |
Icona della libreria di icone Material. L'icona predefinita è una freccia |
icon.color |
string |
Codice esadecimale del colore |
image |
object |
L'immagine del pulsante ha la precedenza su icon |
image.rawUrl |
string |
URL pubblico dell'immagine |
mode |
string |
(Facoltativo) Se impostato su "blocco", l'input dell'utente viene disattivato finché l'utente non fa clic sul pulsante |
text |
string |
Testo del pulsante |
anchor |
object |
Ancora da seguire quando viene fatto clic sull'elemento |
anchor.href |
string |
URL dell'ancora |
anchor.target |
string |
Target dell'ancora, il valore predefinito è _blank |
event |
object |
Evento Dialogflow che viene attivato quando l'utente fa clic sul pulsante. |
Ad esempio:
{
"richContent": [
[
{
"type": "button",
"icon": {
"type": "chevron_right",
"color": "#FF9800"
},
"mode": "blocking",
"text": "Button text",
"anchor": {
"href": "https://example.com"
},
"event": {
"event": ""
}
}
]
]
}
È possibile fornire le seguenti variabili CSS:
Proprietà | Criterio di input | Valore predefinito | Descrizione |
---|---|---|---|
df-messenger-button-border |
Facoltativo | nessuno | Bordo di un pulsante |
df-messenger-button-border-radius |
Facoltativo | 8 px | Raggio bordo di un pulsante |
df-messenger-button-font-color |
Facoltativo | #1f1f1f | Colore del testo di un pulsante |
df-messenger-button-font-family |
Facoltativo | "Google Sans", "HSPAN Neue", Sans-Serif | Famiglia di caratteri di un pulsante |
df-messenger-button-font-size |
Facoltativo | 14px | La dimensione del carattere di un pulsante |
df-messenger-button-padding |
Facoltativo | 12 px | Spaziatura interna di un pulsante |
df-messenger-button-icon-spacing |
Facoltativo | 12 px | Spazio tra l'icona e il testo del pulsante |
df-messenger-button-icon-font-size |
Facoltativo | 24 px | Dimensioni dell'icona del pulsante |
df-messenger-button-image-size |
Facoltativo | 24 px | Dimensioni dell'immagine del pulsante |
df-messenger-button-image-offset |
Facoltativo | 0 | Offset dell'immagine del pulsante, consente valori negativi per compensare il padding |
df-messenger-button-text-align |
Facoltativo | al centro | Allineamento testo di un pulsante |
df-messenger-button-text-wrap |
Facoltativo | normale | Utilizza nowrap per non consentire i pulsanti su più righe |
Elenco tipo di risposta
Il tipo di risposta elenco è una scheda con più opzioni tra cui gli utenti possono scegliere.
La risposta contiene un array di list
e divider
tipi di risposte.
Nella tabella seguente viene descritto il tipo list
:
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "elenco" |
title |
string |
Titolo dell'opzione |
subtitle |
string |
Sottotitolo opzione |
event |
object |
Evento Dialogflow che viene attivato quando l'utente fa clic sull'opzione. |
anchor |
object |
Ancora per seguire quando viene fatto clic sull'elemento |
anchor.href |
string |
URL dell'ancoraggio |
anchor.target |
string |
Target dell'ancora, il valore predefinito è _blank |
image |
object |
Immagine |
image.rawUrl |
string |
URL pubblico dell'immagine |
La tabella seguente descrive il tipo divider
:
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "divider" |
Ad esempio:
{
"richContent": [
[
{
"type": "list",
"title": "List item 1 title",
"subtitle": "List item 1 subtitle",
"event": {
"event": ""
}
},
{
"type": "list",
"title": "List item 2 title",
"subtitle": "List item 2 subtitle",
"event": {
"event": ""
}
}
]
]
}
È possibile fornire le seguenti variabili CSS:
Proprietà | Criterio di input | Valore predefinito | Descrizione |
---|---|---|---|
df-messenger-list-padding |
Facoltativo | 16 px | Spaziatura interna di un elemento dell'elenco |
df-messenger-list-inset |
Facoltativo | 0 | "Inserimento" orizzontale aggiuntivo dell'elemento dell'elenco (oltre al padding), per controllare l'espansione del bordo tra gli elementi |
df-messenger-list-spacing |
Facoltativo | 10px | Spazio verticale tra gli elementi dell'elenco |
df-messenger-list-border-bottom |
Facoltativo | 1px solid #e0e0e0 | Bordo tra gli elementi dell'elenco |
Tipo di risposta dell'elenco a scomparsa
Il tipo di risposta a fisarmonica è una piccola scheda su cui un utente può fare clic o toccare per espanderla e visualizzare altro testo.
La seguente tabella descrive i campi:
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "accordion" |
title |
string |
Titolo a soffietto |
subtitle |
string |
Sottotitolo dell'elenco a scomparsa |
image |
object |
Immagine |
image.rawUrl |
string |
URL pubblico dell'immagine |
text |
string |
Testo dell'elenco a scomparsa |
Ad esempio:
{
"richContent": [
[
{
"type": "accordion",
"title": "Accordion title",
"subtitle": "Accordion subtitle",
"image": {
"rawUrl": "https://example.com/images/logo.png"
},
"text": "Accordion text"
}
]
]
}
Tipo di risposta del chip di suggerimento
Il tipo di risposta del chip di suggerimento fornisce all'utente finale un elenco di chip di suggerimento cliccabili.
Nella tabella seguente vengono descritti i campi:
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "chip" |
options |
array<object> |
Array di oggetti Option |
options[].mode |
string |
(Facoltativo) Se impostato su "blocco", l'input dell'utente viene disattivato finché l'utente non fa clic sul chip |
options[].text |
string |
Testo dell'opzione |
options[].image |
object |
(Facoltativo) Opzione Immagine |
options[].image.rawUrl |
string |
Opzione URL pubblico per l'immagine |
options[].anchor |
object |
(Facoltativo) Ancoraggio per seguire quando viene fatto clic sull'elemento |
options[].anchor.href |
string |
URL dell'ancoraggio |
options[].anchor.target |
string |
Target dell'ancora, il valore predefinito è _blank |
Ad esempio:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"mode": "blocking",
"text": "Chip 1",
"image": {
"rawUrl": "https://example.com/images/logo.png"
},
"anchor": {
"href": "https://example.com"
}
},
{
"text": "Chip 2",
"image": {
"rawUrl": "https://example.com/images/logo.png"
},
"anchor": {
"href": "https://example.com"
}
}
]
}
]
]
}
È possibile fornire le seguenti variabili CSS:
Proprietà | Criterio di input | Valore predefinito | Descrizione |
---|---|---|---|
df-messenger-chips-spacing |
Facoltativo | 10px | Spazio sopra i chip per inserire il messaggio precedente |
df-messenger-chips-border-color |
Facoltativo | #e0e0e0 | Colore del bordo di un chip |
df-messenger-chips-border-color-hover |
Facoltativo | #e0e0e0 | Colore del bordo di un chip quando si passa il mouse sopra |
df-messenger-chips-border-radius |
Facoltativo | 999 px | Raggio del bordo di un chip |
df-messenger-chips-background |
Facoltativo | bianco | Sfondo di un chip |
df-messenger-chips-background-hover |
Facoltativo | rgba(68, 71, 70, 0,08) | Sfondo di un chip quando si passa il mouse sopra |
df-messenger-chips-padding |
Facoltativo | 6px 16px | Spaziatura interna di un chip |
df-messenger-chips-font-color |
Facoltativo | nero | Colore del testo di un chip |
df-messenger-chips-font-family |
Facoltativo | "Google Sans", "HSPAN Neue", Sans-Serif | Famiglia di caratteri di un chip |
df-messenger-chips-font-size |
Facoltativo | 14px | Dimensioni del testo di un chip |
df-messenger-chips-font-weight |
Facoltativo | normale | Spessore del carattere di un chip |
df-messenger-chips-font-weight-hover |
Facoltativo | normale | Spessore del carattere di un chip quando si passa il mouse sopra |
df-messenger-chips-box-shadow |
Facoltativo | 0 2px 2px 0 rgba(0, 0, 0, 0.24) | Ombra riquadro di un chip |
df-messenger-chips-content-align |
Facoltativo | flex-start | Allineamento verticale dei contenuti (ad es. l'immagine) in un chip |
df-messenger-chips-text-wrap |
Facoltativo | nowrap | Utilizza normal per consentire i chip multiriga |
Tipo di risposta alle citazioni
Il tipo di risposta citazioni fornisce all'utente finale un elenco di link alle citazioni cliccabili.
Nella tabella seguente vengono descritti i campi:
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "match_citations" |
citations |
array<object> |
Array di oggetti Citation |
citations[].title |
string |
Titolo citazione |
citations[].subtitle |
string |
Sottotitolo citazione (attualmente ignorato) |
citations[].anchor |
object |
Ancora per seguire quando viene fatto clic sull'elemento |
citations[].anchor.href |
string |
URL dell'ancora |
citations[].anchor.target |
string |
Target dell'ancora, il valore predefinito è _blank |
Ad esempio:
{
"richContent": [
[
{
"type": "match_citations",
"citations": [
{
"title": "Source 1",
"subtitle": "",
"anchor": {
"href": "https://example.com/1"
}
},
{
"title": "Source 2",
"subtitle": "",
"anchor": {
"href": "https://example.com/2"
}
}
]
}
]
]
}
È possibile fornire le seguenti variabili CSS:
Proprietà | Criterio di input | Valore predefinito | Descrizione |
---|---|---|---|
df-messenger-citations-spacing |
Facoltativo | 10px | Spazio sopra le citazioni al messaggio precedente |
df-messenger-citations-message-display |
Facoltativo | blocco | Definisce la visualizzazione della nota sopra le citazioni. I valori consentiti sono block o none |
df-messenger-citations-message-font-color |
Facoltativo | #041e49 | Colore del testo della nota sopra le citazioni |
df-messenger-citations-message-font-size |
Facoltativo | 12 px | Dimensioni del testo della nota sopra le citazioni |
df-messenger-citations-flex-direction |
Facoltativo | riga | Proprietà direzione flessibile delle citazioni. È consigliabile utilizzare row (orizzontale con interruzioni di riga) o column (verticale). |
df-messenger-citations-border-color |
Facoltativo | #1a73e8 | Colore del bordo di una citazione |
df-messeenger-citations-border-color-hover |
Facoltativo | #1a73e8 | Colore del bordo di una citazione quando si passa il mouse sopra |
df-messenger-citations-border-radius |
Facoltativo | 4 px | Raggio bordo di una citazione |
df-messenger-citations-padding |
Facoltativo | 8 px | Spaziatura di una citazione |
df-messenger-citations-background |
Facoltativo | bianco | Contesto di una citazione |
df-messenger-citations-background-hover |
Facoltativo | rgba(68, 71, 70, 0,08) | Sfondo di una citazione quando si passa il mouse sopra |
df-messenger-citations-font-color |
Facoltativo | #1a73e8 | Colore del testo di una citazione |
df-messenger-citations-font-family |
Facoltativo | "Google Sans", "HSPAN Neue", Sans-Serif | Famiglia di caratteri di una citazione |
df-messenger-citations-font-size |
Facoltativo | 11px | Dimensioni del testo di una citazione |
df-messenger-citations-icon-font-size |
Facoltativo | 14 px | Dimensioni del testo dell'icona di una citazione |
df-messenger-citations-font-weight |
Facoltativo | normale | Spessore del carattere di una citazione |
df-messenger-citations-font-weight-hover |
Facoltativo | normale | Spessore del carattere di una citazione al passaggio del mouse |
df-messenger-citations-icon-spacing |
Facoltativo | 4 px | Spazio tra l'icona e il testo in una citazione |
df-messenger-citations-box-shadow |
Facoltativo | nessuno | Ombra riquadro di una citazione |
Tipo di risposta file
Il tipo di risposta files restituisce un elenco di elementi file contenenti un link scaricabile.
La seguente tabella descrive i campi:
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "file" |
files |
array<object> |
Array di oggetti File |
files[].name |
string |
Nome file |
files[].image |
object |
Immagine del file |
files[].image.rawUrl |
string |
URL pubblico del file per l'immagine |
files[].anchor |
object |
Fissa per scaricare il file |
files[].anchor.href |
string |
URL dell'ancoraggio |
files[].anchor.target |
string |
Target dell'ancora, il valore predefinito è _blank |
Ad esempio:
{
"richContent": [
[
{
"type": "files",
"files": [
{
name: 'instructions.pdf',
image: {
rawUrl:
'https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/cloud_download/default/24px.svg'
},
anchor: {
href: 'https://example.com/instructions.pdf'
}
},
{
name: 'data.csv',
image: {
rawUrl:
'https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/csv/default/24px.svg'
},
anchor: {
href: 'https://example.com/data.csv'
}
}
]
}
]
]
}
Puoi fornire le seguenti variabili CSS
Proprietà | Criterio di input | Valore predefinito | Descrizione |
---|---|---|---|
df-messenger-files-spacing |
Facoltativo | 10 px | Spazio sopra il file per andare al messaggio precedente |
df-messenger-files-distance |
Facoltativo | 8 px | Distanza tra i file nell'elenco |
df-messenger-files-flex-direction |
Facoltativo | riga | Proprietà direzione flessibile dei file; è consigliabile utilizzare row (orizzontale con interruzioni di riga) o column (verticale) |
df-messenger-files-background |
Facoltativo | bianco | Sfondo di un file |
df-messenger-files-border |
Facoltativo | 1px solid #e0e0e0 | Bordo di un file |
df-messenger-files-border-radius |
Facoltativo | 999 px | Raggio del bordo di un file |
df-messenger-files-box-shadow |
Facoltativo | 0 2px 2px 0 rgba(0, 0, 0, 0.24) | Ombra riquadro di un file |
df-messenger-files-padding |
Facoltativo | 6 px 16 px | Spaziatura interna di un file |
df-messenger-files-font-color |
Facoltativo | #1f1f1f | Colore del testo di un file |
df-messenger-files-font-family |
Facoltativo | "Google Sans", "Helvetica Neue", senza grazie | Famiglia di caratteri di un file |
df-messenger-files-font-size |
Facoltativo | 14 px | Dimensioni del testo di un file |
df-messenger-files-font-weight |
Facoltativo | normale | Spessore del carattere di un file |
df-messenger-files-background-hover |
Facoltativo | bianco | Sfondo di un file quando si passa il mouse sopra |
df-messenger-files-border-hover |
Facoltativo | 1px solid #e0e0e0 | Bordo di un file quando si passa il mouse sopra |
df-messenger-files-font-weight-hover |
Facoltativo | normale | Spessore del carattere di un file quando si passa il mouse sopra |
df-messenger-files-image-offset |
Facoltativo | 0 0 0 -8px | Offset dell'immagine a sinistra |
df-messenger-files-image-size |
Facoltativo | 18 px | Dimensioni dell'immagine a sinistra |
df-messenger-files-text-spacing |
Facoltativo | 8 px | Distanza tra il testo dell'immagine a sinistra e l'icona del testo a destra |
df-messenger-files-icon-offset |
Facoltativo | 0 -8px 0 0 | Offset dell'icona di download a destra |
df-messenger-files-icon-size |
Facoltativo | 18 px | Dimensioni dell'icona di download a destra |
df-messenger-files-icon-font-color |
Facoltativo | #444746 | Colore dell'icona di download a destra |
Tipo di risposta HTML
Il tipo di risposta HTML fornisce all'utente finale un messaggio HTML.
La seguente tabella descrive i campi:
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "html" |
html |
string |
Contenuto testuale del messaggio; supporta HTML |
Tag HTML supportati:
a
- Elemento ancorato (utilizzato per la creazione di link ipertestuali)b
- Elemento in grassetto (utilizzato per applicare il grassetto al testo)i
- Elemento corsivo (utilizzato per mettere il testo in corsivo)u
: elemento sottolineato (utilizzato per sottolineare il testo)h1
: elemento intestazione 1 (utilizzato per l'intestazione principale di una pagina)h2
- Elemento di intestazione 2 (utilizzato per le sottotitoli)h3
: elemento Intestazione 3 (utilizzato per i sottotitoli secondari)p
- Elemento paragrafo (utilizzato per creare paragrafi di testo)br
- Elemento di interruzione di riga (utilizzato per creare interruzioni di riga all'interno di un paragrafo)table
- Elemento tabella (utilizzato per creare tabelle)tr
- Elemento riga di tabella (utilizzato per creare righe all'interno di una tabella)thead
- Elemento di intestazione della tabella (utilizzato per creare un'intestazione all'interno di una tabella)th
- Dati dell'intestazione della tabella o elemento della cella (utilizzato per creare celle all'interno di una riga di intestazione della tabella)tbody
: elemento del corpo della tabella (utilizzato per creare un corpo all'interno di una tabella)td
- Dati della tabella o elemento della cella (utilizzato per creare celle all'interno di una riga della tabella)ul
- Elemento dell'elenco non ordinato (utilizzato per creare elenchi puntati)ol
- Elemento di elenco ordinato (utilizzato per creare elenchi numerati)li
- Elemento voce elenco (utilizzato per creare elementi all'interno di un elenco)img
- Elemento immagine (utilizzato per mostrare un'immagine; vedi ancheurl-allowlist
Personalizzazione HTML)div
- Elemento contenitorespan
- Elemento contenitore in linea
Ad esempio:
{
"richContent": [
[
{
"type": "html",
"html": "<b>Bold text</b> <i>Italic text</i> <u>Underlined text</u>"
}
]
]
}
Aggiunta di stili a HTML e Markdown
Per gli elementi anchor (elemento a
HTML e link Markdown), possono essere fornite le seguenti variabili CSS:
Proprietà | Criterio di input | Valore predefinito | Descrizione |
---|---|---|---|
df-messenger-link-decoration |
Facoltativo | sottolineato | Decorazione di un elemento link |
df-messenger-link-font-color |
Facoltativo | #0b57d0 | Colore del carattere di un elemento link non visitato |
df-messenger-link-visited-font-color |
Facoltativo | #0b57d0 | Colore del carattere di un elemento link visitato |
df-messenger-link-hover-font-color |
Facoltativo | #0b57d0 | Colore del carattere quando passi il mouse sopra un elemento link |
df-messenger-link-background |
Facoltativo | trasparente | Sfondo di un elemento link |
df-messenger-link-padding |
Facoltativo | 0 | Spaziatura interna di un elemento link |
df-messenger-link-border |
Facoltativo | nessuno | Bordo di un elemento link |
df-messenger-link-border-radius |
Facoltativo | 0 | Raggio del bordo di un elemento link |
Per gli elementi della tabella (elemento table
HTML e tabelle Markdown), è possibile fornire le seguenti variabili CSS:
Proprietà | Criterio di input | Valore predefinito | Descrizione |
---|---|---|---|
df-messenger-table-font-size |
Facoltativo | 14 px | Dimensioni del testo in un elemento della tabella |
df-messenger-table-font-color |
Facoltativo | #1f1f1f | Colore del testo in un elemento della tabella |
df-messenger-table-align |
Facoltativo | a sinistra | Allineamento del testo in una cella di tabella |
df-messenger-table-padding |
Facoltativo | 0 | Spaziatura interna in una cella di tabella |
df-messenger-table-border-collapse |
Facoltativo | separato | Modalità di accorpamento dei bordi di una tabella, utilizza separate per attivare border-radius |
df-messenger-table-border-radius |
Facoltativo | 0 | Raggio bordo di una tabella |
df-messenger-table-header-border-radius |
Facoltativo | 0 | Raggio del bordo dell'intestazione della tabella |
df-messenger-table-border-top |
Facoltativo | nessuno | Bordo superiore di una riga della tabella |
df-messenger-table-border-top-first |
Facoltativo | nessuno | Bordo superiore della prima riga della tabella |
df-messenger-table-border-bottom |
Facoltativo | nessuno | Bordo inferiore di una riga della tabella |
df-messenger-table-border-bottom-last |
Facoltativo | nessuno | Bordo inferiore dell'ultima riga della tabella |
df-messenger-table-border-left |
Facoltativo | nessuno | Bordo sinistro di una cella di tabella |
df-messenger-table-border-left-first |
Facoltativo | nessuno | Bordo sinistro della prima cella della tabella in una riga |
df-messenger-table-border-right |
Facoltativo | nessuno | Bordo a destra di una cella di tabella |
df-messenger-table-border-right-last |
Facoltativo | nessuno | Bordo destro dell'ultima cella della tabella in una riga |
df-messenger-table-background |
Facoltativo | trasparente | Sfondo di una riga della tabella |
df-messenger-table-even-background |
Facoltativo | trasparente | Sfondo di righe di tabella numerate pari |
df-messenger-table-odd-background |
Facoltativo | trasparente | Sfondo di righe di tabella con numeri dispari |
df-messenger-table-header-font-size |
Facoltativo | 14px | Dimensioni del testo in un elemento di intestazione di una tabella |
df-messenger-table-header-font-weight |
Facoltativo | grassetto | Spessore carattere in un elemento di intestazione di una tabella |
df-messenger-table-header-font-color |
Facoltativo | #1f1f1f | Colore del testo in un elemento di intestazione della tabella |
df-messenger-table-header-align |
Facoltativo | a sinistra | Allineamento del testo in una cella dell'intestazione della tabella |
df-messenger-table-header-padding |
Facoltativo | 0 | Spaziatura interna in una cella dell'intestazione della tabella |
df-messenger-table-header-border-top |
Facoltativo | nessuno | Bordo superiore della riga di intestazione della tabella |
df-messenger-table-header-border-bottom |
Facoltativo | nessuno | Bordo inferiore della riga dell'intestazione della tabella |
df-messenger-table-header-border-left |
Facoltativo | nessuno | Bordo a sinistra di una cella nella riga di intestazione della tabella |
df-messenger-table-header-border-left-first |
Facoltativo | nessuno | Bordo sinistro della prima cella nella riga di intestazione della tabella |
df-messenger-table-header-border-right |
Facoltativo | nessuno | Bordo a destra di una cella nella riga di intestazione della tabella |
df-messenger-table-header-border-right-last |
Facoltativo | nessuno | Bordo destro dell'ultima cella di una riga di intestazione della tabella |
df-messenger-table-header-background |
Facoltativo | trasparente | Sfondo della riga di intestazione della tabella |
Tipo di risposta del modello personalizzato
Il tipo di risposta del modello personalizzato esegue il rendering elemento personalizzato definita sul sito web del cliente. L'elemento non è posizionato all'interno di una scheda e si trova sempre da solo.
La seguente tabella descrive i campi:
Nome | Tipo | Descrizione |
---|---|---|
type |
string |
Tipo di risposta: "custom_template" |
name |
string |
Nome dell'elemento personalizzato |
payload |
Object |
Payload da passare all'elemento personalizzato |
Ad esempio:
{
"richContent": [
[
{
"type": "custom_template",
"name": "custom-element-example",
"payload": {
"text": "Hello World"
}
}
]
]
}
Sul tuo sito web, l'elemento personalizzato deve essere registrato con il nome esatto
dal campo name
della risposta. Il campo payload
viene passato a
l'elemento personalizzato come dfPayload
dopo la costruzione (ma prima di connectedCallback
). Il campo potrebbe contenere un JSON arbitrario. Inoltre, dfResponseId
è
passato all'elemento.
Utilizzando la risposta dell'esempio, ecco un esempio di implementazione di una elemento personalizzato:
class CustomElementExample extends HTMLElement {
constructor() {
super();
// The `dfPayload` field will be provided before `connectedCallback` is
// being called.
this.dfPayload = null;
// The `dfResponseId` field will be provided before `connectedCallback` is
// being called.
this.dfResponseId = null;
// It is not strictly required but recommended to contain the custom
// element in a shadow root.
// https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot
this.renderRoot = this.attachShadow({mode: 'open'});
}
/** Web component Lifecycle method. */
connectedCallback() {
const div = document.createElement('div');
// The `.text` must match the payload's structure in `richContent.payload`.
div.innerText = this.dfPayload.text;
this.renderRoot.appendChild(div);
}
}
(function() {
// Registers the element. This name must match the name in
// `richContent.payload`.
customElements.define('custom-element-example', CustomElementExample);
})();
Combinazione dei tipi di risposta
I singoli elementi dei messaggi avanzati per Messenger di Dialogflow CX possono essere utilizzati per creare una scheda personalizzata in base alle tue esigenze.
Di seguito è riportato un esempio in cui vengono utilizzati alcuni degli elementi elencati nella sezione dell'evasione degli ordini:
{
"richContent": [
[
{
"type": "image",
"rawUrl": "https://example.com/images/logo.png",
"accessibilityText": "Dialogflow across platforms"
},
{
"type": "info",
"title": "Dialogflow",
"subtitle": "Build natural and rich conversational experiences",
"anchor": {
"href": "https://cloud.google.com/dialogflow/docs"
}
},
{
"type": "chips",
"options": [
{
"text": "Case Studies",
"anchor": {
"href": "https://cloud.google.com/dialogflow/case-studies"
}
},
{
"text": "Docs",
"anchor": {
"href": "https://cloud.google.com/dialogflow/docs"
}
}
]
}
]
]
}
È possibile fornire le seguenti variabili CSS:
Proprietà | Criterio di input | Valore predefinito | Descrizione |
---|---|---|---|
df-messenger-card-background |
Facoltativo | bianco | Sfondo di una scheda personalizzata |
df-messenger-card-padding |
Facoltativo | 16 px | Spaziatura degli elementi in una scheda personalizzata |
df-messenger-card-border |
Facoltativo | 1 px solido #e0e0e0 | Bordo di una carta personalizzata |
df-messenger-card-border-radius |
Facoltativo | 8 px | Raggio del bordo di una carta personalizzata |
df-messenger-card-border-top-left-radius |
Facoltativo | 8 px | Raggio del bordo in alto a sinistra di una scheda personalizzata |
df-messenger-card-border-top-right-radius |
Facoltativo | 8 px | Raggio del bordo in alto a destra di una scheda personalizzata |
df-messenger-card-border-bottom-left-radius |
Facoltativo | 8 px | Raggio del bordo in basso a sinistra di una scheda personalizzata |
df-messenger-card-border-bottom-right-radius |
Facoltativo | 8 px | Raggio del bordo in basso a destra di una scheda |
df-messenger-card-stack-border-top-left-radius |
Facoltativo | 8 px | Il raggio del bordo in alto a sinistra per le carte personalizzate consecutive sostituisce quello superiore sinistro |
df-messenger-card-stack-border-top-right-radius |
Facoltativo | 8 px | Il raggio del bordo in alto a destra per le carte personalizzate consecutive sostituisce quello superiore destro |
df-messenger-card-stack-border-bottom-left-radius |
Facoltativo | 8 px | Il raggio del bordo in basso a sinistra per le schede personalizzate consecutive sostituisce il raggio in basso a sinistra |
df-messenger-card-stack-border-bottom-right-radius |
Facoltativo | 8 px | Il raggio del bordo in basso a destra per le schede personalizzate consecutive sostituisce quello in basso a destra |
df-messenger-card-box-shadow |
Facoltativo | 0 2px 2px 0 rgba(0, 0, 0, 0.24) | Ombra riquadro di una scheda personalizzata |
Contenuti avanzati di uno strumento Playbook
Puoi utilizzare gli strumenti dei playbook per inviare contenuti avanzati a Dialogflow CX Messenger.
Passaggio 1: crea uno strumento addRichContent nell'agente
Crea un strumento funzione chiamato addRichContent con i seguenti dati:
Input dello strumento:
properties: {}
type: object
Output dello strumento:
properties:
status:
type: string
reason:
type: string
type: object
Passaggio 2: spiega all'agente come utilizzare questo strumento
Fornisci all'agente istruzioni ed esempi su come utilizzare lo strumento.
Ad esempio, aggiungi qualcosa di simile alle istruzioni:
- Greet the user
- Ask the user what their favorite color is.
At the same time run ${TOOL: addRichContent} to display buttons
for blue, red, yellow, and green.
- Thank the user
Ad esempio, crea un esempio simile al seguente:
Tieni presente che la sintassi per i contenuti avanzati è la stessa che useresti se dovessi restituire un payload personalizzato in un agente virtuale basato su flusso.
Passaggio 3: definisci il codice JavaScript
Nel codice della pagina che ospita df-messenger
,
devi creare codice JavaScript
che definisce una funzione che indica a df-messenger
di eseguire il rendering dei contenuti avanzati.
Devi anche registrare la funzione con df-messenger
,
in modo che sappia di eseguire la funzione quando serve all'agente virtuale.
Assicurati che la variabile dfMessenger
sia dichiarata
e punti alla tua istanza di df-messenger
.
Ecco alcuni esempi di codice che puoi utilizzare a questo scopo:
const dfMessenger = document.querySelector('df-messenger');
function addRichContent(customPayload) {
dfMessenger.renderCustomCard(customPayload.richContent);
// add error handling
return Promise.resolve({ status: "OK", reason: null });
}
// substitute your own tool id
const toolId = 'projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID/tools/TOOL_ID'
dfMessenger.registerClientSideFunction(toolId, addRichContent.name, addRichContent);