Build Application (Internal use not for public consumption ) TBD - webex/webex-js-sdk GitHub Wiki
Getting Started Guide
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
Creation of developer account
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
Create a webex account (one time)
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
Creating a webex meeting
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
Login with host account
- 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
Schedule Meeting
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
Guest user creation
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 });
});
}
Joining with SDK
meeting Number ,hostpin, password , access token for guest , sip address
https://developer.webex.com/docs/sdks/browser
Flow diagrams
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
Step 2
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)
Supported Browser
We support all the major browsers on desktop and mobile
Chrome | Firefox | |
---|---|---|
Messaging | 'done' | 'done' |
Meetings | 'done' | 'done' |