-
Notifications
You must be signed in to change notification settings - Fork 346
Build Application (Internal use not for public consumption ) TBD
This doc explains how a 3rd party developer can integrate webex into there application.
Here are the basic concepts on meetings which we need to understand to build an application
- Meetings
- Meeting Host
- Guest Users
This step requires a developer to create a developer account this step is necessary to create a application with specific scope and in return you get back ClientID and ClientSecret https://developer.webex.com/docs/integrations
In this step we will need to create a webex account https://www.webex.com/manage/myaccount/index.html
Add at least one host account whose credentials we will use to create meeting in the further step you will need a userName or password
- You can use the same email address for the host account and the developer account if needed
Its strongly recommended to create a webex meeting on the application server backend by doing this you will have full control over the meeting and trigger various api calls on the server side
- If using the same email address use the token from here https://developer.webex.com/docs/getting-started
- If its a different user then the host license then use https://developer.webex.com/docs/login-with-webex#supported-oauth-and-openid-connect-flows
The below api allows you to schedule meetings you will need a host account to do so if you want to invite other users you could add them to the invite https://developer.webex.com/docs/api/v1/meetings/create-a-meeting
Make sure you copy the host pin , password and meetingId , sip address we will need this information for the guest to join
For creating guest users you will need to go to guest issuer and create a guest issuer token https://developer.webex.com/docs/guest-issuer
using the app ID and secret you should be able to create guest token and use those guest tokens to join the meeting via the SDK
const jwt = require('jsonwebtoken');
export default function handler(req, res) {
const query = req.query;
const { name } = query;
const payload = {
sub: 'guest-user-7349',
name: name,
iss: process.env.GUEST_ID,
};
const token = jwt.sign(
payload,
Buffer.from(process.env.GUEST_SECRETE, 'base64'),
{ expiresIn: '1h' }
);
fetch('https://webexapis.com/v1/jwt/login', {
headers: {
Authorization: 'Bearer ' + token,
},
method: 'POST',
})
.then((response) => {
return response.json();
})
.then((response) => {
res.status(200).json({ token: response.token });
});
}
meeting Number ,hostpin, password , access token for guest , sip address
https://developer.webex.com/docs/sdks/browser
You can render UML diagrams using Mermaid. For example, this will produce a sequence diagram:
sequenceDiagram
participant D as DevPortal
participant A as App Developer
participant C as Webex Site
A->>D: create a integration App
D->>A: (clientID and clientSecret)
A->>D: create a guest Issues
D->>A: (Guest issuer ID and Secret)
A->>C: create a webex account
A->>C: add users with host license
sequenceDiagram
participant A as App Server
participant W as Webex Server
A->>W:Request for access token (UserToken)
W->>A:token to create meeting
A->>W:schedule webex meeting
W->>A:meeting ID, hostPin , password, sipAddress
A->>W:Create guest accessToken(clientID, secret)
W->>A: access Token for guest
A->>A: GeneratLink for client (sipAddress, password)
We support all the major browsers on desktop and mobile
Chrome | Firefox | |
---|---|---|
Messaging | 'done' | 'done' |
Meetings | 'done' | 'done' |
Caution
- Introducing the Webex Web Calling SDK
- Core Concepts
- Quickstart guide
- Authorization
- Basic Features
- Advanced Features
- Introduction
- Quickstart Guide
- Basic Features
- Advanced Features
- Multistream
- Migrating SDK version 1 or 2 to version 3