Aura request-response semantic model
This section describes the Aura request-response semantic model, which makes it possible for external software components, application and services to speak a language Aura can understand using the Direct Line API
Aura Virtual Assistant component
Introduction
The Direct Line API provides the connectivity between any external software component, service, channel or application and Aura skills.
Anyhow, having a connection means is typically not enough, as a proper understanding and semantics are needed between the communicating parties regarding the data being intercommunicated. In order to improve the communication of Aura with services or channels being integrated into the Microsoft Azure Bot Service and Bot Framework, two concepts come into play:
- Activities
- Fixed JSON format.
This fixed JSON format includes a JSON property called
channelData, which channel developers and integrators can use to encode channel-specific data in JSON format and its corresponding semantics.
In this framework, we introduce the so-called Aura Request - Response Semantic Model. This semantic model makes it possible for external software components, application and services to speak a language Aura can understand using the DirectLine API.
Currently, this semantic model is used both for the communication of channels with aura-groot and for the communication of aura-groot with skills in two Aura communication protocols:
Within the Aura Request - Response Semantic Model, two key properties will be fully described throughout these documents:
- The general-purpose channel-specific
channelDataproperty is the one used by Aura to define the model. When a message is sent from a channel, part of that message is specific to the channel/service and it allows aura-groot and skills to communicate correctly with it. - The
payloadproperty can be used by an external component to facilitate the sharing of information between the channels, aura-groot and the skills in order add extra information associated with the channel and, consequently, enrich the request.

Versioning
Aura supports different versions of the Aura Request - Response Semantic Model.
channelData v1
In older Aura Platform releases, the default version was version 1, so some channels did not send the version of the channelData and aura-bot handled their requests as version 1.0.0.
There is an exception: in release Aerosmith, aura-bot included Living Apps handling as a platform feature.
➡️ Access to channelData v1 documentation
channelData v2
Afterwards, version 2 was created to extend the channelData property with new fields, such as actions and status, that with the regular communications with the channels are not needed or, in the case of the actions, are solved by other ad-hoc means.
In Greenday (6.0.1) release, Aura included a WhatsApp connector, the so-named aura-bridge and also channelData version 2 was used to access and to use the extra features of actions and status.
In these Aura Platform releases until Iron Maiden, aura-bot included a lazy definition of the channelData model, so, in fact, it handled almost a different version per channel.
➡️ Access to channelData v2 documentation
channelData v3
From Iron Maiden (7.2.0) onwards, we introduce the so-called channelData normalized version (version 3), an enriched version of channelData with new fields that provide a complete schema definition. This will enforce all channels to use the very same schema to access aura-groot.
➡️ Access to channelData v3 documentation


