- A 46elks Account
- A free mongoDB Atlas account
- If you want to use Google's Text-to-speech API then you need a GCP Account
- Currently the API and Demo Environment is served using the bottle.py microframework on an NGROK server
- The SMS integration requires work (customers need to be removed after testing)
- You will need to create a config.py file to store MongoDB and 46elks Credentials
mongo_user = 'USERNAME'
mongo_pass = 'PASSWORD'
elks_user = 'USERNAME'
elks_pass = 'PASSWORD'
There are currently three components to this repo:
- The Builder API
- The Builder Tool
- The Demo Environment
The 'Builder API' communicates with MongoDB and Google when creating branches/IVR etc. The builder API also receives input from the Builder tool.
The 'Builder Tool' is a simple command line interface to add branches, messages and options to your IVR or SMS tree. Currently this only supports building new trees and adding options to branches. In the future more functionality such as editing current messages and options will be available.
The 'Demo Environment' is a server that will run so that calls and text messages can interact with the IVR / SMS trees you have built
You will need to update:
db = client.get_database("YOUR DATABASE")
first = db.YOUR COLLECTION #usecase collection
currentServer = "https://dca8234f.ngrok.io/"
The 'Builder API' must be running whilst you are using the 'Builder Tool'
To start:
python3 BuilderAPI.py
This is the tool that communicates with the API to build your IVR trees. The 'Builder API' must be running whilst you are using the 'Builder Tool'
-
New Host(s) contain Option(s) and serve as endpoints for other options.
This will allow you to create new host branches, options and connections. -
Update Host/Option
This will allow you to change the messages for hosts and options -
Add Record Option
This allows you to add a record action as an option. Implementing this option will append a URL to the customers call file where you can download the recorded audio. -
TODO list is a list of hosts that need to be made to match with option connections
This shows you a list of the hosts that need to be made so that when options are selected messages are returned. -
Current Paths/Hosts refers to the available Paths/Hosts to add options to.
This the the list of current hosts. -
Returns a formatted view or raw JSON of your current IVR Tree
-
Builds the Voice IVR system using Google Text-to-speech
You will need to export your credentials correctly for this step to processesguide on credentials
In order to test your current tree you will need to update:
db = client.get_database("YOUR DATABASE")
first = db.YOUR COLLECTION #usecase collection
currentServer = "https://dca8234f.ngrok.io/"