Join to explore concrete use cases implemented with the Administrative & Serviceability capabilities of Webex Teams (formally Cisco Spark) APIs.
We'll cover how to manage Webex Teams Users but also track Spaces activity through the recently added /events API resource. Moreover, we will dig into the possibilities offered by the xAPI for Webex Teams-registered devices: discover Company Branding, People counting, and how to initiate Video Calls to Webex Teams & SIP addresses.
This session is aimed at Webex Teams Administrators, Compliance Officers, and Cisco Collaboration Endpoints owners.
DEVNET-3610
https://www.ciscolive.com/us/learn/sessions/session-catalog/?search=DEVNET-3610
The same HTTP principles that apply to the Web (HTML page) - apply to Web APIs
Here ‘s what happens when you consume the github API,
More concretely :
you hit an Endpoint (here the host: github.com, port: 443), remember it is what HTTPS defaults to,
the connection is established and the HTTP protocol is used as specified by the scheme,
the resource path /CiscoDevNet is asked for, with a GET method,
the web browser adds an Accept Header to the request because an HTML page is what it expects the server to return
This is the request, now let’s look at the answer :
the github server returns on the same channel a response with the statuts code 200 to tell everything went OK
and it writes the JSON contents on the wire
Now, we got this HTTP intrinsics, we’re ready to place the call over the wire with POSTMAN.
-- ADVANCED
DO : open Chrome, go to github, open Dev Toolbar, show what’s happening
Several resources are being accessed
To different endpoints
And different types of Data are being sent and received.
That’s the way the Web works, we issue HTTP calls, asking for resources.
Then all you need to know to start building calls yourself.
First, let’s start with the methods.
We’ve just experienced GET with the Postman calls.
The 4 major methods are GET / POST / PUT / DELETE
These methods enable HTTP Clients to create / read / update / delete Contents on the Web API Server.
Worth mentionning other methods exists : HEAD, PATCH, OPTIONS, though you probably won’t use them during your first interactions with Web APIS.
Remember Web APIs leverage the HTTP protocol.
Thanks to this various Status Codes, the server tells about the outcome of the request you just placed.
Each status code is composed of 3 digits.
The first digit gives you immediate knowledge about the global outcome of the request.
2, 4 and 5 series are the first to know about.
2xx : everything went fine, consider this code as an Acknoledgment,
200 OK generally, 201 on POST calls when a resource has been created, 204 typically happens for a DELETE (nothing to return)
4xx : you place a malformed call, you need to fix something before re-issuing the call
Typically, 404 bad URL, 400 malformed request, 401 authentication failed, 403 you’re not allowed to issue this call (authorization)
5xx : it is a server error, there’s nothing YOU can do about it, try again later when the Web API team has fixed the issue, look at the Web API twitter account to see if anything is broken, if not contact the Web API support and get your ticket.
Carrets for list of elements,
Braces to describe an element,
Contents can also be nested.
See how JSON entry ‘s got a name which makes it easy to understand what’s received.
Though, the API documentation can help when you’re wondering.
eDiscovery Search and extraction - to search and extract information in Cisco Spark spaces. Compliance administrators can:
search and extract content using users’ email addresses or space ids. Multiple comma-separated email addresses can be provided as input. The hard limit for the number of email addresses is 200, but the aggregate size of the report is limited to 5GB.
provide one or more comma separated keywords of interest when they’re searching. These keywords could be entered by themselves or in combination with an email address or a space id.
provide a time window within which they would like to restrict their search.
view a list of past reports and download them in JSON format. They can then export the reports into the eDiscovery tool of their choice for legal investigation. The reports are stored for 10 days. The size of the report is limited to 5GB.
Flexible Retention Policy Administration - Admin-configurable retention of user-generated content
The administrator can set the retention period for data in Cisco Spark. After this period, all content (files, messages, events) will be purged and irretrievable. The minimum retention period is 1 month. The default retention period is indefinite. The retention period can be set in increments of 1 month. The retention policies apply to all spaces in Cisco Spark
Events API which provides a manual eDiscovery polling of events via the Events API
The Cisco Spark platform exposes Events API. This API can be integrated with DLP software to check for policy violation and take remediation action. Events include posting of messages, files, addition of users to spaces. Remediation action could be alerting the user/admin, deleting the message, etc.
The Events API can be consumed by archival software to archive Cisco Spark data and apply legal hold
To help enlist users, the Cisco Spark app has features that enable enlisting users in the process of DLP. Users are informed about space ownership, retention, and the presence of external participants. Message propagation is controlled via message deletion, read receipts, space locks, and moderator inheritance.
These advanced compliance features require Pro Pack for Cisco Spark Control Hub.
This is the administrators view in Pro Pack for Cisco Spark Control Hub
eDiscovery Search and Extraction require Pro Pack for Cisco Spark Control Hub.
For reports, jq is your friend
data loss prevention (DLP)
cloud access security broker (CASB)
If you have not installed Postman, this is the last call.
Go to getpostman.com,
Now let’s place our HTTP request to github.com
Leave the GET method as is.
Enter the URL of the resource.
Press the Send button
DO : open POSTMAN, issue the call https://github.com/CiscoDevNet
Postman issues the HTTP call on your behalf, and shows the response transmitted by the Github service :
statuts of 200 OK if everything went ok
If you get 404, the URL is malformed
The HTML page contents are placed in the Body
Note that the HTML content-type specified by the server is also displayed
If you encounter an issue, ask for assistance in the Spark room and sending a Snapshot of your work in Postman may be your best bet to get an hand from the team.
A Postman collection regroups a set of API requests
You can save any requests you forge manually into a collection, group several requests and share your collections with Postman
If you need to inject dynamic parameters such as API token you can inject them using the {{ variable }} notation.
Note that it is also possible to share environments with Postman
A Postman collection regroups a set of API requests
You can save any requests you forge manually into a collection, group several requests and share your collections with Postman
If you need to inject dynamic parameters such as API token you can inject them using the {{ variable }} notation.
Note that it is also possible to share environments with Postman