Releases: Pearson-ICC/CxAdmin
1.0.58
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
- Get Everything
- Queues
- Lists
- Users
- Groups
- Business Hours
- Environment
- Flows
- Statistics
Set up API client
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
import CxAdmin
cx = CxAdmin.Cx.fromConfigFile("config.json")
Example config.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
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
cx.queues.getQueues()
or
cx.queues.get() # same as getQueues()
Get active queues
cx.queues.getActiveQueues()
Lists
Get all lists
cx.lists.get()
Get list by ID
cx.lists.getList(listId)
Get list as CSV
cx.lists.getListCSV(listId)
Convert list object to CSV
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
cx.users.getAllUsers()
or
cx.users.get() # same as getAllUsers()
Groups
Get all groups
cx.groups.getGroups()
or
cx.groups.get() # same as getGroups()
Hours
Get list of business hours
hours = cx.hours.get()
Get info for a specific business hours object (example)
for hour in hours:
print(f"{hour.name} - {hour.getBusinessHours()})
Environment
Get tenant
cx.environment.getTenant()
or
cx.environment.get() # same as getTenant()
Get regions
cx.environment.getRegions()
Flows
Get all flows
cx.flows.getFlows()
or
cx.flows.get() # same as getFlows()
Statistics
cx.statistics.getInteractions(between: (datetime, datetime))
1.0.57.1
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
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
import CxAdmin
cx = CxAdmin.Cx.fromConfigFile("config.json")
Example config.json
{
"baseURL": "https://eu-west-1-prod-api.cxengage.net",
"apiKey": "73668f12-4da1-9991-p182-83ufb38193pa",
"apiSecret": "biglongjumblystringoflettersandnumbershere",
"tenantID": "893jwa23-85k2-895k-1562-93pot7367185"
}
Queues
Get list of queues
cx.queues.getQueues()
or
cx.queues.get() # same as getQueues()
Get active queues
cx.queues.getActiveQueues()
Lists
Get all lists
cx.lists.get()
Get list by ID
cx.lists.getList(listId)
Get list as CSV
cx.lists.getListCSV(listId)
Convert list object to CSV
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
cx.users.getAllUsers()
or
cx.users.get() # same as getAllUsers()
Groups
Get all groups
cx.groups.getGroups()
or
cx.groups.get() # same as getGroups()
Hours
Get list of business hours
hours = cx.hours.get()
Get info for a specific business hours object (example)
for hour in hours:
print(f"{hour.name} - {hour.getBusinessHours()})
Environment
Get tenant
cx.environment.getTenant()
or
cx.environment.get() # same as getTenant()
Get regions
cx.environment.getRegions()
Flows
Get all flows
cx.flows.getFlows()
or
cx.flows.get() # same as getFlows()
Statistics
cx.statistics.getInteractions(between: (datetime, datetime))
v1.0.14
It works! PyPi release
Full Changelog: https://github.com/ntflix/CxAdmin/commits/v1.0.14