Categories:
auraline-conversation-api plugin
Technical description of auraline-conversation-api plugin
Introduction
auraline-conversation-api plugin allows you to generate conversation identifiers together with an associated token to be able to communicate through the new Auraline service. This service works similarly to Microsoft Direct Line.
It is mandatory to load this plugin if any channel wants to communicate with aura-bot through Auraline.
Based on official Direct Line API 3.0
Open a new conversation
Before establishing a communication between a client and aura-bot through the Auraline channel, it is necessary to obtain a conversation ID and a token associated to it. This token will be used as APIKey to send messages to the user together with the conversation ID created.
HTTP
POST https://bridge-url.com/aura-services/v1/auraline/conversations
Authorization: APIKEY [Secret]
Conversation Response Model (Create or Update Token)
| Property | Type | Description |
|---|---|---|
| conversationId | string | The identification of conversation created or updated (refresh token). |
| token | string | Token generated for conversation. It is temporary and can be refreshed. Use with “APIKEY” string in the Authorization HTTP header. |
| expires_in | number | Time in seconds for the duration of the token. If you want to refresh it, it must be done before this time has elapsed. It will be set based on the value of AURALINE_CONVERSATION_EXPIRATION_TIME |
The following snippets provide an example of the start conversation request and response.
-
Request
HTTP POST https://bridge-url.com/aura-services/v1/auraline/conversations Authorization: APIKEY iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn -
Response
HTTP/1.1 201 Created [other headers] BODY { "conversationId": "X7CZj0LdjAPGfiCpg4Fv", "token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn", "expires_in": 1800, }
Refresh a Conversation Token
A conversation token can be refreshed an unlimited number of times, as long as it has not expired, as an expired token cannot be refreshed.
To refresh a conversation token, issue this request:
HTTP
POST https://bridge-url.com/aura-services/v1/auraline/conversations/{conversationid}/refresh
Authorization: APIKEY [TOKEN_TO_BE_REFRESHED]
The following snippets provide an example of the Refresh Token request and response.
-
Request
HTTP POST https://bridge-url.com/aura-services/v1/auraline/conversations/X7CZj0LdjAPGfiCpg4Fv/refresh Authorization: APIKEY RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn -
Response
If the request is successful, the response contains:
- A new token that is valid for the same conversation as the previous token.
- An
expires_invalue that indicates the number of seconds until the new token expires.
For the new token to remain useful, you must refresh the token before it expires:
HTTP HTTP/1.1 200 OK [other headers] BODY { "conversationId": "X7CZj0LdjAPGfiCpg4Fv", "token": "RCurR_XV9ZA.cwA.BKA.y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xniaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0", "expires_in": 1800 }