Skip to main content

Python SDK for Webex Contact Center BYOVA / BYODS — Data Sources, Service App tokens, Integration OAuth, and gRPC media server

Project description

webex-byova

Python SDK for Webex Contact Center BYOVA and the foundational Bring Your Own Data Source (BYODS) APIs.

Simplify Service App token management, Integration OAuth, DataSource CRUD, schema discovery, JWS verification, and BYOVA gRPC media streaming.

Install

pip install webex-byova

For the gRPC media server (voice virtual agent streaming), install the optional dependencies:

pip install "webex-byova[media]"

Quick start

import asyncio
from webex_byova import BYOVA
from webex_byova.models import IntegrationCredentials, ServiceAppCredentials

sdk = BYOVA(
    integration=IntegrationCredentials(
        client_id="YOUR_INTEGRATION_CLIENT_ID",
        client_secret="YOUR_INTEGRATION_CLIENT_SECRET",
        redirect_uri="http://127.0.0.1:8765/callback",
    ),
    service_app=ServiceAppCredentials(
        client_id="YOUR_SERVICE_APP_CLIENT_ID",
        client_secret="YOUR_SERVICE_APP_CLIENT_SECRET",
    ),
)

async def main():
  # Developer authorizes Integration (not customer admin)
  await sdk.integration.aauthorize(open_browser=True)

  await sdk.webhooks.aensure_service_app_webhooks(
      target_url="https://your-app.example.com/webhooks/webex",
  )

asyncio.run(main())

After a customer admin authorizes your Service App in Control Hub, handle the webhook:

result = await sdk.ahandle_service_app_webhook(webhook_json)
client = await sdk.aget_client_for_org(result.org_id)
sources = await client.data_sources.alist()

Environment variables

export WEBEX_INTEGRATION_CLIENT_ID=...
export WEBEX_INTEGRATION_CLIENT_SECRET=...
export WEBEX_SA_CLIENT_ID=...
export WEBEX_SA_CLIENT_SECRET=...
export WEBEX_INTEGRATION_REDIRECT_URI=http://127.0.0.1:8765/callback
sdk = BYOVA.from_env()

Documentation

Full documentation: joezanini.github.io/byova-sdk-python

Build and preview locally:

pip install -e ".[docs]"
mkdocs serve -f docs/mkdocs.yml   # http://127.0.0.1:8000

See CONTRIBUTING.md for development setup.

License

MIT — see LICENSE.

Project details


Download files

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

Source Distribution

webex_byova-0.2.0.tar.gz (59.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

webex_byova-0.2.0-py3-none-any.whl (54.1 kB view details)

Uploaded Python 3

File details

Details for the file webex_byova-0.2.0.tar.gz.

File metadata

  • Download URL: webex_byova-0.2.0.tar.gz
  • Upload date:
  • Size: 59.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for webex_byova-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ed56fd5755c7c1403d46239e240da53aaae82daadc5239410a9bb0d448eb6ffc
MD5 e8fe1130be5dcceadddc3c0c7eb2858d
BLAKE2b-256 b59a54b8adebbb5fdd4502e34c33d76c63bc8869023d076b52cf34e1c293aab1

See more details on using hashes here.

Provenance

The following attestation bundles were made for webex_byova-0.2.0.tar.gz:

Publisher: release.yml on Joezanini/byova-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file webex_byova-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: webex_byova-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 54.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for webex_byova-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e33814b10f6d9853fdfec4326593fc778f089a30a3e67dcfbc9c6dd855d652c5
MD5 b4a907a6cdd0564b126a4fcb0aec821b
BLAKE2b-256 1238cd31a36c9d16fe6819414088bcdf6eecdbf7a5dac7c5cd3c8d7305ad62c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for webex_byova-0.2.0-py3-none-any.whl:

Publisher: release.yml on Joezanini/byova-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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