Skip to main content

Universal

This section describes how to integrate a Universal channel with Botanalytics.

This section is designed for the the latest version of Botanalytics, which is currently on private beta.

If you would like to join the beta and use the latest version of Botanalytics, follow the instructions.

Please check available channels before adding a universal channel, If the channel you're about to add is available please use native channel and integration.

Integration

Integrating Botanalytics into your in-app bot, web bot, SMS bot, voice application, or other conversational interface, is quick and easy.

Include Botanalytics

from botanalytics.universal import Universal

Create the client

client = Universal(api_key=BOTANALYTICS_API_KEY)

Configuration options

OptionRequiredDefaultDescriptionEnvironment Variable
api_keyYesHas no defaultAPI key that is provided when a Universal channel is added to a project.BA_API_KEY
debugNoFalseEnables logging. Set this to true or True to enable.BA_DEBUG
base_urlNohttps://api.beta.botanalytics.co/v2Base URL to be used for sending requests. Do not change this unless instructed by the Botanalytics team.BA_BASE_URL
is_asyncNoFalseWhether client should use async workers. Set this to true or True to enable.BA_IS_ASYNC
thread_workersNocpu count * 2The number of thread workers for the async clientBA_THREAD_WORKERS

Additional environment variables/options

NameRequiredDefaultDescriptionEnvironment Variable
Could only be set via environment variable.NoINFOLog level for the logger. Could be set one of following options TRACE, DEBUG, INFO, SUCCESS, WARNING, ERROR, CRITICAL.BA_LOG_LEVEL
request_retry_limitNo10Request retry limit for the clientBA_REQUEST_RETRY_LIMIT
request_timeoutNo30000Request timeout for the clientBA_REQUEST_TIMEOUT

Log single message with Botanalytics client

Message is structured json object. Please see RESTful api for message object.

client.log_message(message)

Log messages with Botanalytics client

Messages is array of structured message json object. Please see RESTful api for message object.

client.log_messages(messages)

Next Steps