Dialogflow CX-Messenger-Auftragsausführung

Beim Erstellen einer Auftragsausführung für eine benutzerdefinierte Karte können Sie Textantworten und benutzerdefinierte Nutzdaten erstellen. Die Textantworten werden für nur Text und Markdown-Agentantworten verwendet und die benutzerdefinierten Nutzlasten für Rich-Antworten. Das benutzerdefinierte Nutzlastformat für alle Antworttypen hat die folgende Grundstruktur:

{
  "richContent": [
    [
      {
        "type": "type-id",
        ...
      },
      {
        "type": "type-id",
        ...
      }
    ],
    [
      {
        "type": "type-id",
        ...
      },
      {
        "type": "type-id",
        ...
      }
    ]
  ]
}

Beachten Sie, dass der Wert richContent ein äußeres und mehrere innere Arrays zulässt. Antworten innerhalb eines inneren Arrays werden in einer einzelnen visuellen Karte zusammengefasst. Wenn das äußere Array mehrere interne Arrays enthält, werden mehrere Karten angezeigt. Eine für jedes interne Array.

In den verbleibenden Unterabschnitten werden die verschiedenen Antworttypen beschrieben, die Sie für eine benutzerdefinierte Nutzlast konfigurieren können.

Textantwort

Dialogflow Messenger-Text-Screenshot

Die Textantwort unterstützt Nur-Text und Markdown. Hier einige Markdown-Beispiele:

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

  • Tabellen:

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

Antworttyp "info"

Screenshot des Dialogflow Messenger-Infotyps

Der Antworttyp "info" ist eine einfache Titelkarte, auf die Nutzer klicken oder tippen können.

In der folgenden Tabelle werden die Felder beschrieben:

Name Typ Beschreibung
type string Antworttyp: "info"
title string Titel der Karte
subtitle string Kartenuntertitel
image object Bild
image.rawUrl string Öffentliche URL des Bilds
anchor object Anchor, dem beim Klicken auf das Element zu folgen ist
anchor.href string URL des Ankers
anchor.target string Ziel des Ankers, standardmäßig _blank

Beispiel:

{
  "richContent": [
    [
      {
        "type": "info",
        "title": "Info item title",
        "subtitle": "Info item subtitle",
        "image": {
          "rawUrl": "https://example.com/images/logo.png"
        },
        "anchor": {
          "href": "https://example.com"
        }
      }
    ]
  ]
}

Antworttyp "description"

Screenshot des Beschreibungstyps in Dialogflow Messenger

Der Antworttyp "description" ist eine Informationskarte, die mehrere Textzeilen enthalten kann.

In der folgenden Tabelle werden die Felder beschrieben:

Name Typ Beschreibung
type string Antworttyp: "description"
title string Titel der Karte
text array<string> Array von Strings, wobei jeder String in einer neuen Zeile gerendert wird

Beispiel:

{
  "richContent": [
    [
      {
        "type": "description",
        "title": "Description title",
        "text": [
          "This is text line 1.",
          "This is text line 2."
        ]
      }
    ]
  ]
}

Antworttyp "image"

Screenshot des Bildtyps in Dialogflow Messenger

Der Antworttyp "image" ist eine Bildkarte, auf die Nutzer klicken oder tippen können. Der Antworttyp unterstützt einen Referenzchip, mit dem die Quelle des Bildes als Ankerlink zusammen mit einem kurzen beschreibenden Text und einem Symbol hinzugefügt werden kann.

In der folgenden Tabelle werden die Felder beschrieben:

Name Typ Beschreibung
type string Antworttyp: "image"
rawUrl string Öffentliche URL des Bilds
accessibilityText string Alternativer Text für das Bild
reference.text string Text, der im Referenzchip angezeigt werden soll
reference.anchor.href string URL des Referenzchips
reference.anchor.target string Ziel des Ankers im Referenz-Chip, standardmäßig _blank
reference.image.rawUrl string Bild, das im Referenzchip angezeigt werden soll

Beispiel:

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

Die folgenden CSS-Variablen können bereitgestellt werden:

Attribute Eingaberichtlinie Standardwert Beschreibung
df-messenger-image-border-radius Optional 8 Pixel Rahmenradius des Bildes

Antworttyp „video“

Screenshot des Videotyps in Dialogflow Messenger

Der Videoantworttyp rendert ein Videoelement, das entweder ein direktes Video von einer URL sein kann, das direkt im Messenger wiedergegeben wird, oder ein Link zu einem Video.

Name Typ Beschreibung
type string Antworttyp: „video“
title string Optionaler Videotitel
source object Die Quelle des Videos
source.type string Der Typ der Videoquelle, entweder link oder raw
source.anchor object Anchor, dem beim Klicken auf das Element zu folgen ist
source.embeddedPlayer string Videos vom Typ link können eingebettet werden, anstatt einen Link zur Webseite des Players zu enthalten. Diese Funktion ist nur für eine bestimmte Gruppe von Playern implementiert und unterstützt youtube.
source.thumbnail object Miniaturansicht für anchor
source.thumbnail.rawUrl string Die URL der Miniaturansicht
source.rawUrl string URL für ein Video vom Typ raw

Beispiel:

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

Die folgenden CSS-Variablen können bereitgestellt werden:

Attribute Eingaberichtlinie Standardwert Beschreibung
df-messenger-video-width Optional automatisch Breite eines Videos (begrenzt auf max-width\: 100%)
df-messenger-video-height Optional automatisch Höhe eines Videos
df-messenger-video-embed-width Optional 560 Pixel Breite eines eingebetteten Videos (begrenzt auf max-width\: 100%)
df-messenger-video-embed-height Optional 315 px Höhe eines eingebetteten Videos
df-messenger-video-border Optional 1px solid #e0e0e0 Rand des Videos
df-messenger-video-border-radius Optional 8 Pixel Rahmenradius des Videos

Antworttyp "button"

Screenshot des Dialogflow Messenger-Schaltflächentyps

Der Antworttyp "button" ist eine kleine Schaltfläche mit einem Symbol, auf das Nutzer klicken oder tippen können.

In der folgenden Tabelle werden die Felder beschrieben:

Name Typ Beschreibung
type string Antworttyp: "button"
icon object Symbol für die Schaltfläche
icon.type string Symbol aus der Materialsymbol-Bibliothek Das Standardsymbol ist ein Pfeil
icon.color string Farb-Hexcode
image object Bild für die Schaltfläche, hat Vorrang vor icon
image.rawUrl string Öffentliche URL des Bilds
mode string Optional. Wenn „blockieren“ festgelegt ist, ist die Nutzereingabe deaktiviert, bis der Nutzer auf die Schaltfläche klickt.
text string Text für die Schaltfläche
anchor object Anchor, dem beim Klicken auf das Element zu folgen ist
anchor.href string URL des Ankers
anchor.target string Ziel des Ankers, standardmäßig _blank
event object Dialogflow-Ereignis, das ausgelöst wird, wenn auf die Schaltfläche geklickt wird

Beispiel:

{
  "richContent": [
    [
      {
        "type": "button",
        "icon": {
          "type": "chevron_right",
          "color": "#FF9800"
        },
        "mode": "blocking",
        "text": "Button text",
        "anchor": {
          "href": "https://example.com"
        },
        "event": {
          "event": ""
        }
      }
    ]
  ]
}

Die folgenden CSS-Variablen können bereitgestellt werden:

Attribute Eingaberichtlinie Standardwert Beschreibung
df-messenger-button-border Optional keine Rahmen einer Schaltfläche
df-messenger-button-border-radius Optional 8 Pixel Rahmenradius einer Schaltfläche
df-messenger-button-font-color Optional #1f1f1f Schriftfarbe einer Schaltfläche
df-messenger-button-font-family Optional „Google Sans“, „Helvetica Neue“, serifenlos Schriftfamilie einer Schaltfläche
df-messenger-button-font-size Optional 14 Pixel Schriftgröße einer Schaltfläche
df-messenger-button-padding Optional 12 Pixel Abstand einer Schaltfläche
df-messenger-button-icon-spacing Optional 12 Pixel Abstand zwischen Schaltflächensymbol und Text
df-messenger-button-icon-font-size Optional 24 Pixel Größe des Schaltflächensymbols
df-messenger-button-image-size Optional 24 Pixel Größe des Schaltflächenbilds
df-messenger-button-image-offset Optional 0 Offset des Schaltflächenbilds. Negative Werte ermöglichen einen Abstand zum Text.
df-messenger-button-text-align Optional center Textausrichtung einer Schaltfläche
df-messenger-button-text-wrap Optional normal Mit nowrap können Sie mehrzeilige Schaltflächen deaktivieren.

Antworttyp "list"

Screenshot: Dialogflow Messenger-Listentyp

Der Antworttyp "list" ist eine Karte mit mehreren Optionen, aus denen Nutzer auswählen können.

Die Antwort enthält ein Array mit den Antworttypen list und divider. In der folgenden Tabelle wird der Typ list beschrieben:

Name Typ Beschreibung
type string Antworttyp: "list"
title string Titel der Option
subtitle string Untertitel der Option
event object Dialogflow-Ereignis, das ausgelöst wird, wenn auf die Schaltfläche geklickt wird
anchor object Anchor, dem beim Klicken auf das Element zu folgen ist
anchor.href string URL des Ankers
anchor.target string Ziel des Ankers, standardmäßig _blank
image object Bild
image.rawUrl string Öffentliche URL des Bilds

In der folgenden Tabelle wird der Typ divider beschrieben:

Name Typ Beschreibung
type string Antworttyp: "divider"

Beispiel:

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

Die folgenden CSS-Variablen können bereitgestellt werden:

Attribute Eingaberichtlinie Standardwert Beschreibung
df-messenger-list-padding Optional 16 Pixel Ränder eines Listenelements
df-messenger-list-inset Optional 0 Zusätzlicher horizontaler „Einzug“ des Listenelements (zusätzlich zum Abstand), um die Ausdehnung des Rahmens zwischen den Elementen zu steuern
df-messenger-list-spacing Optional 10 Pixel Vertikale Abstände zwischen Listenelementen
df-messenger-list-border-bottom Optional 1px solid #e0e0e0 Rahmen zwischen Listenelementen

Antworttyp "accordion"

Screenshot des Akkordeontyps in Dialogflow Messenger

Der Antworttyp "accordion" ist eine kleine Karte, auf die ein Nutzer klicken oder tippen kann, um mehr Text einzublenden und anzuzeigen.

In der folgenden Tabelle werden die Felder beschrieben:

Name Typ Beschreibung
type string Antworttyp: "accordion"
title string Titel des "Akkordeons"
subtitle string Untertitel des "Akkordeons"
image object Bild
image.rawUrl string Öffentliche URL des Bilds
text string Text für das "Akkordeon"

Beispiel:

{
  "richContent": [
    [
      {
        "type": "accordion",
        "title": "Accordion title",
        "subtitle": "Accordion subtitle",
        "image": {
          "rawUrl": "https://example.com/images/logo.png"
        },
        "text": "Accordion text"
      }
    ]
  ]
}

Antworttyp "chips"

Screenshot des Dialogflow Messenger-Chiptyps

Der Antworttyp "chips" bietet dem Endnutzer eine Liste anklickbarer Chips mit Vorschlägen.

In der folgenden Tabelle werden die Felder beschrieben:

Name Typ Beschreibung
type string Antworttyp: "chips"
options array<object> Array von Optionsobjekten
options[].mode string Optional. Wenn „blocking“ festgelegt ist, ist die Nutzereingabe deaktiviert, bis der Nutzer auf den Chip klickt.
options[].text string Text der Option
options[].image object Optional: Bild für die Option
options[].image.rawUrl string Öffentliche URL des Bilds für die Option
options[].anchor object Optional: Anchor, dem beim Klicken auf das Element gefolgt werden soll
options[].anchor.href string URL des Ankers
options[].anchor.target string Ziel des Ankers, standardmäßig _blank

Beispiel:

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

Die folgenden CSS-Variablen können bereitgestellt werden:

Attribute Eingaberichtlinie Standardwert Beschreibung
df-messenger-chips-spacing Optional 10 Pixel Abstand über den Chips zur vorherigen Nachricht
df-messenger-chips-border-color Optional #e0e0e0 Rahmenfarbe eines Chips
df-messenger-chips-border-color-hover Optional #e0e0e0 Rahmenfarbe eines Chips beim Bewegen des Mauszeigers darauf
df-messenger-chips-border-radius Optional 999 px Rahmenradius eines Chips
df-messenger-chips-background Optional Weiß Hintergrund eines Chips
df-messenger-chips-background-hover Optional rgba(68, 71, 70, 0.08) Hintergrund eines Chips, wenn der Mauszeiger darauf bewegt wird
df-messenger-chips-padding Optional 6 px 16 px Padding eines Chips
df-messenger-chips-font-color Optional Schwarz Textfarbe eines Chips
df-messenger-chips-font-family Optional „Google Sans“, „Helvetica Neue“, serifenlos Schriftfamilie eines Chips
df-messenger-chips-font-size Optional 14 Pixel Textgröße eines Chips
df-messenger-chips-font-weight Optional normal Schriftstärke eines Chips
df-messenger-chips-font-weight-hover Optional normal Schriftstärke eines Chips beim Bewegen des Mauszeigers darauf
df-messenger-chips-box-shadow Optional 0 2 px 2 px 0 rgba(0, 0, 0, 0.24) Rahmenschatten eines Chips
df-messenger-chips-content-align Optional flex-start Vertikale Ausrichtung der Inhalte (z.B. des Bilds) in einem Chip
df-messenger-chips-text-wrap Optional nowrap normal verwenden, um mehrzeilige Chips zuzulassen

Antworttyp „Zitate“

Screenshot des Dialogflow Messenger-Zitattyps

Der Antworttyp „Zitate“ bietet dem Endnutzer eine Liste anklickbarer Zitatlinks.

In der folgenden Tabelle werden die Felder beschrieben:

Name Typ Beschreibung
type string Antworttyp: „match_citations“
citations array<object> Array von Zitatobjekten
citations[].title string Titel der Quelle
citations[].subtitle string Untertitel der Quelle (wird derzeit ignoriert)
citations[].anchor object Anchor, dem beim Klicken auf das Element zu folgen ist
citations[].anchor.href string URL des Ankers
citations[].anchor.target string Ziel des Ankers, standardmäßig _blank

Beispiel:

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

Die folgenden CSS-Variablen können bereitgestellt werden:

Attribute Eingaberichtlinie Standardwert Beschreibung
df-messenger-citations-spacing Optional 10 Pixel Leerraum über den Zitaten der vorherigen Nachricht
df-messenger-citations-message-display Optional Block Hiermit wird festgelegt, ob der Hinweis über den Zitaten angezeigt wird. Zulässige Werte sind block oder none.
df-messenger-citations-message-font-color Optional #041e49 Schriftfarbe des Hinweises über den Quellenangaben
df-messenger-citations-message-font-size Optional 12 Pixel Textgröße der Anmerkung über den Zitaten
df-messenger-citations-flex-direction Optional Zeile Flex-Achse der Zitate. Wir empfehlen row (horizontal mit Zeilenumbrüchen) oder column (vertikal).
df-messenger-citations-border-color Optional #1a73e8 Rahmenfarbe einer Quelle
df-messeenger-citations-border-color-hover Optional #1a73e8 Rahmenfarbe einer Quelle beim Hovern
df-messenger-citations-border-radius Optional 4 Pixel Rahmenradius einer Quelle
df-messenger-citations-padding Optional 8 Pixel Einzug einer Quelle
df-messenger-citations-background Optional Weiß Hintergrund einer Quelle
df-messenger-citations-background-hover Optional rgba(68, 71, 70, 0.08) Hintergrund einer Quelle, wenn der Mauszeiger darauf bewegt wird
df-messenger-citations-font-color Optional #1a73e8 Textfarbe einer Quelle
df-messenger-citations-font-family Optional „Google Sans“, „Helvetica Neue“, serifenlos Schriftfamilie einer Quelle
df-messenger-citations-font-size Optional 11 Pixel Textgröße einer Quelle
df-messenger-citations-icon-font-size Optional 14 Pixel Textgröße des Symbols einer Quelle
df-messenger-citations-font-weight Optional normal Schriftstärke einer Quelle
df-messenger-citations-font-weight-hover Optional normal Schriftstärke einer Quelle beim Bewegen des Mauszeigers darauf
df-messenger-citations-icon-spacing Optional 4 Pixel Abstand zwischen Symbol und Text in einer Quelle
df-messenger-citations-box-shadow Optional keine Schatten für eine Quelle

Antworttyp „files“

Screenshot des Dialogflow Messenger-Dateityps

Der Antworttyp „Dateien“ gibt eine Liste von Dateielementen mit einem Link zum Herunterladen zurück.

In der folgenden Tabelle werden die Felder beschrieben:

Name Typ Beschreibung
type string Antworttyp: „files“
files array<object> Array von Dateiobjekten
files[].name string Dateiname
files[].image object Datei-Image
files[].image.rawUrl string Öffentliche URL der Bilddatei
files[].anchor object Anchor, um die Datei herunterzuladen
files[].anchor.href string URL des Ankers
files[].anchor.target string Ziel des Ankers, standardmäßig _blank

Beispiel:

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

Die folgenden CSS-Variablen können bereitgestellt werden:

Attribute Eingaberichtlinie Standardwert Beschreibung
df-messenger-files-spacing Optional 10 Pixel Abstand über der Datei zur vorherigen Nachricht
df-messenger-files-distance Optional 8 Pixel Abstand zwischen Dateien in der Liste
df-messenger-files-flex-direction Optional Zeile Flex-Achse der Dateien. Wir empfehlen row (horizontal mit Zeilenumbrüchen) oder column (vertikal).
df-messenger-files-background Optional Weiß Hintergrund einer Datei
df-messenger-files-border Optional 1px solid #e0e0e0 Rand einer Datei
df-messenger-files-border-radius Optional 999 px Rahmenradius einer Datei
df-messenger-files-box-shadow Optional 0 2 px 2 px 0 rgba(0, 0, 0, 0.24) Rahmenschatten einer Datei
df-messenger-files-padding Optional 6 px 16 px Padding einer Datei
df-messenger-files-font-color Optional #1f1f1f Textfarbe einer Datei
df-messenger-files-font-family Optional „Google Sans“, „Helvetica Neue“, serifenlos Schriftfamilie einer Datei
df-messenger-files-font-size Optional 14 Pixel Textgröße einer Datei
df-messenger-files-font-weight Optional normal Schriftstärke einer Datei
df-messenger-files-background-hover Optional Weiß Hintergrund einer Datei beim Bewegen des Mauszeigers
df-messenger-files-border-hover Optional 1px solid #e0e0e0 Rahmen einer Datei beim Bewegen des Mauszeigers darauf
df-messenger-files-font-weight-hover Optional normal Schriftstärke einer Datei beim Bewegen des Mauszeigers darauf
df-messenger-files-image-offset Optional 0 0 0 -8px Offset des Bilds auf der linken Seite
df-messenger-files-image-size Optional 18 Pixel Größe des Bilds auf der linken Seite
df-messenger-files-text-spacing Optional 8 Pixel Abstand zwischen Bildtext auf der linken und Textsymbol auf der rechten Seite
df-messenger-files-icon-offset Optional 0 -8px 0 0 Versatz des Downloadsymbols rechts
df-messenger-files-icon-size Optional 18 Pixel Größe des Downloadsymbols rechts
df-messenger-files-icon-font-color Optional #444746 Farbe des Downloadsymbols rechts

HTML-Antworttyp

Dialogflow Messenger-Screenshot vom Typ „HTML“

Der HTML-Antworttyp stellt dem Endnutzer eine HTML-Nachricht zur Verfügung.

In der folgenden Tabelle werden die Felder beschrieben:

Name Typ Beschreibung
type string Antworttyp: „html“
html string Textinhalt der Nachricht, unterstützt HTML

Unterstützte HTML-Tags:

  • a – Ankerelement (zum Erstellen von Hyperlinks)
  • b – Fettdruckelement (wird zum Fettdruck von Text verwendet)
  • i – Kursivelement (wird zum Kursivieren von Text verwendet)
  • u – Unterstrichen-Element (zum Unterstreichen von Text)
  • h1 – Heading 1-Element (wird für die Hauptüberschrift einer Seite verwendet)
  • h2 – Heading 2-Element (für Zwischenüberschriften)
  • h3 – Zwischenüberschrift 3 (für untergeordnete Zwischenüberschriften)
  • p – Absatzelement (zum Erstellen von Textabsätzen)
  • br – Zeilenumbruchelement (wird zum Erstellen von Zeilenumbrüchen innerhalb eines Absatzes verwendet)
  • table – Tabellenelement (zum Erstellen von Tabellen)
  • tr – Tabellenzeilenelement (zum Erstellen von Zeilen in einer Tabelle)
  • thead – Tabellenüberschriftenelement (zum Erstellen einer Überschrift in einer Tabelle)
  • th – Tabellenüberschriftendaten oder Zellenelement (zum Erstellen von Zellen in einer Tabellenüberschriftenzeile)
  • tbody – Tabellenkörperelement (zum Erstellen eines Tabellenkörpers)
  • td – Tabellendaten oder Zellenelement (zum Erstellen von Zellen in einer Tabellenzeile)
  • ul – Element für unsortierte Listen (zum Erstellen von Aufzählungslisten)
  • ol – Element für eine sortierte Liste (zum Erstellen nummerierter Listen)
  • li – Listenelement (zum Erstellen von Elementen in einer Liste)
  • img – Bildelement (zum Anzeigen eines Bilds, siehe auch url-allowlist HTML-Anpassung)
  • div – Containerelement
  • span – Inline-Container-Element

Beispiel:

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

HTML und Markdown stylen

Für Ankerelemente (HTML-a-Element und Markdown-Link) können die folgenden CSS-Variablen angegeben werden:

Attribute Eingaberichtlinie Standardwert Beschreibung
df-messenger-link-decoration Optional Unterstrichen Dekoration eines Link-Elements
df-messenger-link-font-color Optional #0b57d0 Schriftfarbe eines nicht besuchten Linkelements
df-messenger-link-visited-font-color Optional #0b57d0 Schriftfarbe eines besuchten Linkelements
df-messenger-link-hover-font-color Optional #0b57d0 Schriftfarbe beim Bewegen des Mauszeigers auf ein Linkelement
df-messenger-link-background Optional transparent Hintergrund eines Linkelements
df-messenger-link-padding Optional 0 Ränder eines Link-Elements
df-messenger-link-border Optional keine Rahmen eines Link-Elements
df-messenger-link-border-radius Optional 0 Rahmenradius eines Link-Elements

Für Tabellenelemente (HTML-table-Element und Markdown-Tabellen) können die folgenden CSS-Variablen angegeben werden:

Attribute Eingaberichtlinie Standardwert Beschreibung
df-messenger-table-font-size Optional 14 Pixel Textgröße in einem Tabellenelement
df-messenger-table-font-color Optional #1f1f1f Textfarbe in einem Tabellenelement
df-messenger-table-align Optional links Text in einer Tabellenzelle ausrichten
df-messenger-table-padding Optional 0 Textabstand in einer Tabellenzelle
df-messenger-table-border-collapse Optional getrennt Modus zum Zusammenführen von Rändern einer Tabelle: Mit separate können Sie border-radius aktivieren.
df-messenger-table-border-radius Optional 0 Rahmenradius einer Tabelle
df-messenger-table-header-border-radius Optional 0 Rahmenradius der Tabellenüberschrift
df-messenger-table-border-top Optional keine Rahmen oben in einer Tabellenzeile
df-messenger-table-border-top-first Optional keine Rahmen oben in der ersten Tabellenzeile
df-messenger-table-border-bottom Optional keine Unterer Rahmen einer Tabellenzeile
df-messenger-table-border-bottom-last Optional keine Unterer Rahmen der letzten Tabellenzeile
df-messenger-table-border-left Optional keine Rahmen links einer Tabellenzelle
df-messenger-table-border-left-first Optional keine Rahmen links neben der ersten Tabellenzelle in einer Zeile
df-messenger-table-border-right Optional keine Rahmen rechts einer Tabellenzelle
df-messenger-table-border-right-last Optional keine Rahmen rechts neben der letzten Tabellenzelle in einer Zeile
df-messenger-table-background Optional transparent Hintergrund einer Tabellenzeile
df-messenger-table-even-background Optional transparent Hintergrund von Tabellenzeilen mit gerader Nummer
df-messenger-table-odd-background Optional transparent Hintergrund von Tabellenzeilen mit ungerader Nummer
df-messenger-table-header-font-size Optional 14 Pixel Textgröße in einem Tabellenüberschriftenelement
df-messenger-table-header-font-weight Optional fett Schriftstärke in einem Tabellenkopfelement
df-messenger-table-header-font-color Optional #1f1f1f Textfarbe in einem Tabellenkopfelement
df-messenger-table-header-align Optional links Textausrichtung in einer Tabellenüberschriftenzelle
df-messenger-table-header-padding Optional 0 Ränder in einer Tabellenüberschriftenzelle
df-messenger-table-header-border-top Optional keine Rahmen oben in der Tabellenüberschriftszeile
df-messenger-table-header-border-bottom Optional keine Unterer Rahmen der Tabellenüberschriftszeile
df-messenger-table-header-border-left Optional keine Rahmen links einer Zelle in der Tabellenüberschriftenzeile
df-messenger-table-header-border-left-first Optional keine Rahmen links neben der ersten Zelle in der Tabellenüberschriftenzeile
df-messenger-table-header-border-right Optional keine Rahmen rechts neben einer Zelle in der Tabellenüberschriftszeile
df-messenger-table-header-border-right-last Optional keine Rahmen rechts neben der letzten Zelle in einer Tabellenüberschriftenzeile
df-messenger-table-header-background Optional transparent Hintergrund der Kopfzeile der Tabelle

Antworttyp der benutzerdefinierten Vorlage

Screenshot des Dialogflow Messenger-Typs für benutzerdefinierte Vorlagen

Der Antworttyp „Benutzerdefinierte Vorlage“ rendert ein benutzerdefiniertes Element, das auf der Website des Kunden definiert ist. Das Element wird nicht in eine Karte eingefügt und steht immer für sich.

In der folgenden Tabelle werden die Felder beschrieben:

Name Typ Beschreibung
type string Antworttyp: „custom_template“
name string Name des benutzerdefinierten Elements
payload Object Nutzlast, die an das benutzerdefinierte Element übergeben werden soll

Beispiel:

{
  "richContent": [
    [
      {
        "type": "custom_template",
        "name": "custom-element-example",
        "payload": {
          "text": "Hello World"
        }
      }
    ]
  ]
}

Auf Ihrer Website muss das benutzerdefinierte Element genau mit dem Namen aus dem Feld name der Antwort registriert sein. Das Feld payload wird nach dem Erstellen (aber vor connectedCallback) als dfPayload an das benutzerdefinierte Element übergeben. Das Feld kann beliebiges JSON enthalten. Außerdem wird dfResponseId an das Element übergeben.

Hier ist eine Beispielimplementierung eines benutzerdefinierten Elements anhand der Antwort aus dem Beispiel:

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);
})();

Antworttypen kombinieren

Screenshot einer benutzerdefinierten Karte in Dialogflow Messenger

Die einzelnen Rich-Media-Nachrichtenelemente für Dialogflow CX Messenger können verwendet werden, um eine benutzerdefinierte Karte zu erstellen, die Ihren Anforderungen entspricht.

Hier ein Beispiel mit einigen der im Abschnitt zur Auftragsausführung aufgeführten Elemente:

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

Die folgenden CSS-Variablen können bereitgestellt werden:

Attribute Eingaberichtlinie Standardwert Beschreibung
df-messenger-card-background Optional Weiß Hintergrund einer benutzerdefinierten Karte
df-messenger-card-padding Optional 16 Pixel Ränder von Elementen in einer benutzerdefinierten Karte
df-messenger-card-border Optional 1px solid #e0e0e0 Rahmen einer benutzerdefinierten Karte
df-messenger-card-border-radius Optional 8 Pixel Rahmenradius einer benutzerdefinierten Karte
df-messenger-card-border-top-left-radius Optional 8 Pixel Rahmenradius links oben auf einer benutzerdefinierten Karte
df-messenger-card-border-top-right-radius Optional 8 Pixel Rahmenradius oben rechts auf einer benutzerdefinierten Karte
df-messenger-card-border-bottom-left-radius Optional 8 Pixel Rahmenradius links unten auf einer benutzerdefinierten Karte
df-messenger-card-border-bottom-right-radius Optional 8 Pixel Ränder rechts unten auf einer Karte
df-messenger-card-stack-border-top-left-radius Optional 8 Pixel Der Rahmenradius links oben für aufeinanderfolgende benutzerdefinierte Karten überschreibt den Radius links oben
df-messenger-card-stack-border-top-right-radius Optional 8 Pixel Der Rahmenradius rechts oben für aufeinanderfolgende benutzerdefinierte Karten überschreibt den Radius rechts oben
df-messenger-card-stack-border-bottom-left-radius Optional 8 Pixel Der Rahmenradius links unten für aufeinanderfolgende benutzerdefinierte Karten überschreibt den Radius links unten
df-messenger-card-stack-border-bottom-right-radius Optional 8 Pixel Der Rundungsradius für die rechte untere Ecke bei aufeinanderfolgenden benutzerdefinierten Karten überschreibt den Radius für die rechte untere Ecke
df-messenger-card-box-shadow Optional 0 2 px 2 px 0 rgba(0, 0, 0, 0.24) Rahmenschatten einer benutzerdefinierten Karte

Rich Content aus einem Playbook-Tool

Mit Playbook-Tools können Sie Rich-Text-Inhalte an Dialogflow CX Messenger senden.

Schritt 1: Tool „addRichContent“ in Ihrem Bot erstellen

Erstellen Sie ein Funktionstool namens addRichContent mit den folgenden Daten:

Tool-Eingabe:

properties: {}
type: object

Tool-Ausgabe:

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

Schritt 2: Kundenservicemitarbeiter über die Verwendung des Tools informieren

Erläutern Sie dem Kundenservicemitarbeiter in einer Anleitung und anhand von Beispielen, wie er das Tool verwenden kann.

Fügen Sie Ihrer Anleitung beispielsweise Folgendes hinzu:

-  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

Erstellen Sie beispielsweise ein Beispiel wie das folgende:

Screenshot des Beispiels

Die Syntax für die Rich-Inhalte ist dieselbe, die Sie verwenden würden, wenn Sie eine benutzerdefinierte Nutzlast in einem flussbasierten virtuellen Kundenservicemitarbeiter zurückgeben würden.

Schritt 3: JavaScript definieren

Im Code der Seite, auf der df-messenger gehostet wird, müssen Sie JavaScript-Code erstellen, der eine Funktion definiert, die df-messenger anweist, den Rich-Content zu rendern. Sie müssen diese Funktion auch bei df-messenger registrieren, damit sie ausgeführt wird, wenn der virtuelle Kundenservicemitarbeiter sie benötigt.

Die Variable dfMessenger muss deklariert sein und auf Ihre Instanz von df-messenger verweisen.

Hier ist ein Beispielcode, den Sie für diesen Zweck verwenden können:

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);