More ready for production. Everything is json exportable.
CxAdmin
CxAdmin is a Python API client for the CxEngage API. It is a work in progress and is not yet complete.
All objects are designed to mirror their CxEngage counterparts. For example, a CxList object has the exact same properties as a list on the CxEngage platform.
Together with the way this program is designed, this means you can fetch items from CxEngage, manipulate them locally, and then upload them back to CxEngage, without having to worry about the API.
This API is designed to be easily expandable. If you would like to add functionality, please feel free to submit a pull request.
To Do
- [] Any object to CSV
Usage – Contents
* [Set up API client](set-up-api-client)
* [Get Everything](get-everything)
* [Queues](queues)
* [Lists](lists)
* [Users](users)
* [Groups](groups)
* [Business Hours](hours)
* [Environment](environment)
* [Flows](flows)
* [Statistics](statistics)
Set up API client
py
import CxAdmin
cx = CxAdmin.Cx(
baseURL="your_base_url", https://eu-west-1-prod-api.cxengage.net for EU, https://api.cxengage.net for US
apiKey="your_api_key",
apiSecret="your_api_secret",
tenantID="your_tenant_id",
)
or
py
import CxAdmin
cx = CxAdmin.Cx.fromConfigFile("config.json")
> Example config.json
json
{
"baseURL": "https://eu-west-1-prod-api.cxengage.net",
"apiKey": "73668f12-4da1-9991-p182-83ufb38193pa",
"apiSecret": "biglongjumblystringoflettersandnumbershere",
"tenantID": "893jwa23-85k2-895k-1562-93pot7367185"
}
Get Everything
Get everything
py
for item in cx.items:
print(item)
out = item.get()
name = str(item)[13:]
name = name[: name.index(".")]
file = open(f"output/{name}.json", "w")
output = json.dumps(out)
file.write(output)
This will fetch all items from CxEngage and save them to `output/` as JSON files.
Queues
Get list of queues
py
cx.queues.getQueues()
or
py
cx.queues.get() same as getQueues()
Get active queues
py
cx.queues.getActiveQueues()
Lists
Get all lists
py
cx.lists.get()
Get list by ID
py
cx.lists.getList(listId)
Get list as CSV
py
cx.lists.getListCSV(listId)
Convert list object to CSV
py
myList = cx.lists.getList(listId) get a list
csv: list[str] = myList.toCSV() convert to CSV, returns a list of strings
Users
Get all users
py
cx.users.getAllUsers()
or
py
cx.users.get() same as getAllUsers()
Groups
Get all groups
py
cx.groups.getGroups()
or
py
cx.groups.get() same as getGroups()
Hours
Get list of business hours
py
hours = cx.hours.get()
Get info for a specific business hours object (example)
py
for hour in hours:
print(f"{hour.name} - {hour.getBusinessHours()})
Environment
Get tenant
py
cx.environment.getTenant()
or
py
cx.environment.get() same as getTenant()
Get regions
py
cx.environment.getRegions()
Flows
Get all flows
py
cx.flows.getFlows()
or
py
cx.flows.get() same as getFlows()
Statistics
py
cx.statistics.getInteractions(between: (datetime, datetime))