Managed Bots
This feature will allow you to take advantage of EDDI's automatic management of bots, it is possible to avoid creating conversations and managing them yourself, but let them be managed by EDDI.
This will act as a shortcut to start directly a conversation with a bot that covers a specific intent.
But first you will have to set up a
BotTrigger
.{
"intent": "string",
"botDeployments": [
{
"environment": "environment",
"botId": "string",
"initialContext": {
"additionalProp1": {
"type": "string",
"value": ""
},
"additionalProp2": {
"type": "string",
"value": ""
},
"additionalProp3": {
"type": "string",
"value": ""
}
}
}
]
}
Element | Description |
intent | ( String ) keyword or phrase (camel case or with '-') that will be used in managed bots to trigger the bots defined in this model |
botDeployments | ( Array: <BotDeployment >) array of BotDeployment . If multiple botDeployments are defined, one will be picked randomly. |
environment | ( String ) the environment that you would like (restricted, unrestricted, test) |
botId | ( String ) the id of the bot that you want to create the botTrigger for it. |
initialContext | (Array < Object > ) As context can be handed over on each request to the bot, initialContext allows the definition of context the bot should get at the very first conversation step when a conversation with the bot is started (only way to get context to the bot in the first conversation step) |
HTTP Method | API Endpoint | Request Body | Response |
DELETE | /bottriggerstore/bottriggers/{intent} | N/A | N/A |
GET | /bottriggerstore/bottriggers/{intent} | N/A | Bot Triggers-model |
PUT | /bottriggerstore/bottriggers/{intent} | Bot Triggers-model | N/A |
POST | /bottriggerstore/bottriggers | Bot Triggers-model | N/A |
To trigger a managed bot you will have to call the following API endpoints.
HTTP Method | API Endpoint | Request Body | Response |
GET | /managedbots/{intent}/{userId} | N/A | Conversation model |
POST | /managedbots/{intent}/{userId} | Input model | N/A |
POST | /managedbots/{intent}/{userId}/endConversation | Input model | N/A |
Element | Description |
{intent} | ( String ) the label/keyword used originally to point to this BotTrigger |
{userId} | ( String ) used to specify the user who triggered the conversation |
Request URL:
POST
http://localhost:7070//bottriggerstore/bottriggers
Request Body
{
"intent": "weather_trigger",
"botDeployments": [
{
"environment": "unrestricted",
"botId": "5bf5418c46e0fb000b7636d0",
"initialContext": {}
}
]
}
Response Body
no content
Response Code
200
Response Headers
access-control-allow-headers: authorization, Content-Type
access-control-allow-methods: GET, PUT, POST, DELETE, PATCH, OPTIONS
access-control-allow-origin: *
access-control-expose-headers: location
connection: Keep-Alive
content-length: 0
date: Mon, 18 Mar 2019 00:31:07 GMT
keep-alive: timeout=5, max=100
server: Apache/2.4.29 (Ubuntu)
Request URL:
POST
http://localhost:7070/managedbots/weather_trigger/myUserId
Request Body
{
"input": "Hello managed bot!",
"context": {}
}
Response Body
{
"botId": "5bf5418c46e0fb000b7636d0",
"botVersion": 10,
"userId": "myUserId",
"environment": "unrestricted",
"conversationState": "READY",
"redoCacheSize": 0,
"conversationOutputs": [
{
"input": "Hello managed bot!",
"expressions": "unknown(Hello), unknown(managed), unknown(bot!)",
"intents": [
"unknown",
"unknown",
"unknown"
]
}
],
"conversationProperties": {},
"conversationSteps": [
{
"conversationStep": [
{
"key": "input:initial",
"value": "Hello managed bot!"
}
],
"timestamp": 1552869578596
}
]
}
Response Code
200
Response Headers
access-control-allow-headers: authorization, Content-Type
access-control-allow-methods: GET, PUT, POST, DELETE, PATCH, OPTIONS
access-control-allow-origin: *
access-control-expose-headers: location
connection: Keep-Alive
content-length: 0
date: Mon, 18 Mar 2019 00:31:07 GMT
keep-alive: timeout=5, max=100
server: Apache/2.4.29 (Ubuntu)
Last modified 1yr ago