Skip to main content

Python SDK for interacting with the CxEngage API

Project description

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
  • Any object to JSON

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

from CxAdmin import Cx
import json

cx: Cx
dev = True
if dev:
    cx = Cx.fromConfigFile("config.dev.json")
else:
    cx = Cx.fromConfigFile("config.prod.json")

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))

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

CxAdmin-1.0.77.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

CxAdmin-1.0.77-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file CxAdmin-1.0.77.tar.gz.

File metadata

  • Download URL: CxAdmin-1.0.77.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for CxAdmin-1.0.77.tar.gz
Algorithm Hash digest
SHA256 c081a6ae9466e191199e589c2a9521d9cae29f89edb16b2461b71700ca9e1d3b
MD5 3e7044dfa7b100d3f648021ceab70a11
BLAKE2b-256 1ec9e104580a8c544709726d95af503961fb52c14bdf5fd3dac71d90ff97e7a9

See more details on using hashes here.

File details

Details for the file CxAdmin-1.0.77-py3-none-any.whl.

File metadata

  • Download URL: CxAdmin-1.0.77-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for CxAdmin-1.0.77-py3-none-any.whl
Algorithm Hash digest
SHA256 9f50cbcdc3a062ee267c2b32d29dd6cd4240a371940d408c3a3a39f1df3f0d0d
MD5 81de66ec2c1cec3a6dd72f18e3258ef6
BLAKE2b-256 b215926416e112285fcb9c25b2a51103b515d433f82b06166d848790e6b29725

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page