SlideShare a Scribd company logo
Stève Sfartz, stsfartz@cisco.com
API Architect, DevNet
DEVNET-2610
Webex APIs
for Administrators
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
/Cisco/DevNet/SteveSfartz
• API Architect at Cisco DevNet
• Working to deliver the greatest API Experience for Cisco’s
developer community
• Lead for Cisco’s API Style Guide aiming for simplicity and
consistency
• Webex Teams & Devices APIs
• Contributor to DevNet Code & Automation Exchange
• postman collections forWebexTeams & DevicesAPIs
• awesome-webex, awesome-xapi
• code samples & dev tools
“vision without
execution is
hallucination”
webex: stsfartz@cisco.com
github: ObjectIsAdvantag
twitter: @SteveSfartz
DEVNET-2610 2
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
• RESTAPI forWebex Administrators
• OAuth deep dive forWebex Administrators
• Cloud xAPI for Webex Devices
• CustomizingWebex Devices
Agenda
DEVNET-2610 3
Webex
Admin APIs
Overview
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
https://admin.webex.com
DEVNET-2610 5
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Webex Admin Sandbox
• Send an email to devsupport@webex.com
from aWebexTrial account: this email address should not have been previously used forWebex.Your home
email address or a web email service is recommended.
Developer support will add your account to the AdminSandbox organization
As your new admin account is created, you will receive an email inviting you to administer the Sandbox
organization. Follow the instructions to complete the activation.
• You are now an admin of the ‘Sandbox’ organization, along with others developers who’ve
been granted access
https://developer.webex.com/docs/api/guides/admin-api/administration-sandbox
DEVNET-2610 6
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Webex API for Administrators
/people
/organizations
s
/roles /licenses /policies
/adminaudit/e
events
/events
List People List Organizations List Roles List Licenses List Policies List Events List Events
Create a Person Create a Policy
Get details Get details Get details Get details Get Details Get Event Details
Update aPerson Update a Policy
Delete a Person Delete a Policy
GET GET GET GET
GET GET GETGET
POST
DELETE
PUT
GET
GET
POST
DELETE
PUT
GET
including Partner Organizations
GET
GET
EFT
compliance
officers
DEVNET-2610 7
Demo
[Webex Admin REST API]
from
Webex Documentation
to
Postman
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Terminology of a REST API query
GET /../repos?page=1 HTTP/1.1 accept: application/json
HTTP 200 OK
browser api.github.com:443
method path protocol
status code
https://api.github.com/users/CiscoDevNet/repos?page=1&per_page=2
headers
URL:
response body
HTTP
request
HTTP
response
api endpoint
JSON payload
parameters
DEVNET-2610 10
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
method url
status codecontent-type
response body
DEVNET-2610 11
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Postman collections forWebex
API Network - postman-webex on DevNet CodeExchange
CHECK all collections for Cisco APIs:
https://explore.postman.com/team/ciscodevnet
DEVNET-2610 12
Demo
[ManagingWebex users with Postman]
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
curl - assigning Licenses toWebex users
• Pick a Person id, Licenses, update the Person with a PUT /people/<id>
DEVNET-2610 14
Demo
[Code Generation]
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
All set ?
https://developer.webex.com/docs/api/v1/licenses/list-licenses
DEVNET-2610 16
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
All set ?
https://developer.webex.com/docs/api/v1/licenses/list-licenses
DEVNET-2610 17
Webex API
AccessTokens
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Testing
Thanks to your developer token, you can invoke
Webex APIs under your own identity
Webex API AccessTokens
 lasts 12 hours
 embeds all your scopes
/!
DEVNET-2610 19
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Admin Roles
• As an administrator, you can assign
roles to individual users
• The same set of permissions applies
when these users invoke the Webex
Admin APIs
DEVNET-2610 20
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Administrator privileges…. to OAuth scopes
DEVNET-2610 21
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Guest Account
For non-Webex users to use Webex Messaging,
Calling and Meeting services
Bot Account
Your code behaves under a machine identity,
identifiable from standard Webex users
Testing
Thanks to your developer token, you can invoke
Webex APIs under your own identity
Integration
Request permissions (OAuth) to invoke Webex APIs
on behalf of another’s user identity
Webex API AccessTokens
DEVNET-2610 22
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-2610 23
Demo
[scoped tokens]
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
OAuth Flow Summary
duittenb
1. Application requests an auth code
redirecting user to Webex  Login  allow access
with a set of OAuth scopes
4. Application receives access token
and refresh token
2. Webex returns the auth code
redirecting user to the Application
3. Request an API access token
from the authorization code, with the granted scopes
Your App
Webex cloud
DEVNET-2610 25
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Register Application: Create
duittenb@cisco.com
duittenb@cisco.com
1
2
3
https://developer.webex.com/apps.html
DEVNET-2610 26
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
duittenb@cisco.com
Register Application: Access Scope
Scopes define the level of
access that your app requires.
This is the list of scopes and
their user-facing descriptions
as shown in the permission
dialog.
4
DEVNET-2610 27
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Register Application: Registered!
duittenb@cisco.com
5
DEVNET-2610 28
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
https://developer.cisco.com/learning/tracks/collab-cloud
DEVNET-2610 29
Webex Devices
Programmability
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
‘Device’ Admin Role at Control Hub
• Manage Places & Devices
DEVNET-2610 31
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
CE and RoomOS
CE
on-premises specific
features
versionned
(ex: 9.6.4, 9.7.1, 9.10…)
RoomOS
cloud-registered devices
specific features
continuous delivery
(via channels)
Cisco Collaboration Endpoint Software
version freeze
DEVNET-2610 32
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
CE and RoomOS
CE
on-premises specific
features
versionned
(ex: 9.6.4, 9.7.1, 9.10…)
RoomOS
cloud-registered devices
specific features
continuous delivery
(via channels)
Cisco Collaboration Endpoint Software
version freeze
xAPI over LAN
for all devices (HTTP,
ssh, websockets)
/xapi RESTAPI
for cloud-registered &
cloud-linked devices
DEVNET-2610 33
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cloud APIs for Webex Devices
/devices /places /xapi
List Devices List Places Query Status
Activation code Create a Place Execute Command
Get details Get Place details
Update a Place
Delete a Device Delete a Place
GET GET GET
GET
POST
DELETE
POST
PUT
DELETE
GET
POST
Associated scopes for Webex
administrators:
• spark-admin:devices_read
• spark-admin:devices_write
• spark-admin:places_read
• spark-admin:places_write
• spark:xapi_statuses
• spark:xapi_commands
DEVNET-2610 34
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Collaboration Devices Programmability
Available on all devices running CE & RoomOS
Room Kit standard, pro, mini
*no Macros on SX10
Complete programmability
DX, Desk Pro
DEVNET-2610 35
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
CE Programmability at a glance
• Automate your devices from
code
• initiate calls, fetch history
• update branding
• room analytics
• Add In-Room Controls to the
Touch10 (or DX) interface
• Enhanced user Experience for your
meetings
• Interact with IoT devices
DEVNET-2610 36
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Personalization via Postman
DEVNET-2610 37
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Personalization: Brand logo (awake) via Postman
Your logo
272x272
Example:
https://www.base64-image.de/
 Turn your image (PNG, 272px272p) to base64 bytes
 Remove heading string (such as ‘data:image/png;base64’)
 Forge XML PUT request in Postman
544523454353
BVHhe7d2/WuJ
MH8b…x4T0W
sNjLI4hCYII=
DEVNET-2610 38
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
CHECK all collections for Cisco APIs:
https://explore.postman.com/team/ciscodevnet
DEVNET-2610 39
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
CE Programmability (xAPI)
configure events
Macros
(JavaScript)
status
command
over ssh,
Websocket,
serial, or
HTTP*
deploy
UI Extensions Editor
Standalone
(JavaScript, Python…)
Touch Interfaces
Detailed in
DEVNET-2071
DEVNET-2610 40
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Deployment strategies
Inject topology and secrets along the CI/CD pipeline
CE device
UI Extensions
Macros
Manifest as ‘admin’
Macro
UIExtensions
DeployInject
Scripts (curl,
python, JS…)
 UI Customizations
(panel names, colors, I18N)
 MacroConfiguration
(secrets, topology)
 Device Configuration
(HttpClient Mode:On)
Git Commit
Devices DB
User Preferences
Secrets
DB &Vault
1 2
/! static
re-run CI/CD as
changes are
needed.
Detailed in
BRKDEV-3244
DEVNET-2610 41
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
CE Programmability &Webex Devices APIs
• Tuesday, 10:00 – ‘Meet DevNet’ podium - DEVNET-3010.f
• Learn how to make Network Automation Simple with theCommunity
• Wednesday, 12:15 – Hall 8, C128 - BRKDEV-3244
• Advanced coding for CiscoVideo devices
• Wednesday, 15:00 – ClassRoom 3 - DEVNET-2071
• CustomizingCisco Collaboration Devices
• Thursday, 10:00 – DevNet Theater - DEVNET-1462
• Webex Room Device APIs (latest features)
• Friday, 11:30 - Hall 8, A103 - BRKCOL-3008
• Customization and Integrations of CiscoVideo Room Devices
DEVNET-2610 42
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
xAPI module at DevNet
https://learninglabs.cisco.com/modules/xapi-intro
DEVNET-2610 43
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
https://developer.cisco.com/site/sandbox/
DEVNET-2610 44
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
DevNet Sandboxes
DVNET-2610 45
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
https://github.com/CiscoDevNet/awesome-xapi
Join the ‘xAPI Devs’Teams
Space
http://bit.ly/join-xapi-devs
DEVNET-2610 46
© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public
Join the #webex4devs
Teams Space
developer.webex.com/support
https://github.com/CiscoDevNet/awesome-webex
DEVNET-2610 47
Learn more about the new DevNet Certifications
and how you can prepare now!
Specialist LevelAssociate Level Professional Level Expert Level
Engineering
Software
Future
Offering
Thank youThank you
Webex APIs for Administrators - CL20B - DEVNET-2610

More Related Content

PPTX
Customizing Cisco Collaboration Devices - CL20B - DEVNET-2071
PPTX
Cisco Spark & Tropo API Workshop
PDF
Jungchan hsiehms learning_transcript
PPTX
Cisco Spark and Tropo and the Programmable Web
PDF
Dmz aa aioug
PDF
Embedding Oracle Weblogic Server 1871199
PPTX
DEVNET-1121 Customizing Cisco Video Access for Guests
KEY
Developing Commercial APEX Applications
Customizing Cisco Collaboration Devices - CL20B - DEVNET-2071
Cisco Spark & Tropo API Workshop
Jungchan hsiehms learning_transcript
Cisco Spark and Tropo and the Programmable Web
Dmz aa aioug
Embedding Oracle Weblogic Server 1871199
DEVNET-1121 Customizing Cisco Video Access for Guests
Developing Commercial APEX Applications

What's hot (19)

PPTX
Coding 102 REST API Basics Using Spark
PDF
Microsofttranscript Jungchanhsieh
PPTX
WAN Automation Engine API Deep Dive
PPTX
Ws08 R2 Itpro Session 2 Technical Overview Part2
PPT
Migrate To Lightning Web Components from Aura framework to increase performance
PPTX
Getting Started: Developing Tropo Applications
PPTX
Win Connections Technical Overview (Harold W)
PPTX
DevNet Express - Spark & Tropo API - Lisbon May 2016
PPTX
WebLogic Developer Experience and Java EE 6
PDF
Ces70 salesforce2 connectorguide
PPTX
An Introduction to Lightning Web Components
PPTX
Cisco's Open Device Programmability Strategy: Open Discussion
PDF
Oracle11i bigip45-dg
PPTX
Revised Adf security in a project centric environment
PDF
.NET Application Modernization with PAS and Azure DevOps
PPTX
Rome 2017: Building advanced voice assistants and chat bots
PPTX
Windows Server 2008 R2 Overview
PPTX
Innovation Vidéo de Lync 2013
PPTX
Install Redis on Oracle Linux
Coding 102 REST API Basics Using Spark
Microsofttranscript Jungchanhsieh
WAN Automation Engine API Deep Dive
Ws08 R2 Itpro Session 2 Technical Overview Part2
Migrate To Lightning Web Components from Aura framework to increase performance
Getting Started: Developing Tropo Applications
Win Connections Technical Overview (Harold W)
DevNet Express - Spark & Tropo API - Lisbon May 2016
WebLogic Developer Experience and Java EE 6
Ces70 salesforce2 connectorguide
An Introduction to Lightning Web Components
Cisco's Open Device Programmability Strategy: Open Discussion
Oracle11i bigip45-dg
Revised Adf security in a project centric environment
.NET Application Modernization with PAS and Azure DevOps
Rome 2017: Building advanced voice assistants and chat bots
Windows Server 2008 R2 Overview
Innovation Vidéo de Lync 2013
Install Redis on Oracle Linux
Ad

Similar to Webex APIs for Administrators - CL20B - DEVNET-2610 (20)

PDF
Webex APIs for Administrators - DEVNET_2610 - Cisco Live 2019
PDF
Webex Devices xAPI - DEVNET_2071 - Cisco Live - San Diego 2019
PPTX
Advanced coding & deployment for Cisco Video Devices - CL20B - DEVNET-3244
PPTX
Webex Teams Widgets Technical Drill down - Cisco Live Orlando 2018 - DEVNET-3891
PPTX
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
PDF
DEVNET-2138 - Managing OpenAPI Documents at Scale - clus24.pdf
PPTX
Webex APIs for Admins - Cisco Live Orlando 2018 - DEVNET-3610
PPTX
Chatbots 101: design, code, deploy - Cisco Live Orlando 2018 - DEVNET-2896
PPTX
DevCon5 (July 2014) - Acision SDK
PPTX
How to Operationalize ThousandEyes and Webex Into Your Escalation Workflows
PDF
Cisco connect montreal 2018 collaboration les services webex hybrides
PPTX
emea_cisco_live_webinar_150623.pptx
PPTX
Javascript Essentials - Cisco Live Barcelona 2019
PDF
Cisco ISE Performance, Scalability and Best Practices.pdf
PPTX
Enterprise Application to Infrastructure Integration -- SDN Apps
PDF
Dlbpos 20
PPTX
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
PDF
Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
PDF
How to Transform Your Workplace with Hybrid Collaboration
PDF
Light-up-your-out-of-the-box LightSwitch Application
Webex APIs for Administrators - DEVNET_2610 - Cisco Live 2019
Webex Devices xAPI - DEVNET_2071 - Cisco Live - San Diego 2019
Advanced coding & deployment for Cisco Video Devices - CL20B - DEVNET-3244
Webex Teams Widgets Technical Drill down - Cisco Live Orlando 2018 - DEVNET-3891
Integrated, Automated Video Room Systems - Webex Devices - Cisco Live Orlando...
DEVNET-2138 - Managing OpenAPI Documents at Scale - clus24.pdf
Webex APIs for Admins - Cisco Live Orlando 2018 - DEVNET-3610
Chatbots 101: design, code, deploy - Cisco Live Orlando 2018 - DEVNET-2896
DevCon5 (July 2014) - Acision SDK
How to Operationalize ThousandEyes and Webex Into Your Escalation Workflows
Cisco connect montreal 2018 collaboration les services webex hybrides
emea_cisco_live_webinar_150623.pptx
Javascript Essentials - Cisco Live Barcelona 2019
Cisco ISE Performance, Scalability and Best Practices.pdf
Enterprise Application to Infrastructure Integration -- SDN Apps
Dlbpos 20
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
How to Transform Your Workplace with Hybrid Collaboration
Light-up-your-out-of-the-box LightSwitch Application
Ad

More from Cisco DevNet (20)

PPTX
18 facets of the OpenAPI specification - Cisco Live US 2023
PDF
The 12 facets of the OpenAPI standard.pdf
PPTX
the 12 facets of OpenAPI
PDF
when Apps meet Infrastructure - CodeMotionMilan2018 Keynote - Cisco DevNet - ...
PPTX
Meeting rooms are talking. Are you listening
PPTX
DevNetCreate Workshop - build a react app - React crash course
PPTX
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
PPTX
Meeting rooms are talking! are you listening?
PDF
Emulators as an Emerging Best Practice for API Providers
PPTX
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...
PPTX
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
PPTX
Embedding Messages and Video Calls in your apps
PPTX
BotCommons: Metadata for Bots - Devoxx 2017
PPTX
Breizhcamp: Créer un bot, pas si simple. Faisons le point.
PPTX
Phone Communications in Javascript with Tropo Serverless
PPTX
Hackathon Poste Mobile 2016 Cisco Roma @TAG TalentGardenIT
PPTX
From ZERO to REST in an hour
PPTX
building microservices
PPTX
An introduction to Microservices
PPTX
RESTful web APIs (build, document, manage)
18 facets of the OpenAPI specification - Cisco Live US 2023
The 12 facets of the OpenAPI standard.pdf
the 12 facets of OpenAPI
when Apps meet Infrastructure - CodeMotionMilan2018 Keynote - Cisco DevNet - ...
Meeting rooms are talking. Are you listening
DevNetCreate Workshop - build a react app - React crash course
Advanced Postman for Better APIs - Web Summit 2018 - Cisco DevNet
Meeting rooms are talking! are you listening?
Emulators as an Emerging Best Practice for API Providers
Microservices & Serverless Architecture Principles Applied - Cisco Live Orlan...
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Embedding Messages and Video Calls in your apps
BotCommons: Metadata for Bots - Devoxx 2017
Breizhcamp: Créer un bot, pas si simple. Faisons le point.
Phone Communications in Javascript with Tropo Serverless
Hackathon Poste Mobile 2016 Cisco Roma @TAG TalentGardenIT
From ZERO to REST in an hour
building microservices
An introduction to Microservices
RESTful web APIs (build, document, manage)

Recently uploaded (20)

PPTX
sap open course for s4hana steps from ECC to s4
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Electronic commerce courselecture one. Pdf
PDF
KodekX | Application Modernization Development
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
sap open course for s4hana steps from ECC to s4
The AUB Centre for AI in Media Proposal.docx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Weekly Chronicles - August'25 Week I
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Spectroscopy.pptx food analysis technology
Review of recent advances in non-invasive hemoglobin estimation
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Electronic commerce courselecture one. Pdf
KodekX | Application Modernization Development
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Empathic Computing: Creating Shared Understanding
Building Integrated photovoltaic BIPV_UPV.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Chapter 3 Spatial Domain Image Processing.pdf
Big Data Technologies - Introduction.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Webex APIs for Administrators - CL20B - DEVNET-2610

  • 1. Stève Sfartz, stsfartz@cisco.com API Architect, DevNet DEVNET-2610 Webex APIs for Administrators
  • 2. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public /Cisco/DevNet/SteveSfartz • API Architect at Cisco DevNet • Working to deliver the greatest API Experience for Cisco’s developer community • Lead for Cisco’s API Style Guide aiming for simplicity and consistency • Webex Teams & Devices APIs • Contributor to DevNet Code & Automation Exchange • postman collections forWebexTeams & DevicesAPIs • awesome-webex, awesome-xapi • code samples & dev tools “vision without execution is hallucination” webex: stsfartz@cisco.com github: ObjectIsAdvantag twitter: @SteveSfartz DEVNET-2610 2
  • 3. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public • RESTAPI forWebex Administrators • OAuth deep dive forWebex Administrators • Cloud xAPI for Webex Devices • CustomizingWebex Devices Agenda DEVNET-2610 3
  • 5. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public https://admin.webex.com DEVNET-2610 5
  • 6. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Webex Admin Sandbox • Send an email to devsupport@webex.com from aWebexTrial account: this email address should not have been previously used forWebex.Your home email address or a web email service is recommended. Developer support will add your account to the AdminSandbox organization As your new admin account is created, you will receive an email inviting you to administer the Sandbox organization. Follow the instructions to complete the activation. • You are now an admin of the ‘Sandbox’ organization, along with others developers who’ve been granted access https://developer.webex.com/docs/api/guides/admin-api/administration-sandbox DEVNET-2610 6
  • 7. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Webex API for Administrators /people /organizations s /roles /licenses /policies /adminaudit/e events /events List People List Organizations List Roles List Licenses List Policies List Events List Events Create a Person Create a Policy Get details Get details Get details Get details Get Details Get Event Details Update aPerson Update a Policy Delete a Person Delete a Policy GET GET GET GET GET GET GETGET POST DELETE PUT GET GET POST DELETE PUT GET including Partner Organizations GET GET EFT compliance officers DEVNET-2610 7
  • 10. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Terminology of a REST API query GET /../repos?page=1 HTTP/1.1 accept: application/json HTTP 200 OK browser api.github.com:443 method path protocol status code https://api.github.com/users/CiscoDevNet/repos?page=1&per_page=2 headers URL: response body HTTP request HTTP response api endpoint JSON payload parameters DEVNET-2610 10
  • 11. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public method url status codecontent-type response body DEVNET-2610 11
  • 12. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Postman collections forWebex API Network - postman-webex on DevNet CodeExchange CHECK all collections for Cisco APIs: https://explore.postman.com/team/ciscodevnet DEVNET-2610 12
  • 14. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public curl - assigning Licenses toWebex users • Pick a Person id, Licenses, update the Person with a PUT /people/<id> DEVNET-2610 14
  • 16. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public All set ? https://developer.webex.com/docs/api/v1/licenses/list-licenses DEVNET-2610 16
  • 17. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public All set ? https://developer.webex.com/docs/api/v1/licenses/list-licenses DEVNET-2610 17
  • 19. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Testing Thanks to your developer token, you can invoke Webex APIs under your own identity Webex API AccessTokens  lasts 12 hours  embeds all your scopes /! DEVNET-2610 19
  • 20. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Admin Roles • As an administrator, you can assign roles to individual users • The same set of permissions applies when these users invoke the Webex Admin APIs DEVNET-2610 20
  • 21. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Administrator privileges…. to OAuth scopes DEVNET-2610 21
  • 22. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Guest Account For non-Webex users to use Webex Messaging, Calling and Meeting services Bot Account Your code behaves under a machine identity, identifiable from standard Webex users Testing Thanks to your developer token, you can invoke Webex APIs under your own identity Integration Request permissions (OAuth) to invoke Webex APIs on behalf of another’s user identity Webex API AccessTokens DEVNET-2610 22
  • 23. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-2610 23
  • 25. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public OAuth Flow Summary duittenb 1. Application requests an auth code redirecting user to Webex  Login  allow access with a set of OAuth scopes 4. Application receives access token and refresh token 2. Webex returns the auth code redirecting user to the Application 3. Request an API access token from the authorization code, with the granted scopes Your App Webex cloud DEVNET-2610 25
  • 26. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Register Application: Create duittenb@cisco.com duittenb@cisco.com 1 2 3 https://developer.webex.com/apps.html DEVNET-2610 26
  • 27. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public duittenb@cisco.com Register Application: Access Scope Scopes define the level of access that your app requires. This is the list of scopes and their user-facing descriptions as shown in the permission dialog. 4 DEVNET-2610 27
  • 28. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Register Application: Registered! duittenb@cisco.com 5 DEVNET-2610 28
  • 29. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public https://developer.cisco.com/learning/tracks/collab-cloud DEVNET-2610 29
  • 31. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public ‘Device’ Admin Role at Control Hub • Manage Places & Devices DEVNET-2610 31
  • 32. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public CE and RoomOS CE on-premises specific features versionned (ex: 9.6.4, 9.7.1, 9.10…) RoomOS cloud-registered devices specific features continuous delivery (via channels) Cisco Collaboration Endpoint Software version freeze DEVNET-2610 32
  • 33. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public CE and RoomOS CE on-premises specific features versionned (ex: 9.6.4, 9.7.1, 9.10…) RoomOS cloud-registered devices specific features continuous delivery (via channels) Cisco Collaboration Endpoint Software version freeze xAPI over LAN for all devices (HTTP, ssh, websockets) /xapi RESTAPI for cloud-registered & cloud-linked devices DEVNET-2610 33
  • 34. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Cloud APIs for Webex Devices /devices /places /xapi List Devices List Places Query Status Activation code Create a Place Execute Command Get details Get Place details Update a Place Delete a Device Delete a Place GET GET GET GET POST DELETE POST PUT DELETE GET POST Associated scopes for Webex administrators: • spark-admin:devices_read • spark-admin:devices_write • spark-admin:places_read • spark-admin:places_write • spark:xapi_statuses • spark:xapi_commands DEVNET-2610 34
  • 35. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Cisco Collaboration Devices Programmability Available on all devices running CE & RoomOS Room Kit standard, pro, mini *no Macros on SX10 Complete programmability DX, Desk Pro DEVNET-2610 35
  • 36. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public CE Programmability at a glance • Automate your devices from code • initiate calls, fetch history • update branding • room analytics • Add In-Room Controls to the Touch10 (or DX) interface • Enhanced user Experience for your meetings • Interact with IoT devices DEVNET-2610 36
  • 37. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Personalization via Postman DEVNET-2610 37
  • 38. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Personalization: Brand logo (awake) via Postman Your logo 272x272 Example: https://www.base64-image.de/  Turn your image (PNG, 272px272p) to base64 bytes  Remove heading string (such as ‘data:image/png;base64’)  Forge XML PUT request in Postman 544523454353 BVHhe7d2/WuJ MH8b…x4T0W sNjLI4hCYII= DEVNET-2610 38
  • 39. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public CHECK all collections for Cisco APIs: https://explore.postman.com/team/ciscodevnet DEVNET-2610 39
  • 40. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public CE Programmability (xAPI) configure events Macros (JavaScript) status command over ssh, Websocket, serial, or HTTP* deploy UI Extensions Editor Standalone (JavaScript, Python…) Touch Interfaces Detailed in DEVNET-2071 DEVNET-2610 40
  • 41. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Deployment strategies Inject topology and secrets along the CI/CD pipeline CE device UI Extensions Macros Manifest as ‘admin’ Macro UIExtensions DeployInject Scripts (curl, python, JS…)  UI Customizations (panel names, colors, I18N)  MacroConfiguration (secrets, topology)  Device Configuration (HttpClient Mode:On) Git Commit Devices DB User Preferences Secrets DB &Vault 1 2 /! static re-run CI/CD as changes are needed. Detailed in BRKDEV-3244 DEVNET-2610 41
  • 42. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public CE Programmability &Webex Devices APIs • Tuesday, 10:00 – ‘Meet DevNet’ podium - DEVNET-3010.f • Learn how to make Network Automation Simple with theCommunity • Wednesday, 12:15 – Hall 8, C128 - BRKDEV-3244 • Advanced coding for CiscoVideo devices • Wednesday, 15:00 – ClassRoom 3 - DEVNET-2071 • CustomizingCisco Collaboration Devices • Thursday, 10:00 – DevNet Theater - DEVNET-1462 • Webex Room Device APIs (latest features) • Friday, 11:30 - Hall 8, A103 - BRKCOL-3008 • Customization and Integrations of CiscoVideo Room Devices DEVNET-2610 42
  • 43. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public xAPI module at DevNet https://learninglabs.cisco.com/modules/xapi-intro DEVNET-2610 43
  • 44. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public https://developer.cisco.com/site/sandbox/ DEVNET-2610 44
  • 45. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public DevNet Sandboxes DVNET-2610 45
  • 46. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public https://github.com/CiscoDevNet/awesome-xapi Join the ‘xAPI Devs’Teams Space http://bit.ly/join-xapi-devs DEVNET-2610 46
  • 47. © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public Join the #webex4devs Teams Space developer.webex.com/support https://github.com/CiscoDevNet/awesome-webex DEVNET-2610 47
  • 48. Learn more about the new DevNet Certifications and how you can prepare now! Specialist LevelAssociate Level Professional Level Expert Level Engineering Software Future Offering