Esecuzione di Dialogflow CX Messenger

Quando crei un fulfillment di schede personalizzate, 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",
        ...
      }
    ]
  ]
}

Le sottosezioni rimanenti descrivono i vari tipi di risposte che puoi configurare per un payload personalizzato.

Messaggio di risposta

Screenshot del testo di Dialogflow CX Messenger

La risposta di testo supporta il testo normale e Markdown. Ecco alcuni esempi di Markdown:

  • *Italic*
  • **Bold**
  • # Title
  • [Link text](Link URL)
  • ![](Image URL)

  • Tabelle:

    Header 1 | Header 2
    -------- | --------
    Cell 1   | Cell 2
    

Tipo di risposta informativa

Screenshot del tipo di informazioni di Dialogflow CX Messenger

Il tipo di risposta informativa è un intertitolo informativo su cui gli utenti possono fare clic o toccare.

La tabella seguente 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 Ancoraggio da seguire quando si fa clic sull'elemento.
anchor.href string URL dell'ancora.
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"
        }
      }
    ]
  ]
}

Tipo di risposta della descrizione

Screenshot del tipo di descrizione di Dialogflow CX Messenger

Il tipo di risposta Descrizione è una scheda informativa che ti consente di visualizzare più righe di testo.

La tabella seguente descrive i campi:

Nome Tipo Descrizione
type string Tipo di risposta: "description".
title string Titolo della scheda.
text array<string> Array di stringhe, in cui 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

Screenshot del tipo di immagine di Dialogflow CX Messenger

Il tipo di risposta con immagine è una scheda con immagine su cui gli utenti possono fare clic o toccare. Il tipo di risposta supporta un chip di riferimento che ti consente di aggiungere la fonte dell'immagine come link di ancoraggio insieme a un breve testo descrittivo e a un'icona.

La tabella seguente descrive i campi:

Nome Tipo Descrizione
type string Tipo di risposta: "image".
rawUrl string URL pubblico dell'immagine.
accessibilityText string Testo alternativo dell'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'anchor 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"
          }
        }
      }
    ]
  ]
}

Puoi utilizzare le seguenti variabili CSS:

Proprietà Policy di input Valore predefinito Descrizione
df-messenger-image-border-radius Facoltativo 8 px Raggio del bordo dell'immagine.

Tipo di risposta video

Screenshot del tipo di video di Dialogflow CX Messenger

Il tipo di risposta video esegue il rendering di un elemento video che può essere un video diretto da un URL, riprodotto direttamente in Messenger, o un link a un video.

La tabella seguente descrive i campi:

Nome Tipo Descrizione
type string Tipo di risposta: "video".
title string Titolo del video facoltativo.
source object L'origine del video.
source.type string Un tipo di origine video, link o raw.
source.anchor object Ancoraggio da seguire quando si fa clic sull'elemento.
source.embeddedPlayer string Un video di tipo link può essere incorporato anziché collegato alla pagina web del player. Questa funzionalità è implementata solo per un insieme noto di player e supporta youtube.
source.thumbnail object Miniatura da mostrare per anchor.
source.thumbnail.rawUrl string URL della miniatura.
source.rawUrl string URL di un video di tipo raw.

Ad esempio:

{
  "richContent": [
    [
      {
        "type": "video",
        "source": {
          "type": "link",
          "anchor": {
            "href": "https://www.youtube.com/watch?v=example"
          }
        }
      }
    ]
  ]
}

Puoi utilizzare le seguenti variabili CSS:

Proprietà Policy di input Valore predefinito Descrizione
df-messenger-video-width Facoltativo auto Larghezza di un video (limitata da max-width\: 100%).
df-messenger-video-height Facoltativo auto Altezza di un video.
df-messenger-video-embed-width Facoltativo 560px Larghezza di un video incorporato (limitata da 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

Screenshot del tipo di pulsante di Dialogflow CX Messenger

Il tipo di risposta con pulsante è un piccolo pulsante con un'icona su cui puoi fare clic o toccare.

La tabella seguente descrive i campi:

Nome Tipo Descrizione
type string Tipo di risposta: "button".
icon object Icona del pulsante.
icon.type string Icona della raccolta di icone Material. L'icona predefinita è una freccia.
icon.color string Codice esadecimale del colore.
image object Immagine per il pulsante, ha la priorità su icon.
image.rawUrl string URL pubblico dell'immagine del pulsante.
mode string Facoltativo. Se impostato su "blocking", l'input utente viene disattivato finché l'utente non fa clic sul pulsante.
text string Testo del pulsante.
anchor object Ancoraggio da seguire quando si fa clic sull'elemento.
anchor.href string URL dell'ancora.
anchor.target string Target dell'ancora, il valore predefinito è _blank.
event object Evento Dialogflow CX che viene attivato quando si 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": ""
        }
      }
    ]
  ]
}

Puoi utilizzare le seguenti variabili CSS:

Proprietà Policy di input Valore predefinito Descrizione
df-messenger-button-border Facoltativo nessuno Bordo di un pulsante.
df-messenger-button-border-radius Facoltativo 8 px Raggio del 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", "Helvetica Neue", sans-serif Famiglia di caratteri di un pulsante.
df-messenger-button-font-size Facoltativo 14px 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 del pulsante e il testo.
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 del testo di un pulsante.
df-messenger-button-text-wrap Facoltativo normale Utilizza nowrap per non consentire i pulsanti su più righe.

Tipo di risposta elenco

Screenshot del tipo di elenco di Dialogflow CX Messenger

Il tipo di risposta elenco è una scheda che ti consente di selezionare tra più opzioni. La risposta contiene un array di tipi di risposta list e divider.

La tabella seguente descrive il tipo list:

Nome Tipo Descrizione
type string Tipo di risposta: "list".
title string Titolo dell'opzione.
subtitle string Sottotitolo dell'opzione.
event object Evento Dialogflow CX che viene attivato quando si fa clic sull'opzione.
anchor object Ancoraggio da seguire quando si fa clic sull'elemento.
anchor.href string URL dell'ancora.
anchor.target string Target dell'ancora, il valore predefinito è _blank.
image object Immagine.
image.rawUrl string URL pubblico dell'immagine di riferimento.
event.event string Nome dell'evento che viene attivato quando si fa clic sull'opzione.

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": ""
        }
      }
    ]
  ]
}

Puoi utilizzare le seguenti variabili CSS:

Proprietà Policy 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 "Inset" 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 a fisarmonica

Screenshot del tipo di accordion di Dialogflow CX Messenger

Il tipo di risposta a fisarmonica è una piccola scheda che puoi toccare o su cui puoi fare clic per espanderla e visualizzare altro testo.

La tabella seguente descrive i campi:

Nome Tipo Descrizione
type string Tipo di risposta: "accordion".
title string Titolo della sezione a scomparsa.
subtitle string Sottotitolo della sezione a fisarmonica.
image object Immagine.
image.rawUrl string URL pubblico dell'immagine.
text string Testo della sezione comprimibile.

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

Screenshot del tipo di chip di Dialogflow CX Messenger

Il tipo di risposta con chip di suggerimento ti consente di fornire un elenco di chip di suggerimento cliccabili.

La tabella seguente descrive i campi:

Nome Tipo Descrizione
type string Tipo di risposta: "chips".
options array<object> Array di oggetti opzione.
options[].mode string Facoltativo. Se impostato su "blocking", l'input utente viene disattivato finché l'utente non fa clic sul chip.
options[].text string Testo dell'opzione.
options[].image object Facoltativo. Immagine.
options[].image.rawUrl string URL pubblico facoltativo per l'immagine.
options[].anchor object Facoltativo. Ancoraggio da seguire quando si fa clic sull'elemento.
options[].anchor.href string URL dell'ancora.
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"
            }
          }
        ]
      }
    ]
  ]
}

Puoi fornire le seguenti variabili CSS:

Proprietà Policy di input Valore predefinito Descrizione
df-messenger-chips-spacing Facoltativo 10px Spazio sopra i chip rispetto al 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 al passaggio del mouse.
df-messenger-chips-border-radius Facoltativo 999px 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 viene passato 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", "Helvetica 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 carattere di un chip.
df-messenger-chips-font-weight-hover Facoltativo normale Spessore del carattere di un chip quando viene passato 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 avvio flessibile Allineamento verticale dei contenuti (ad esempio l'immagine) in un chip.
df-messenger-chips-text-wrap Facoltativo nowrap Utilizza normal per consentire i chip su più righe.

Tipo di risposta Citazioni

Screenshot del tipo di citazioni di Dialogflow CX Messenger

Il tipo di risposta Citazioni fornisce all'utente finale un elenco di link di citazione cliccabili.

2

La tabella seguente descrive i campi:

Nome Tipo Descrizione
type string Tipo di risposta: "match_citations".
citations array<object> Array di oggetti Citation.
citations[].title string Titolo della citazione.
citations[].subtitle string Sottotitolo della citazione (ignorato).
citations[].anchor object Ancoraggio da seguire quando si fa 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"
            }
          }
        ]
      }
    ]
  ]
}

Puoi utilizzare le seguenti variabili CSS:

Proprietà Policy di input Valore predefinito Descrizione
df-messenger-citations-spacing Facoltativo 10px Spazio sopra le citazioni del 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à flex-direction delle citazioni, per cui è consigliabile utilizzare row (orizzontale con interruzioni di riga) o column (verticale).
df-messenger-citations-border-color Facoltativo #3279f9 Colore del bordo di una citazione.
df-messeenger-citations-border-color-hover Facoltativo #3279f9 Colore del bordo di una citazione al passaggio del mouse.
df-messenger-citations-border-radius Facoltativo 4 px Raggio bordo di una citazione.
df-messenger-citations-padding Facoltativo 8 px Spaziatura interna 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 ci si passa sopra con il mouse.
df-messenger-citations-font-color Facoltativo #3279f9 Colore del testo di una citazione.
df-messenger-citations-font-family Facoltativo "Google Sans", "Helvetica 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 14px Dimensioni del testo dell'icona di una citazione.
df-messenger-citations-font-weight Facoltativo normale Spessore carattere di una citazione.
df-messenger-citations-font-weight-hover Facoltativo normale Spessore del carattere di una citazione quando viene passato il mouse sopra.
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 Ombreggiatura della casella di una citazione.

Tipo di risposta Files

Screenshot del tipo di file di Dialogflow CX Messenger

Il tipo di risposta dei file mostra un elenco di elementi di file che puoi scaricare. L'utente può scaricare il file facendo clic sull'elemento di ancoraggio.

La tabella seguente descrive i campi:

Nome Tipo Descrizione
type string Tipo di risposta: "files".
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 Anchor per scaricare il file.
files[].anchor.href string URL dell'ancora.
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"
            }
          }
        ]
      }
    ]
  ]
}

È possibile fornire le seguenti variabili CSS:

Proprietà Policy di input Valore predefinito Descrizione
df-messenger-files-spacing Facoltativo 10px Spazio sopra il file fino al messaggio precedente.
df-messenger-files-distance Facoltativo 8 px Distanza tra i file nell'elenco.
df-messenger-files-flex-direction Facoltativo riga Proprietà flex-direction dei file. Ti consigliamo di 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 999px 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 6px 16px Padding 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", sans-serif Famiglia di caratteri di un file.
df-messenger-files-font-size Facoltativo 14px Dimensioni del testo di un file.
df-messenger-files-font-weight Facoltativo normale Spessore carattere di un file.
df-messenger-files-background-hover Facoltativo bianco Sfondo di un file quando ci passi sopra con il mouse.
df-messenger-files-border-hover Facoltativo 1px solid #e0e0e0 Bordo di un file quando viene passato il mouse sopra.
df-messenger-files-font-weight-hover Facoltativo normale Spessore carattere di un file quando ci passi sopra con il mouse.
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 l'immagine-testo a sinistra e l'icona-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

Screenshot del tipo HTML di Dialogflow CX Messenger

Il tipo di risposta HTML fornisce all'utente un messaggio HTML.

La tabella seguente descrive i campi:

Nome Tipo Descrizione
type string Tipo di risposta: "html".
html string Contenuto di testo del messaggio, supporta HTML.

Tag HTML supportati:

  • a: elemento di ancoraggio (utilizzato per creare link ipertestuali).
  • b: elemento grassetto (utilizzato per applicare il grassetto al testo).
  • i: elemento corsivo (utilizzato per applicare il corsivo al testo).
  • u: elemento di sottolineatura (utilizzato per sottolineare il testo).
  • h1: elemento di intestazione 1 (utilizzato per l'intestazione principale di una pagina).
  • h2: elemento di intestazione 2 (utilizzato per i sottotitoli).
  • h3: elemento di intestazione 3 (utilizzato per i sottotitoli di secondo livello).
  • p: elemento di 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 della 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: elemento cella o dati dell'intestazione della tabella (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: elemento di dati della tabella o di cella (utilizzato per creare celle all'interno di una riga della tabella).
  • ul: elemento di elenco non ordinato (utilizzato per creare elenchi puntati).
  • ol: elemento di elenco ordinato (utilizzato per creare elenchi numerati).
  • li: elemento dell'elenco (utilizzato per creare elementi all'interno di un elenco).
  • img: elemento immagine (utilizzato per mostrare un'immagine, vedi anche url-allowlist Personalizzazione HTML).
  • div: elemento contenitore.
  • span: elemento contenitore incorporato.

Ad esempio:

{
  "richContent": [
    [
      {
        "type": "html",
        "html": "<b>Bold text</b> <i>Italic text</i> <u>Underlined text</u>"
      }
    ]
  ]
}

Stile HTML e Markdown

Per gli elementi di ancoraggio, inclusi gli elementi HTML a e i link Markdown, puoi fornire le seguenti variabili CSS:

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

Puoi utilizzare le seguenti variabili CSS per gli elementi della tabella (elemento HTML table e tabelle Markdown):

Proprietà Policy di input Valore predefinito Descrizione
df-messenger-table-font-size Facoltativo 14px 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 della tabella.
df-messenger-table-padding Facoltativo 0 Spaziatura interna in una cella della tabella.
df-messenger-table-border-collapse Facoltativo separata Modalità di compressione 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 della tabella.
df-messenger-table-border-left-first Facoltativo nessuno Bordo a sinistra della prima cella della tabella in una riga.
df-messenger-table-border-right Facoltativo nessuno Bordo destro di una cella della 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 delle righe della tabella con numero pari.
df-messenger-table-odd-background Facoltativo trasparente Sfondo delle righe della tabella con numero dispari.
df-messenger-table-header-font-size Facoltativo 14px Dimensioni del testo in un elemento di intestazione della tabella.
df-messenger-table-header-font-weight Facoltativo grassetto Spessore del carattere in un elemento di intestazione della 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 di intestazione della tabella.
df-messenger-table-header-padding Facoltativo 0 Spaziatura interna in una cella di 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 di intestazione della tabella.
df-messenger-table-header-border-left Facoltativo nessuno Bordo sinistro 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 destro 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

Screenshot del tipo di modello personalizzato di Dialogflow CX Messenger

Il tipo di risposta del modello personalizzato esegue il rendering di un elemento personalizzato definito sul tuo sito web. L'elemento non è inserito all'interno di una scheda ed è sempre indipendente.

La tabella seguente descrive i campi:

Nome Tipo Descrizione
type string Tipo di risposta: "custom_template".
name string Il 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 del campo name della risposta. Il campo payload viene passato all'elemento personalizzato come dfPayload dopo la creazione (ma prima di connectedCallback). Il campo può contenere JSON arbitrario. Inoltre, dfResponseId viene passato all'elemento.

Utilizzando la risposta dell'esempio, ecco un'implementazione di esempio di un 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

Screenshot della scheda personalizzata di Dialogflow CX Messenger

Puoi utilizzare i singoli elementi dei messaggi avanzati per Dialogflow CX Messenger per creare una scheda personalizzata in base alle tue esigenze.

Ecco un esempio che utilizza alcuni degli elementi elencati nella sezione fulfillment:

{
  "richContent": [
    [
      {
        "type": "image",
        "rawUrl": "https://example.com/images/logo.png",
        "accessibilityText": "Dialogflow CX across platforms"
      },
      {
        "type": "info",
        "title": "Dialogflow CX",
        "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"
            }
          }
        ]
      }
    ]
  ]
}

Puoi utilizzare le seguenti variabili CSS:

Proprietà Policy di input Valore predefinito Descrizione
df-messenger-card-background Facoltativo bianco Sfondo di una scheda personalizzata.
df-messenger-card-padding Facoltativo 16 px Spaziatura interna degli elementi in una scheda personalizzata.
df-messenger-card-border Facoltativo 1px solid #e0e0e0 Bordo di una scheda personalizzata.
df-messenger-card-border-radius Facoltativo 8 px Raggio del bordo di una scheda 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 personalizzata.
df-messenger-card-stack-border-top-left-radius Facoltativo 8 px Il raggio dell'angolo in alto a sinistra per le schede personalizzate consecutive sostituisce il raggio dell'angolo in alto a sinistra.
df-messenger-card-stack-border-top-right-radius Facoltativo 8 px Il raggio del bordo in alto a destra per le schede personalizzate consecutive sostituisce il raggio in alto a destra.
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 il raggio in basso a destra.
df-messenger-card-box-shadow Facoltativo 0 2px 2px 0 rgba(0, 0, 0, 0.24) Ombra della casella di una scheda personalizzata.

Contenuti avanzati da uno strumento del playbook

Utilizza gli strumenti del playbook per inviare contenuti avanzati a Dialogflow CX Messenger.

Passaggio 1: crea uno strumento addRichContent nell'agente

Per creare uno strumento di funzione denominato addRichContent, utilizza i seguenti dati:

Input dello strumento:

properties: {}
type: object

Output dello strumento:

properties:
  status:
    type: string
  reason:
    type: string
type: object

Passaggio 2: indica all'agente come utilizzare questo strumento

Indica all'agente come utilizzare lo strumento nelle istruzioni e negli esempi.

Ad esempio, aggiungi alle istruzioni qualcosa di simile a quanto segue:

-  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 come il seguente:

Esempio di contenuti avanzati per Dialogflow CX Messenger

Passaggio 3: definisci il codice JavaScript

Nel codice della pagina che ospita df-messenger, crea un codice JavaScript che definisce una funzione che indica a df-messenger di eseguire il rendering dei contenuti avanzati. Registra questa funzione con df-messenger in modo che la esegua quando l'agente virtuale ne ha bisogno.

Assicurati che la variabile dfMessenger sia dichiarata e punti alla tua istanza di df-messenger.

Ecco un esempio 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);