Spark APIs
Easily Streamline Workflows by
Integrating Business Messaging into Apps
Darin Dunlap, Senior Product Manager
DEVNET-1074
Disclaimer
The Cisco products, service or features identified in this document may not yet be
available or may not be available in all areas and may be subject to change
without notice. Consult your local Cisco business contact for information on the
products or services available in your area. You can find additional information via
Cisco’s World Wide Web server at http://www.cisco.com. Actual performance and
environmental costs of Cisco products will vary depending on individual customer
configurations and conditions.
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 3
Agenda
• Overview & Value Proposition
• What’s New
• Use Case Example
• API Demo
• Next Steps
The Solution
Cisco Cloud Collaboration Platforms
Complete Modular
Connect people, services and
collaboration building
business processes like never before
solution blocks
Integrate, extend and customize Spark
experiences
Tropo
Platform
Cisco Spark
Platform Embed voice and SMS services to enhance
business processes
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 5
TheFocus
The Solution
of This Presentation
Complete Modular
Connect people, services and
collaboration building
business processes like never before
solution blocks
Integrate, extend and customize Spark
experiences
Tropo
Platform
Cisco Spark
Platform Embed voice and SMS services to enhance
business processes
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 6
Cisco Spark
Cloud Collaboration
Message Meeting Call
Common Management
Application Integration Partner Services Spark Hybrid Services
APIs Interconnect Cloud + On-Prem
Open Platform
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 7
Integration Value Proposition
Enhance Cisco offerings … differentiate & profit
Developers Integrate enterprise-grade collaboration
Ease development & deployment
Increase sales, support and other agile team effectiveness
End Users Automate & streamline workflows
Collaborate in context
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Spark Depot
Cisco Spark Depot
Accelerate Business Outcomes
Instantly
recall what Unify work streams by adding third-party
you did to business tools found in the Cisco Spark
save time Depot from any device
Teams for all
Solve problems faster by
your projects
meeting face-to-face when
and topics
new information requires a
live discussion
Be more efficient when the
work you do in one tool is
seen by the rest of the team
in Cisco Spark.
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 10
Extend and Connect Cisco Spark
From Simple Native Integrations to Custom Development
3rd Party Solution Workflow Connector
Business Users Full Development
Integrations Tools
Spark Depot Custom Full
Packaged Solutions Light Development
Integrations Development
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 11
Cisco Spark for Developers
Developer Portal Interactive Docs
24/7 Dev Support SDKs
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
Spark APIs
People Teams Rooms Memberships Messages Webhooks
Organizations Licenses Roles
Content + Services IT Workflows
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 13
What’s New?
Active
Presence API Teams API Bots
Client SDKs
Enhanced Webhooks Admin APIs (Beta – Web, iOS)
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 14
Use Case Example – Accelerate Loan Processing
Faster
Processing
Team
⬇
More Loans
Processed
Loan System
⬇ Cisco Spark
More €€€
Bot
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 15
Use Case Example – Accelerate Loan Processing
Automation via Bot
1 2 3 4
Assign
New loan to Create Create Integrated
team
process team spaces messaging
members
name team standard assign lender send info
with loan spaces team between loan
number & needed for members to system and
applicant last loan team & relevant
name processing relevant spaces
spaces
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 16
First, Some Notes on Authentication
Bot Authentication User-based Authentication
• Integration acting on its own, an identity in • Integration acting on Spark user’s behalf
a space
• Register an “Integration” via the Spark for
• Register a “Bot” via the Spark for Developers portal (Add via My Apps)
Developers portal (Add via My Apps)
• A Client ID & Client Secret are provided for
• An Access Token is provided, can be
regenerated if needed use by the registered application in an
Oauth flow to obtain an Access Token
• Use the Access Token as the Authorization associated with each user
Bearer
• See Apps & OAuth and the DevNet
• See the DevNet Learning Labs for Spark Learning Labs for Spark
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 17
Bot Registration Demo
Step 1 – Create A Team for A New Loan
POST /teams
Parameter
• Set name to <last
name>-Loan<#>
Response
• id for the team (use
in later steps)
• Confirmation of the
name
• created timestamp
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 19
/teams Demo
Step 2 – Create Standard Rooms for The Loan Team
POST /rooms
Parameters
• Set title to, e.g.
”Application &
Documentation”
• teamId from Step 1
Response
• id for the room (use
in later steps)
• Confirmation of the
title, isLocked,
type, lastActivity,
teamId
• created timestamp
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 21
/rooms Demo
Step 3 – Assign Lender Team Members to Team
POST
/team/memberships
Parameters
• teamId from Step 1
• personEmail for each
team member
• isModerator
(optional)
Response
• id of membership
• Confirmation of
teamId, personId,
personEmail,
personDisplayName,
isModerator
• created timestamp
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
/team/memberships Demo
Step 4 – Assign Lender Team Members to Rooms
POST /memberships
Parameters
• roomId from Step 2
• personEmail for each
relevant team member
• isModerator
(optional)
Response
• id of membership
• Confirmation of
personId,
personEmail, roomId,
personDisplayName,
isModerator
• created timestamp
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 25
/memberships Demo
Step 5 – Send Information into A Room
POST /messages
Parameters
• roomId from Step 2
• markdown &/or text
of the message
• files (optional)
Response
• id of the message
• Confirmation of
roomId, personId,
personEmail, text,
mentionedPeople
• created timestamp
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 27
/messages Demo
Summary & Next Steps
• Cisco has a broad, innovative vision for collaboration development
• Spark APIs, SDKs and integrations are foundational components of Cisco’s
collaboration strategy
• You can start streamlining your messaging workflows today with Spark
• Much more to come!
• Explore the Workshops & Learning Labs here in the DevNet Zone or online
later, e.g. webhooks API
• Start developing integrations using Spark APIs & SDKs –
http://developer.ciscospark.com
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Spark
Ask Questions, Get Answers, Continue the Experience
Use Cisco Spark to communicate with the Speaker and fellow
participants after the session
Download the Cisco Spark app from iTunes or Google Play
1. Go to the Cisco Live Berlin 2017 Mobile app
2. Find this session
3. Click the Spark button under Speakers in the session description
4. Enter the room, room name = DEVNET-1074
5. Join the conversation!
The Spark Room will be open for 2 weeks after Cisco Live
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 30
Related Sessions at Cisco Live Berlin
• DEVNET-1029 • DEVNET-2026
DevNet Workshop: Adding Value to Existing Cisco Spark Voice and Video SDK Overview and Coding
Products with Spark and Tropo Demo
• DEVNET-1056 • DEVNET-2029
DevNet Women in Tech Workshop – Intro to Spark Bots: Building Interactive Collaboration Applications
• DEVNET-1881 • DEVNET-2073
DevNet Workshop: Spark APIs {Spark:Connect} – APIs Configured Wi-Fi Hotspot
• DEVNET-2002 • DEVNET-2080
Coding 102 - REST API Basics using Spark DevNet Workshop: Hands-On with the Latest Spark
API Features
• DEVNET-2021
Spark API Authentication - Bots and Oauth
• DEVNET-2082
DevNet Workshop: Build An Interactive Spark Bot
• DEVNET-2023 Using Gupshup.io’s Bot Hosting Platform
Spark/Tropo - Integration Platforms as a Service:
Real-World Use-Cases • BRKCOL-1014
Custom, Powerful Collaboration Apps the Easy Way:
• DEVNET-2024 Introduction to Spark and the Cisco Collaboration
Spark & Tropo – Integration Platforms as a Service: Cloud APIs and SDKs
Build a Cloud Integration Sample Application
• BRKCOL-2022
Embed Spark SDK in Your App
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 31
Related Sessions at Cisco Live Berlin (cont.)
• CCP-1001 • BRKCOL-1120
Cisco Spark App: What’s New & Next Cisco Spark Hybrid Media Node
• CCSCOL-2002 • BRKCOL-2235
Spark Case Study @ Signa: Cloud Spark Call - Extending Spark with
Adoption for Cloud Skeptics Business-Class Communications
• BRKCOC-1340 • BRKCOL-2322
Inside Cisco IT: Enhancing Business Spark Enabled Video Collaboration
Outcomes through Cisco Spark & The Devices
Digitisation of Collaboration
• BRKCOL-2333
• PSOCOL-4002 Why Spark APIs Are Important to Non-
Evolution of Cisco Spark programmers
• BRKUCC-3001 • BRKSDN-2935
Enabling Seamless Collaboration with From Zero to Network Programmability in
Advanced Session Routing Architectures 90 Minutes – APIC-EM, Prime
and Cisco Spark Infrastructure, UCSD, Spark and Tropo
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 32
Complete Your Online Session Evaluation
• Please complete your Online
Session Evaluations after each
session
• Complete 4 Session Evaluations &
the Overall Conference Evaluation
(available from Thursday) to receive
your Cisco Live T-shirt
• All surveys can be completed via
the Cisco Live Mobile App or the
Don’t forget: Cisco Live sessions will be available
Communication Stations for viewing on-demand after the event at
CiscoLive.com/Online
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 33
Continue Your Education
• Demos in the Cisco campus
• Walk-in Self-Paced Labs
• Lunch & Learn
• Meet the Engineer 1:1 meetings
• Related sessions
DEVNET-1074 © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 34
Q&A
Thank You