Deployement management of Chatbots

In this section we will discuss the deployment management of chabots.

After all the resources required of the chatbot has been well created and configured ( Dictionary ,Behavior Rules,Output,Package,etc..) and the chat bot is created through a POST to the api endpoint /botstore/bots, the deployment management of the chatbots is offered by EDDI through the following end points :

  • Deployment of a chatbot :

The deployment of a specific chatbot is done through a POST to /administration/{environment}/deploy/{botId}:


HTTP MethodPOST
Api endpoint /administration/{environment}/deploy/{botId}
{environment}

(Path parameter):String

deployment environment (e.g: restricted,unrestricted,test)

{botId}

(Path parameter):String

id of the bot that you wish to deploy.

Example :

Deploy a chatbot
Request URL:
	http://localhost:7070/administration/unrestricted/deploy/5aaf98e19f7dd421ac3c7de9?version=1&autoDeploy=true

Response Body
	no content

Response Code
	202

Response Headers
{
  "access-control-allow-origin": "*",
  "date": "Mon, 19 Mar 2018 16:32:58 GMT",
  "access-control-allow-headers": "authorization, Content-Type",
  "content-length": "0",
  "access-control-allow-methods": "GET, PUT, POST, DELETE, PATCH, OPTIONS",
  "content-type": null
}
  • Un-deployment of a chatbot :

The undeployment of a specific chatbot is done through a POST to /administration/{environment}/undeploy/{botId}:


HTTP MethodPOST
Api endpoint /administration/{environment}/undeploy/{botId}
{environment}

(Path parameter):String

deployment environment (e.g: restricted,unrestricted,test)

{botId}

(Path parameter):String

id of the bot that you wish to undeploy.

Example :

Un-deploy a chatbot
Request URL
	http://localhost:7070/administration/unrestricted/undeploy/5aaf98e19f7dd421ac3c7de9?version=1
Response Body
	no content
Response Code
	202
Response Headers
{
  "access-control-allow-origin": "*",
  "date": "Mon, 19 Mar 2018 16:38:36 GMT",
  "access-control-allow-headers": "authorization, Content-Type",
  "content-length": "0",
  "access-control-allow-methods": "GET, PUT, POST, DELETE, PATCH, OPTIONS",
  "content-type": null
}

  • Check the deployment status of a chatbot :

Check the deployement status of a bot is done through a GET to /administration/{environment}/undeploy/{botId}:

HTTP MethodGET
Api endpoint /administration/{environment}/deploymentstatus/{botId}
{environment}

(Path parameter):String

deployment environment (e.g: restricted,unrestricted,test)

{botId}

(Path parameter):String

Id of the bot that you wish to check its status. 

As a response of the request expect the following values :
NOT_FOUND
, IN_PROGRESS, ERROR and READY.

Example:

Check deployment status of a bot
Request URL
	http://localhost:7070/administration/unrestricted/deploymentstatus/5aaf98e19f7dd421ac3c7de9?version=1
Response Body
	READY
Response Code
	200
Response Headers
{
  "access-control-allow-origin": "*",
  "date": "Mon, 19 Mar 2018 16:33:08 GMT",
  "access-control-allow-headers": "authorization, Content-Type",
  "content-length": "5",
  "access-control-allow-methods": "GET, PUT, POST, DELETE, PATCH, OPTIONS",
  "content-type": "text/plain;charset=utf-8"
}
  • List all deployed chatbots:


To list all the deployed chatbots a GET to /administration/{environment}/undeploy/{botId}:


HTTP MethodGET
Api endpoint /deploymentstore/deployments

Example :

List all deployments
Request URL
	http://localhost:7070/deploymentstore/deployments
Response Code
	200
Response Body
[
  {
    "botId": "5aaf90e29f7dd421ac3c7dd4",
    "botVersion": 1,
    "environment": "unrestricted",
    "deploymentStatus": "deployed"
  },
  {
    "botId": "5aaf90e29f7dd421ac3c7dd4",
    "botVersion": 1,
    "environment": "restricted",
    "deploymentStatus": "deployed"
  },
  {
    "botId": "5aaf98e19f7dd421ac3c7de9",
    "botVersion": 1,
    "environment": "unrestricted",
    "deploymentStatus": "deployed"
  }
]

Response Headers
{
  "access-control-allow-origin": "*",
  "date": "Mon, 19 Mar 2018 16:33:29 GMT",
  "access-control-allow-headers": "authorization, Content-Type",
  "content-length": "414",
  "access-control-allow-methods": "GET, PUT, POST, DELETE, PATCH, OPTIONS",
  "content-type": "application/json"
}