https://github.com/webexsamples/webex-contact-center-api-samples
Official Code samples & snippets repository for Webex Contact Center APIs
https://github.com/webexsamples/webex-contact-center-api-samples
api contact-center js js-sdk samples sdk webex-contact-center
Last synced: 11 months ago
JSON representation
Official Code samples & snippets repository for Webex Contact Center APIs
- Host: GitHub
- URL: https://github.com/webexsamples/webex-contact-center-api-samples
- Owner: WebexSamples
- License: other
- Created: 2022-02-16T18:45:32.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-17T12:27:04.000Z (over 1 year ago)
- Last Synced: 2024-10-19T16:27:25.565Z (over 1 year ago)
- Topics: api, contact-center, js, js-sdk, samples, sdk, webex-contact-center
- Language: CSS
- Homepage:
- Size: 17.9 MB
- Stars: 43
- Watchers: 24
- Forks: 26
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Webex Contact Center API Samples



> Looking for something?
> [Please take a look at the Index of all the Samples Below](https://github.com/WebexSamples/webex-contact-center-api-samples#using-the-api-samples) 👇👇
These basic samples will help you understand the Webex Contact Center APIs available today on the **[Webex Contact Center Developer Portal](https://developer.webex-cx.com/)**
## [Watch Now: Welcome to the Webex Contact Center API Samples](https://app.vidcast.io/share/861a3320-669c-4edb-b284-3c1300130583)
## Getting Started
To get started, create an App Integration on the Developer Portal:
( This will help you obtain your `Client ID` and `Client Secret` ).
- Sign into developer.webex-cx.com with a valid Webex Control Hub Account.
- Create an Application Integration by going to your Profile > Manage My Apps.
- Creating an Application Integration will give you a set of Client ID and Client Secret that you will need for this sample.
- Note: While entering the Redirect URI, ensure it has the right URL. For example, for postman, it is : `https://oauth.pstmn.io/v1/callback`
- For your local app, it will be in the format: `http://localhost:{port}/{path}`
## Using the API Samples
### Samples - Index
The API samples are divided into several folders. It would be great to follow the samples in the following order. Each sample has a supporting ReadMe and/or a supporting video on how to get started.
| # | Folder Name | Domain | Variant | Comments | Link |
| --- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 0 | [postman-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/postman-sample) | API Fundamentals | Postman | Getting Started with the Webex Contact Center APIs and how to create a pair of Client ID or Client Secret for OAuth2 etc. | [Postman Sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/postman-sample) |
| 1 | [app-auth-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/app-auth-sample) | API Fundamentals | JavaScript | This is a sample application that shows you how to obtain an access token. It also has sample GET calls for Tasks, Agent Stats, Queue Stats, Users, Sites, etc. | [OAuth2 Sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/app-auth-sample) |
| 2 | [configuration-app-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/configuration-samples/configuration-app-sample) | Configuration API | JavaScript | This is a sample frontend application that shows you how to use the Configuration APIs for EPs, Queues, Teams, and expose the capabilities on the front-end | [Configuration App Sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/configuration-samples/configuration-app-sample) |
| 3 | [configuration-extraction-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/configuration-samples/configuration-extraction-sample) | Configuration API | Java | This is a sample application written in Java that has example Configuration REST API calls to extract and export WebexCC configuration data to a CSV. This app is extensible and customizable based on what data needs to be extracted. | [Configuration Extractor in Java](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/configuration-samples/configuration-extraction-sample) |
| 4 | [graphql-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/reporting-samples/graphql-sample) | Data & Reporting API | GraphQL | This is a sample application that has example calls for the new /search endpoint that is powered by GraphQL. One can formulate multiple request types that support the GraphQL syntax. Both Tasks and Agent Sessions are supported. | [GraphQL /search API Sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/reporting-samples/graphql-sample) |
| 5 | [graphql-wallboard-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/reporting-samples/graphql-wallboard-sample) | Data & Reporting API | GraphQL + JavaScript | This is a sample wallboard application that has examples for Realtime and Historical API calls using the new /search endpoint that is powered by GraphQL. This example contains a few sample cards that can be extended based on requirements. | [GraphQL Wallboard Sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/reporting-samples/graphql-wallboard-sample) |
| 6 | [graphql-powerbi-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/reporting-samples/graphql-powerbi-sample) | Reporting API (GraphQL + Search) | Java | This is a sample application written in Java that shows you how to build a Microsoft Power BI connector for Webex Contact Center Reporting. The app uses Webex Contact Center's "/search" API powered by GraphQL. | [GraphQL Power BI Reporting Connector Sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/reporting-samples/graphql-powerbi-sample) |
| 7 | [webhook-email-notify-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/webhook-email-notify-sample) | Webhooks | JavaScript | This is a sample application that shows you how to use Webhooks and send an email notification using webhooks. | [Webhook Sample with Email Notifications](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/webhook-email-notify-sample) |
| 8 | [call-recording-download-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/call-recording-samples/call-recording-download-sample) | Recording Download API | JavaScript | This is a sample application that shows you how to use Webhooks - the capture:created Webhook allows you to download a new call recording on the system, to a local file. | [Call Recording Download Sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/call-recording-samples/call-recording-download-sample) |
| 9 | [token-app-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/token-management-samples/token-app-sample) | API Fundamentals | JavaScript | This is a sample application that shows you how to build a scheduler service that obtains a new access token every 10 hours from Webex and persist this onto your local datastore. The example uses a simple SQLite DB as an example. | [Token Management Service Sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main//token-management-samples/token-app-sample) |
| 10 | [callback-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/callback-samples/callback-sample) | Webcallback API | JavaScript | This is a sample application that shows you how to build a front end Form to Leverage our brand new Webcallback API that injects a callback call into Webex Contact Center. The example uses a simple javaScript injection technique to inject the form in any webpage of your choice. | [Web Callback API Sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/callback-samples/callback-sample) |
| 11 | [widget-sample-101](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/widget-sample-101) | Desktop Widgets | Desktop Layout | This is a sample web component widget that shows you how to build a web component widget from scratch. It also covers how you can read the Desktop STORE to retrieve information and pass these values into the widget via the layout. | [Web component Widget Sample & 101](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/widget-sample-101) |
| 12 | [iframe-widget](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/iframe-widget-sample) |Desktop Widgets | Desktop Layout | Basic iFrame widget to understand how to bring a widget in the desktop - iFrame a Reporting widget from Analyzer into the Desktop |[iFrame Widgets](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/iframe-widget-sample) |
| 13 | [header-widget](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/rss-header-widget-sample) |Desktop Widgets | Desktop Layout | This is a sample project to demonstrate a custom RSS header widget built using LitElement for use as a Webex Contact Center Header Desktop Widget. |[RSS Header Widget Sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/rss-header-widget-sample) |
| 14 | [desktop-js-sdk-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/desktop-js-sdk-sample) | Desktop Widgets | Desktop Layout + JavaScript SDK | This is a sample web component widget that shows you how to use the Desktop Javascript SDK inside a widget to automate actions. The widgets can have a UI, or can be entirely headless. | [Desktop JS SDK Web Component Widget](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/desktop-js-sdk-sample) |
| 15 | [addressbook-widget-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/addressbook-widget-sample) | Desktop Widgets | Desktop Layout + JavaScript SDK | This is a sample web component widget that shows you how to build a customized Address Book with Click to dial, Transfer, Consult and other functionalities using a web component widget. | [Address Book Widget](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/addressbook-widget-sample) |
| 16 | [desktop-js-sdk-callcontrol-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/desktop-js-sdk-callcontrol-sample) | Desktop Widgets | Desktop Layout + JavaScript SDK | This is a sample web component widget that shows you how to use the Call Control Methods available on the JS SDK to enable the following functionalities: Transfer, Click to dial, Consult, Pause, Resume, Hold, Unhold and more, using a web component widget. | [Desktop Call Control Widget](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/desktop-js-sdk-callcontrol-sample) |
| 17 | [desktop-api-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/desktop-sample/desktop-api-sample) | Desktop REST API & Websockets | Postman collection + JavaScript App | This postman collection and sample application helps you understand the Desktop REST APIs available today on Webex Contact Center | [Desktop REST API Sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/desktop-sample/desktop-api-sample) |
| 18 | [audio-widget-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/audio-widget-sample) | Desktop Widgets | Desktop Layout + JavaScript SDK | This is a sample web component widget that shows you how to bring in Audio recording into a Widget on the Webex Contact Center Desktop | [Audio Widget sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/widget-samples/audio-widget-sample) |
## Disclaimer
> These samples are meant to be used, as "samples", for demos, and to understand how to interact with the WebexCC APIs.
> When building a production grade solution, please consider the overall architecture and design with a security first approach.
> Also, please consider how you would extend this app for multiple orgs, manage tokens for the orgs, etc.
> These samples are only meant to provide working, starter code and many layers have been simplified and abstracted away to focus on the Webex Contact Center use cases.
## Support
For dedicated Developer Support on the APIs - Please open a ticket with the team using this link: **[Webex Contact Center Developer Support](https://developer.webex-cx.com/support)**
For discussions on the samples, feel free to participate in our Developer Community:
**[Webex Contact Center APIs Developer Community](https://community.cisco.com/t5/contact-center/bd-p/j-disc-dev-contact-center)**
Refer: **[How to Ask a Question or Initiate a Discussion](https://community.cisco.com/t5/contact-center/webex-contact-center-apis-developer-community-and-support/m-p/4558270)**