#
Kauz-Markup
Die nachfolgende Dokumentation beschreibt die technische Funktionalität des Kauz-Markup. Sie ist zur besseren Kollaboration mit mehrsprachigen Entwicklungsteams auf Englisch verfasst.
#
Events
#
Event
Each chatbot conversation consists of an unlimited number of events. An event can be published or observed as part of a chatbot conversation. This includes, but is not limited to, supplying conversational content.
<...
conversation = xs:string
date = xs:dateTime
id = xs:string>
sender?
</...>
#
Message extends Event
Represents a natural-language message exchanged between participants using a digital communication system. A message is always bound to one conversation. A conversation signifies the context in which a message is to be processed and understood by the participants of the conversation.
Since a chatbot conversation involves technological systems in addition to human interlocutors, a message carries two kinds of information:
- text contents meant to be rendered to end-users
- Metadata is meant to aid in message delivery and display, or data intended to provide insights to analysts overseeing the product.
Each message carries a globally unique identifier that cannot be set. Two messages are deemed equal if their component attributes (content, metadata, links, date) are equal. Message identifiers are ignored when assessing message equality.
<message
conversation = xs:string
date = xs:dateTime
id = xs:string>
sender? (content, isInternal, meta, links )
</message>
<message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
id="c6a98305-2ca8-4ada-9c4d-98ca47d8db27"
conversation="bc0523e7-bb36-4ccf-b4a0-cfe20c0ae9ae"
date="2022-05-04T07:34:56.966Z">
<content>test</content>
<links/>
<meta>
<entry>
<key>chat_i18n_language</key>
<value xsi:type="xs:string">de</value>
</entry>
</meta>
<sender type="USER"/>
</message>
#
AnalyticsEvent extends Event
Data intended for analytics processes. An analytics event consists of an arbitrary set of tags used to classify the event, as well as a mapping between arbitrary string keys and values of arbitrary data structures. Publishing an analytics event makes the data stored therein available to analytics processes.
Analytics events are associated with a target, which may be either a conversation or an individual message. An analytics event is always associated with the conversation in which it occurred. Each analytics event carries a globally unique identifier that cannot be set.
Two analytics events are deemed equal if their component attributes are equal. Event identifiers are ignored when assessing event equality.
<analytics
conversation = xs:string
date = xs:dateTime
id = xs:string>
sender? (target?, tags, data )
</analytics>
<analytics xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
id="4098db68-17d9-4216-bf41-4a3e751637f4"
conversation="f4989ee9-2a8a-4b10-8340-18fff91c27dc"
date="2022-05-04T07:38:03.735Z">
<target type="MESSAGE" id="c852bbea-0c84-4eca-b15c-89499991af20"/>
<tags>
<tag>kauz.link.open</tag>
</tags>
<data>
<entry>
<key>url</key>
<value xsi:type="xs:string">https://kauz.ai/</value>
</entry>
</data>
</analytics>
#
Attribute-Summary
#
Element-Summary
#
sender
analytics message
Information about the originator of an event.
<senderInfo
id = xs:string
type = senderType>
</senderInfo>
#
target
analytics
Represents the target of an analytics event.
<...
id = xs:string
type = targetType>
</...>
#
tags
analytics
Any number of tags with information on the analytics event.
<tags>
(tag*)
</tags>
#
data
analytics
Analytics payload data. For each data entry, an arbitrary key string can be associated with data of any class.
<data>
<entry>
(key?, value? )
</entry>
</data>
#
link
message
Represents a link relation between events. All links are bracketed by a <links>
-element.
<links>
<link
relation = relation
target = xs:string>
</link>
<links>
#
meta
message
Metadata associated with this event. This includes but is not limited to information used by reporting users such as the answer-ID, module, thematicKey and status. There may be any number of entries.
<meta>
<entry>
(key?, value? )
</entry>
</meta>
#
isInternal
message
Boolean specifying whether a question is a true customer question or posted for internal testing purposes, i.e. health checks. If true, developers of a reporting UI might choose not to display the event in question.
<isInternal>
boolean
</isInternal>
#
content
message
Content of a message. Content is differentiated from message metadata by the fact that content should be displayed to the message recipient. Apart from natural language, content also subsumes user-interface descriptions and other mark-up.
<content>
(text, mapInfo?, sliders?, actions?, searchresults?, card?)
</content>
#
Content Elements
#
mapInfo
Information needed to display a map. The mapInfo can contain any number of mapElements that need to be displayed in the map.
<mapInfo>
<mapElements xsi:type="fifiMapElement">
(name, type, address, latitude, longitude, openingHours)
</mapElements>
</mapInfo>
<mapInfo>
<mapElements>
<name>Kölner Dom</name>
<type>Kathedrale</type>
<address>Domkloster 4, 50667 Köln</address>
<latitude>50.941447</latitude>
<longitude>6.958281</longitude>
<openingHours>Täglich 06:00 - 20:00 Uhr</openingHours>
</mapElements>
<mapElements>
<name>Willy-Millowitsch-Denkmal</name>
<type>Denkmal</type>
<address>Willy-Millowitsch-Platz, Breite Str., 50667 Köln</address>
<latitude>50.938528</latitude>
<longitude>6.945177</longitude>
<openingHours>Durchgehend geöffnet</openingHours>
</mapElements>
<mapElements>
<name>Ping</name>
<type>Pong</type>
<address>Willy-Millowitsch-Platz, Breite Str., 50666 Köln</address>
<latitude>50.928528</latitude>
<longitude>6.935177</longitude>
<openingHours>Täglich 06:00 - 20:00 Uhr</openingHours>
</mapElements>
<latitude>50.939564</latitude>
<longitude>6.953370</longitude>
</mapInfo>
#
sliders
Wrapper for elements to be displayed as sliders, e.g. images or dialogplans.
<sliders>
(text)
</sliders>
#
actions
Actions for the frontend. Each action must consist of a command, a button-specification and any number of parameters.
<actions
command = xs:string
button = xs:boolean>
<parameters
name = xs:string>
<value> xs:string </value>
</parameters>
</actions>
#
searchresults
The following mark-up elements are only used in the chat-&-search product. Each searchresult is specified using a
searchresultlink marking its location and anchorText and- a searchresult containing further information which could be used to construct a destination url or add analytics data.
<searchresults>
<searchresult>
(id, score, url, short_description, title, thematicKey, type, category, language, customSpec)
</searchresult>
</searchresults>
...
<searchresultlink destination="<id>">
(anchorText)
</searchresultlink>
#
card
JSON Payload and Data to be rendered using the Adaptive Card Framework. For usage in the chatbot, see also Adaptive Cards .
<card>
<payload>
<![CDATA[
{...}
]]>
</payload>
<data>
<![CDATA[
{...}
]]>
</data>
</card>
#
Mark-Up-Elements
#
Typography/Presentation of Text
#
Lists
#
Links
#
Placeholders for Reference to External Chat Facility
#
Website embedding
Embedding of a website as iFrame. For usage in the chatbot, see also Webseiten-Einbindung .
<webEmbed url="<url>" overlay="<overlay>">
<overlaytext>
<![CDATA[
...
]]>
</overlaytext>
</webEmbed>
<webEmbed url="https://kauz.ai" overlay="true">
<overlaytext>
<![CDATA[
Bitte lesen Sie vorher unsere <a href="https://kauz.ai/datenschutz/" target="_blank">Datenschutzbestimmungen!</a>
]]>
</overlaytext>
</webEmbed>
#
Mapping of Analytics-Events
Analytics Events with standardized tags and data fields can be displayed in the Kauz-Editor-Reporting. A list of the supported tags and required data can be found below.