Introduction
Open ChatBot is an Alliance For Open ChatBot initiative that propose a common API specification for a simple chatbot conversation (text and/or voice). The aim of the alliance is to define a collaborative and open communication standard between chatbots.
Current document describe the way you can declare your OpenChatBot compatible agent through usage of a config file at root of your server.
How to declare your OpenChatBot compatible agent (conversational bot)
To declare your bot to the all world, deploy a json config file named openchatbot-configuration under .well-known folder at the root of your domain
Example:
https://yourdomain.com/.well-known/openchatbot-configuration
Note that the file name does not have the .json extension
openchatbot-configuration file
This file is a json file that contain an openchatbot_endpoint that would declare:
-
the endpoint (the absolute path of your OpenChatBot API on your web server)
-
the host which could be a subdomain or any other host you own
-
the port that might be custom in your case (don’t forget to use 443 if you have a standard ssl configuration for https)
-
the allowed_methods used for requesting your API (GET and/or POST).
Live example in https://doungdoung.com/.well-known/openchatbot-configuration:
{
"openchatbot": {
"endpoint": "/api/doungdoung/v1.0/ask",
"host": "https://doungdoung.com",
"port": 443,
"methods": ["GET", "POST"]
}
}
User journey
Once your OpenChatBot compatible bot is online and reachable at https://yourdomain.com/api/mybot/v1.0/ask (in our above example: https://doungdoung.com/api/doungdoung/v1.0/ask), any other bots or meta-bots will be able to access your conversational agent (without any prior declaration elsewere).
You can test it from our public beta OpenChatBot webchat available on the bottom right of this page.
usage : @<yourdomain> <query>
Example of an existing domain bot at doungdoung.com:
@doungdoung hello
Note: if <yourdomain> does not contain extension, default domain used so far is .com. If your service is on an other domain extension, you would have to specify it in the webchat query. For instance : @<yourdomain>.net <query>)
Current limitation and next steps
This openchabot domain declaration system is still in beta test and might evolve in the future.
For instance, if no domain extension is given for reaching your bot, default domain extension used is .com. Next version of sample meta-bot to be Publish in GitHub might support fallback domains (ex: .fr, .es, .co.uk, .net, .info, .org, etc.) - this still need to be assessed.
Also openchatbot-configuration file might allow in the future intent tag declaration, or multiple bot for the same domain depending on intents for instance.