This is a Botium connector for testing your Nuance chatbot.
Did you read the Botium in a Nutshell articles ? Be warned, without prior knowledge of Botium you won't be able to properly use this library!
Botium uses the Nuance API to connect to your chatbot.
It can be used as any other Botium connector with all Botium Stack components:
- Node.js and NPM
- a deployed Nuance chatbot
- a project directory on your workstation to hold test cases and Botium configuration
When using Botium CLI:
> npm install -g botium-cli
> npm install -g botium-connector-nuance
> botium-cli init
> botium-cli run
When using Botium Bindings:
> npm install -g botium-bindings
> npm install -g botium-connector-nuance
> botium-bindings init mocha
> npm install && npm run mocha
When using Botium Box:
Already integrated into Botium Box, no setup required
- Fill the mandatory capabilities of botium.json file:
- NUANCE_CLIENT_ID
- NUANCE_CLIENT_SECRET
- NUANCE_CONTEXT_TAG
- NUANCE_CHANNEL
- Nlp analytics (It slows down the communication, so it is not enabled as default):
- Enable it with NUANCE_NLP_ANALYTICS_ENABLE capability
- In order to use downloader/uploader:
- Generate service account
- If it is not visible to you, then please ask nuance for permissions
- Setup the following capabilities:
- NUANCE_API_URL
- NUANCE_ADMIN_CLIENT_ID
- NUANCE_ADMIN_CLIENT_SECRET
- NUANCE_PROJECT_ID
Sample botium.json in your working directory:
{
"botium": {
"Capabilities": {
"PROJECTNAME": "<whatever>",
"CONTAINERMODE": "nuance",
"NUANCE_CLIENT_ID": "...",
"NUANCE_OAUTH_URL": "...",
"NUANCE_CLIENT_SECRET": "...",
"NUANCE_CONTEXT_TAG": "...",
"NUANCE_CHANNEL": "...",
"NUANCE_NLP_ANALYTICS_ENABLE": true,
"NUANCE_API_URL": "...",
"NUANCE_ADMIN_CLIENT_ID": "...",
"NUANCE_ADMIN_CLIENT_SECRET": "...",
"NUANCE_PROJECT_ID": "..."
}
}
}
Botium setup is ready, you can begin to write your BotiumScript files.
Set the capability CONTAINERMODE to nuance to activate this connector.
Nuance client id, and client secret
Language of the chatbot. A chatbot can be multi lingual, but the communication is bound to one dedicated one.
Optional.
Default: en-US
Capability to enable nlp analytics.
Optional.
Default: false
Optional. Only required for downloader/uploader. Default: https://mix.api.nuance.com/
Credentials for Nuance Service Account
Optional. Only required for downloader/uploader.
The Nuance Project ID.
Optional. Only required for downloader/uploader.
Default: https://auth.crt.nuance.com/oauth2/token
Default: nlu.api.nuance.com:443
Default: dlg.api.nuance.com:443
Oauth max retries. It is to deal with for Nuance Authorization rate limit: 50 requests/minute per IP address
Default: 6
Oauth retry delay in sec. It is to deal with for Nuance Authorization rate limit: 50 requests/minute per IP address
Default: 10
Nuance Library.
Default: default
Nuance session timeout in sec.
Default: not set (generated by Nuance)
Nuance session timeout in sec.
Default: 900
Nuance user id in sec.
Default: not set
Client data to inject into the Nuance Event Logs
Capability to turn off Nuance Event Logs
Initial context (session data) in JSON format
Turning off welcome message check can speed up the time of the conversation.
Default: false
Configure how Nuance entities are mapped to Botium entities
Possible values:
- FORCE_LITERAL Nuance entities are mapped as string
- FORCE_STRUCT Nuance entities are mapped as string
- LITERAL_FOR_COMPLEX Flat Nuance entities are mapped as string, complex as JSON
- Voice, and IVR chatbots are not supported (just text based)
- On premise installation of a Nuance chatbot might not work.
- Transfer action is not supported:
- Dialog events are not supported
- Continue actions are not supported