# Metadaten

Die Dialog-API erlaubt das Versenden von Metadaten mit jeder Nachricht. Dies können z. B. Webseiten- oder Chatbotnutzer*innen-Informationen, Schlüssel zur Auflösung von Variablen etc. sein.

# Kauz-Standard-Frontend

Das Kauz-Standard-Frontend überträgt stets folgende Daten:

  • Den Document.Referrer, d. h. die URI der Seite, in die der Chat eingebettet ist. ( Meta-Key ist referrer, Standard ist no referrer)
  • Die Sprache, die im Chatbot eingestellt ist ( Meta-Key ist chat_i18n_language, Standard ist de)

Wenn bestimmte Aktionen ausgelöst werden, können zudem weitere Meta-Informationen einmalig übertragen werden, zum Beispiel Standortinformation nach Standortfreigabe (lat und long).

Es gibt zusätzlich die Möglichkeit, bei der Einbindung Metadaten über URL-Parameter zu setzen. Diese werden mit jeder Chatbotnutzer*innen-Nachricht an die NLU übermittelt.

{customer}.managed-kauz.net/chat/{group}/?metadatum1=value1&metadatum2=value2
<script src="{customer}.managed-kauz.net/chat/{group}/placeholder/placeholder.production.js?metadatum1=value1&metadatum2=value2"></script>

Die Metadaten werden automatisch als net.kauz.ng.meta im lokalen Speicher des Browsers abgelegt. Sie sind somit über die Sessions von dem*der Chatbotnutzer*in hinweg persistent - selbst dann, wenn der*die Chatbotnutzer*in die Seite neu lädt oder auf eine andere Seite wechselt, auf der der Chatbot eingebunden ist.

# Kauz-NLU-Engine

Ebenso wie das Kauz-Standard-Frontend überträgt auch die NLU-Engine mit jeder Chatbot-Nachricht Metadaten. Folgende Daten werden mit jeder Chatbot-Nachricht übermittelt:

Schlüssel Beschreibung
chat_i18n_language Die Sprache, welche im Chatbot eingestellt ist
dialogPlanModelName Name des aktiven Dialogplans
nextNode Name des aktiven Dialogplanknotens
isLastDialogPlanNode Angabe, ob der aktive Dialogplanknoten final ist
linkedDialogPlanModelName Name des verlinkten Dialogplans
linkedNextNode Name des Knotens des verlinkten Dialogplans
parameter Dialogplanparameter
answerId Id der annotierten Chatbot-Antwort
source Aus welcher Ressource die Antwort stammt
input_rulegroup Name der Rulegroup, die für den ersten Satz im Input gefunden wurde
input_verb Infinitiv des Verbs im ersten Inputsatz
input_object Objekt oder, falls nicht vorhanden, Subjekt des ersten Input-Satzes
vector_search_timed_out Ob bei einer Anfrage an VectorSearch ein Timeout aufgetreten ist
module Aktives Modul
status Schlüssel für Selbsteinschätzung des Chatbots
thematicKey Themenschlüssel
kauz-reporting-hide DEPRECATED Angabe, ob Antwort im Editor-Reporting verborgen werden soll

# Namensschema

Die Namen von Metadaten dürfen keine Leerzeichen, Sonderzeichen oder Punkte enthalten, da dies zu einem Mapping-Problem in der OpenSearch-Datenbank führt. Verwenden Sie als Separator für Metadaten am besten Unterstriche.