Giter VIP home page Giter VIP logo

webex-contact-center-api-samples's Introduction

Webex Contact Center API Samples

License Contributors Stars

Looking for something?

Please take a look at the Index of all the Samples Below ๐Ÿ‘‡๐Ÿ‘‡

These basic samples will help you understand the Webex Contact Center APIs available today on the Webex Contact Center Developer Portal

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 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
1 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
2 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
3 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
4 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
5 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
6 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
7 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
8 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
9 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
10 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
11 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
12 iframe-widget 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
13 header-widget 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
14 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
15 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
16 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
17 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
18 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

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

For discussions on the samples, feel free to participate in our Developer Community:

Webex Contact Center APIs Developer Community

Refer: How to Ask a Question or Initiate a Discussion

webex-contact-center-api-samples's People

Contributors

adamweeks avatar arubhatt avatar ashjorda avatar dependabot[bot] avatar dstaudt avatar dwfinnegan avatar jiwyatt avatar kekansalcisco avatar nehawuthoo avatar nikogr3 avatar nnagampu avatar shrishailsd avatar vesomise avatar wxcctechsummit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webex-contact-center-api-samples's Issues

Cannot Download the file

Describe the bug
Webex CC recording API add the 'Transcription' attribute.
Due to this enhancement, the model does not match the JSON response.
Then, stop extracting.

Unable to access recordings for extractor

When trying to search for recordings using the extractor, the below error is returned in the terminal.

I have updated to the latest version of the code, but the error is still present. I am only using local file access

ERROR c.w.a.c.controller.WebRestController.getCaptures - Exception:Unrecognized field "callType" (class com.webexcc.api.model.CaptureAttributes), not marked as ignorable (7 known properties: "participants", "filePath", "fileName", "channel1", "startTime", "stopTime", "channel2"])
at [Source: (String)"{"meta":{"orgId":"..............","urlExpiration":30},"data":[{"taskId":"................","recording":[{"id":".............","segment":false,"attributes":{"fileName":"combinedRecordings.wav","filePath":"https://cjp-ccone-prodanz1-media-storage-recording.s3.ap-southeast-2.amazonaws.com/1e00e922-5ec6-4f3b-96a3-348d91288d6d/6dde3c33-b4e9-4edf-b795-cd197e59503d/6dde3c33-b4e9-4edf-b795-cd197e59503d/combinedRecordings.wav?X-Amz-Algorith"[truncated 6788 chars]; line: 1, column: 952] (through reference chain: com.webexcc.api.model.Captures["data"]->java.util.ArrayList[0]->com.webexcc.api.model.Capture["recording"]->java.util.ArrayList[0]->com.webexcc.api.model.Recording["attributes"]->com.webexcc.api.model.CaptureAttributes["callType"])

issues retrieving data from powerbi sample

have compiled the powerbi sample and running locally on my pc.
Webpage loads correctly, logs into webex for first time load and get graphql-sample-java homepage with graphql endpoints. When i load any graphql link i get the following error.
{"Exception" : "401 Unauthorized: [no body]"}

any idea on where to continue troubleshooting for this error?

23-06-2023 12:26:52.002 [http-nio-8080-exec-3] ERROR c.w.a.d.controller.WebRestController.endpointName - Exception
org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 Unauthorized: [no body]
at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:105)
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:186)
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:125)
at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63)
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:819)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:777)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:711)
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:602)
at com.webexcc.api.demo.service.SearchGraphQLService.doSearch(SearchGraphQLService.java:52)
at com.webexcc.api.demo.controller.WebRestController.endpointName(WebRestController.java:184)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.