Skip to content

Releases: Pearson-ICC/CxAdmin

1.0.58

09 Mar 16:25
74b4b97
Compare
Choose a tag to compare

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

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

09 Mar 13:28
5e05d93
Compare
Choose a tag to compare

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

10 Jan 13:44
28d5fa3
Compare
Choose a tag to compare
v1.0.14 Pre-release
Pre-release