Direct from the Cisco DevNet Lisbon Portugal Express event in May 2016. Learn about Cisco DevNet, Spark and Tropo APIs any why there's never been a better time to innovate with Cisco.
DevNet Express - Spark & Tropo API - Lisbon May 2016
1. Stève Sfartz, API evangelist @CiscoDevNet
twitter://@SteveSfartz, github://@ObjectIsAdvantag
DevNet Express Lisbon, May 11th 2016
Catalyzing
Digital Transformations
by leveraging CISCO APIs
2. When the world becomes digital…
Host-to-Host
Communication
WWW
Voice and Video
over IP
Digital Video
and HDTV
Mobile devices
& apps
Social
networking
Digital Transformations 1990-2010
Internet of Things
Big Data &
Real-time
Streaming
Analytics
Software Defined
Networking
Cloud &
Data Center
Digital Convergence
3. Leveraging Cisco APIs examples
Innovations
for the Digital
Business
Internet of Things
Big Data &
Real-time
Streaming
Analytics
Software Defined
Networking
Cloud &
Data Center
Digital Convergence
4. Create Business Impact with Cisco’s CMX
• Presence and location detection
• Visibility (Wi-Fi, Beacons)
• Easy Wi-Fi login, custom or social
• Zone-based, custom splash pages
• App-based mobile engagement
• Context-aware in-venue experiences
Analytics
Detect Connect Engage
5. RetailBanking Hospitality Healthcare
Patron Experience
Streamlined Operations
When a patron enters the bank…
• Signage changes to welcome patron to specific area
of bank
• VIP guest presence is detected and sent to greeters to
extend personal welcome
• Patron banking information is populated on teller’s
screen
Banking Hospitality Retail Healthcare
Real Innovations for the Digital Business
Straight from Customer Conversations
6. Patient Experience
Compliance & Efficiency
When patient’s doctor walks into room…
• Lights turn on
• Patient chart pops up on wall
• Doctor is reminded to sanitize hands upon entering
and leaving
Banking Hospitality Retail Healthcare
Real Innovations for the Digital Business
Straight from Customer Conversations
8. CMX Mobility
Services
Engine APIs
Maps API
• Get Maps
• Get Maps Image
Real Time Location API
• Get Location
• Get Count
Location History API
• Get Location History
• Get Location History Count
Notification API
• NotificationSubscription
• Movement Event
• Presence Event
9. CMX Real Time Location API
/api/location/v2/clients
Complete list of wireless clients
/api/location/v2/clients{?[ipaddress|macAddress|username]}
Location of wireless client with specified id. ID can be MAC
address, IP address, or username
MAC format is
/api/location/v2/clients?macAddress=30:f7:c5:cc:3e:xx
IP address format is
/api/location/v2/clients?ipAddress=10.10.10.10
Username format is
/api/location/v2/clients?username=someUsername
/api/location/v2/clients/count
10. CMX REST API Documentation
https://serverAddress/apidocs/
12. Make Cisco Spark the Place for All Your Work
App Integration Services Spark for Developers
Easily configured integrations in the
Cisco Spark app to unify workstreams
Native Integrations
Connect to other apps in seconds
to automate recurring tasks and
make your life more efficient
Create custom integrations using
Cisco Spark APIs through the Spark
for Developers portal
Built.io
Zapier
IFTTT
developer.ciscospark.com
Easy for users to integrate Cisco Spark with the apps they love
Tools for developers to transform collaboration experiences
14. Mobile Developer
App Developer
Web Developer
Data Developer
“Developers” are implementing the transformation
“Developer” meant
Back-end Engineer
App Developer
SolutionArchitects
Web, Mobile Developer
Today means
Software
Developers
IT/Cloud Architect
System/Network Engineer
DevOps Engineers
IT
Professionals
Business Departments,
Support operations,
DataAnalysts
Power
Users
15. If you are digitizing your organization,
You are a Developer
DevNet will support you in your journey.
Inspire Learn Code
Software Developers IT Professionals Power Users
17. Join DevNet
and get instant
free access to
the whole set of
ressources for
developers
18. Developer Portal
• Dev Centers
• Support Centers
370,000 Members
(April 2016)
Learning labs
Springboards & Sandbox
Hackathons, CodeCamps
DevNet Express
Standards & Open Source
DevNet Zone at Cisco Lives
DevNet Kids, IEEE
Women in
Engineering
API Documentation
Projet Showcases
Forums, Community blogs
19. Meet and learn @Cisco Live / DevNet Zone
• Presentations
• Instructor-driven class rooms
• Demo pods
• On-site Learning Labs
• Pre-event Hackathons
20.
21. Partners and Developer Communities Training
APIs, Coding, Collab, SDN, IoT, Cloud, DevOps
https://developer.cisco.com/site/devnet/events-contests/events/
22. Learn:
attend an event or take a learning lab
Python Coding SpringBoard
101: REST Basics
102: Calling REST APIs from Python
201: Parsing XML
202: Parsing JSON
204: Reading data from a file using Python
205: Writing data to a file using Python
206: How to use the Python logging module
207: Putting it all together.
27. Includes Coding 101 Includes Networking 101
DNA Learning Tracks for
Network Engineers and App Developers
Network Engineers Application Developers
http://developer.cisco.com/networking
28. DNA Learning Tracks for
Data Center and Enterprise Controllers
Data Center Controller Enterprise Controller
http://developer.cisco.com/networking
Learn how to code ACI Learn coding fundamentals
& APIC-EM APIs
31. Recent add-ons
UCCX lab with Finesse
Open SDN Controller,
version 1.2.1
NX-API with VIRL
OpenPlatform NFV
Operator/Attendant
Console IVT
Phone Apps IVT
PaNDA
RESTCONF
7 Sandboxes
Cisco PSIRT openVuln
API
OpenDaylight
OPNFV
Data Virtualization
Spark
Tropo
Flare
Metapod
FXOS Firepower
Cisco Emergency
Responder
Remote Expert Mobile
FireSight (Sourcefire)
Project Shipped
Prime Infrastructure
PaNDA
Open NXOS
15 Technology
35. Signup at developer.cisco.com
Take a learning lab
Meet at an event
Ask for help and help others in DevNet forums
Follow us on Twitter : @CiscoDevNet
Join the DevNet Community !
36. Stève Sfartz, API evangelist @CiscoDevNet
twitter://@SteveSfartz, github://@ObjectIsAdvantag
DevNet Express Lisbon, May 11th 2016
Introduction to
Cisco Spark APIs
37. increase in amount of
information created by 2020
500%
of organizations will offer
mobility to workers by 2020
90%
increase in innovation and
creativity with collaboration
outside the organization
35%
The Way We Work Has Changed
Agile Teams Work From Anywhere Ecosystem Collaboration
to to to
Individuals At a Corporate Desk Internal Interactions
Social Media Today Frost & Sullivan PGi
39. Secure
One Experience
Message Meeting Call
1:1 and team messaging in virtual rooms
Persistent Chat, Content Sharing, Iteration
A Cloud-based phone system plus much more
Make calls within or outside organization via the PSTN
Audio, video, and web meetings
Before/during/after-meeting messaging and content
Cisco Spark
41. Cisco Spark
Open Platform
Common Management
Spark for Developers
User Integrations, APIs/SDKs, etc.
Spark Hybrid Services
Cloud + Prem
Partner Services
Interconnect
Message Meeting Call
42. The New Collaboration Landscape
Powered by APIs that are simple, open, and pay as you go
Embed a
collaboration service
into your offering
Accelerate
time to market
Generate better
business outcomes
Improve employee &
customer satisfaction
Access your
favorite tools
wherever you work
Build customized
solutions
for verticals
- -
Integrate with
your existing
IT management tools
Enables Agile Businesses
43. Cisco Spark for Developers
Make it easy for users to integrate Cisco Spark
with the apps they love and give developers tools
to transform collaboration experiences.
Teams unify
workstreams
in a click
Native
Integrations
Power-users
create their own apps
in minutes
App Integration
Services
Developers accelerate
the value of Spark in
their environments
Platform
APIs / SDKs
44. Who Uses the Integrations and APIs?
-
Developer
Power User
App Integration servicesNative Integration’s
/Rooms
/Memberships/Messages
/Webhooks
/People
45. • Unify workstreams from right
inside the Cisco Spark app with
native integrations
• Instagram, Trello, Pagerduty,
Zendesk, Github
Use Native Integrations or Create Your Own
Screens are for marketing use only and may change in production
47. App Integration Services
Build your own
integrations between
Cisco Spark and the other
apps you love
Use built-in filters
to automate how
content is shared
Platforms that create
connections between
hundreds of apps
51. Send SMS from Spark
/sms +33678007899
“Hi Stève, can you call me back, Rui”
52. ‘Your App’
Now with
Cisco Collab!
Spark APIs
Extend Cisco Collaboration Cloud
GET
POST
DELETE
PUT
/Rooms
/Memberships
/Messages
/Webhooks
/People
53. Cisco Spark API v1
/People /Rooms /Membership /Messages /Webhooks
List People List Rooms List Membership List Messages List Webhooks
Get Person Details Create a Room Create a Membership Create a Message Create a Webhook
Get My Details Get Room Details Get Membership Details Get Message Details Get Webhook Details
Update a Room Update a Membership Update a Webhook
Delete a Room Delete a Membership Delete a Message Delete a Webhook
GET
POST
DELETE
PUT
DELETE DELETE DELETE
PUT PUT
POST POST POST
GET GET GET
GET GET
GET
GET GET
GET
GET
54.
55. Cisco Spark API (create room, send message)
Interactive
documentation
72. Questio
n
Send a Text Message
call("+14155550100",
{network:"SMS"}
);
say("Tag, you’re it!");
73. Asking a Question
var result = ask("What's your favorite color? Choose from
red, blue or green.", {
choices:"red, blue, green"
});
say("You said " + result.value);
log("They said " + result.value);
74. Voicemail Application
record("Leave your message at the beep. Press pound when
finished.", {
beep:true,
timeout:10,
silenceTimeout:7,
maxTime:60,
terminator:'#',
recordFormat:"audio/mp3",
recordURI:"ftp://example.com/1.mp3",
recordUser:"tropocloud",
recordPassword:"password"
}
);
75. Record an Entire Call
startCallRecording("http://example.com/recording.js");
ask("What's your favorite color? Choose from red, blue or green.", {
choices:"red, blue, green"
});
stopCallRecording();
78. Customer Loyalty
In store IVR
Notifications
Satisfaction Surveys “Press 1 if you were satisfied
Status of gift cards, extra coupons, promotions
Confirmation receipts of delivery, order pickups
In store Paging and Notification - “Press for help in electronics”
Branch site flexibility
Appointment Reminders
Use Cases
Retail
Click to Call for Web Leads (auto conference)
Delivery/Operations In store Delivery optimization
79. Hospital, Pharmacy
Home Healthcare
Operations
Patient appointment Reminders
Prescription Re-fill and pickup reminders
Medical lab results outbound IVR
Time of Day Dietary and Exercise Reminders
Daily check-ins “today’s pain level =“, Mental illness check-in
Nurse site visit verifications
Use Cases
Billing record verifications and payments
Health Care
+
Masked Number Medical Consult
80. Customer Loyalty
Customer Interaction
Workforce Optimization
Theme park notifications
Deals, promotions marketing campaigns
Appointment Reminders “ Your Massage is scheduled”
Reservation and Delivery confirmations
“Your Table is ready”
Basic Interactive Voice Response – Press 1 for concierge
Use Cases
Hospitality
Maintenance services to validate job status
Customer Loyalty Surveys
81. Banking
Insurance
2 Factor Authentication
Appointment Reminders, Kiosk integrations
Basic account balance IVR and self service
Proactive notifications – low balance, fraud, account activity
Proactive Notifications – New offers, loan rates, stocks
Extreme Weather Notification Services
Branch Location Flexibility for IVR
Verification of identify for account access
Use Cases
Payment Reminders
Financial Services
82. IOT Sensor Alerting
Customer Loyalty
Escalation of thresholds to sms/voice
Plant status Emergency notifications « plant down, line halt »
Smart Grid power consumption management
Gas tank and gauge thresholds
Use Cases
Proactive outreach of utility spending, surges, planned
downtime
Manufacturing &
Energy
Notifications
Payment Reminders
Remote device status alerts (inbound or outbound)
83. 911 Alerting
Notifications
Reminders
City appointment reminders / take a ticket
Intruder and emergency alerts via Text and Calling to Mobile
Extreme Weather notifications
Use Cases
City – Roadwork, closures, emergencies
Education,
Government
Location tracking and alerts for student locationsTransportation – City Bus Systems
Parent/student information - grades, tardy
Schedule changes school closed, late start days
86. Stève Sfartz, API evangelist @CiscoDevNet
twitter://@SteveSfartz, github://@ObjectIsAdvantag
DevNet Express Lisbon, May 11th 2016
Cisco Spark &Tropo APIs
better together to
solve Business Problems
87. Cisco Collaboration Developer Platforms
Complete
collaboration
solution
Modular
building
blocks
Integrate, extend, and customize Spark
experiences
Cisco Spark
Platform Embed voice and SMS services to enhance
business processes
Tropo
Platform
Our flexible platforms offer businesses a comprehensive set of tools to
extend and embed cloud collaboration services, increasing team productivity
and deepening customer engagement.
Connect people, services and
business processes like never before
Connect people, services and
business processes like never before
88. Complementary Developer Platforms
Complete collaboration service
Building better teams
Subscription-based pricing for enterprise IT feature set
Make Spark experiences even better
API as the product – telephony centric use cases
Vertical business application focus
Pay-as-you-go
Add communications to apps and business processes
Cisco Spark for Devs Tropo Platform
91. “Altocloud creates windows into Spark
rooms so our employees can see what
customers are doing, anticipate their
need, and engage with them at the
right moment to improve customer
business outcomes.”
- Dan Arra, VP Customer Success & Co-Founder
Example: Altocloud
Watch now
Challenges
• Brands need to optimize the customer journey across their
digital platforms
• Users seek on-demand answers and responses when shopping
online but on the device and format of their choosing
Solution
• Use Spark and Tropo APIs to add new communications
capabilities to the Altocloud Customer Engagement platform
• Notify Altocloud users through Tropo voice and SMS when
Altocloud identifies Hot Prospects on their digital properties
• Altocloud users can interact with prospects or customers right
from Cisco Spark rooms
• Prototype created in just a few weeks
92. Example: QWASI
Watch now
Challenges
• Buyers expect more from the brands they love
• Brands are seeking to move from “pray and spray” of the past to
a more relevant and intimate marketing approach
• QWASI’s platform has the intelligence to optimize loyalty
programs but required additional communications capabilities
Solution
• Enable users to program outbound voice and SMS
communications to users at the right time, right device
• Provide the tools to build a simple, yet effective IVR for end
customers to get (and provide) additional information
• Help users provision locally-based phone numbers to improve
trust and relevance with end customers
OPTION 2
“Once we implement a voice API we
don’t have to worry about if it works
with all the existing infrastructure that’s
in place”
- John Wharton, VP Business Development
93. Example: Tagnos
Challenges
• Patient wait times at hospitals are often long
• Hospitals are now rated based on customer experience – long
wait times can hamper this
• The Tagnos tracking system needs to integrate patient data in a
place people can see those data and respond immediately
Solution
• Embed Tropo SMS to send notifications and alerts to hospital
staff when there is an exception to the patient care process
• Enable staff to mediate issues real-time by simply tapping to join
a Cisco Spark room from any device
• Reduce patient wait times in clinical trials
94. Building a Vibrant Developer Community
Join us
Hack-a-thons
• Public/sponsored
• Internal/focused
Workshops
• Change hearts and minds
• Create new devs out of
non-devs
$Innovation
Fund
• Build preference within
the startup ecosystem
• Work with partners to
leverage new solutions in
customer workflows
• New events and audiences
• Inspiring talks &
interactive demos
• Great hospitality
Pop Ups
#SparkHaus
95. • Helping partners develop new
integrations with Spark
• Direct investments in partners
• Adding additional capabilities
into Cisco/Tropo technology
and platform
• Extensive support beyond just
help desk
For more information and to sign up:
https://developer.ciscospark.com/fund/
New $150M Spark Innovation Fund
96. Cisco Developer Platforms Sign Up
Today!
Interactive
Docs
Developer
Portal
SDKs24/7 Dev
Support
https://developer.ciscospark.com/ http://www.tropo.com
97. Development Is Always Free
Register
https://www.tropo.com/register
Experience
http://usecases.tropo.com/
100. Stève Sfartz, API evangelist @CiscoDevNet
twitter://@SteveSfartz, github://@ObjectIsAdvantag
DevNet Express Lisbon, May 11th 2016
Cisco Spark & Tropo
for Power Users
your interactions without coding
101. Cisco Spark
A complete business collaboration service
from the Cisco cloud that enables customers to
message, meet, or call anyone, anywhere, and anytime.
102. Spark App
Less email. More agility. Better teamwork.
Communicate from
where your work lives
105. Make Spark the Place for All Your Work
App Integration Services Spark for Developers
Easily configured integrations in the
Cisco Spark app to unify workstreams
Native Integrations
Connect to other apps in seconds
to automate recurring tasks and
make your life more efficient
Create custom integrations using
Cisco Spark APIs through the Spark
for Developers portal
Built.io
Zapier
IFTTT
developer.ciscospark.com
Easy for users to integrate Cisco Spark with the apps they love
Tools for developers to transform collaboration experiences
108. App Integration Services
Build your own
integrations between
Cisco Spark and the other
apps you love
Use built-in filters
to automate how
content is shared
Platforms that create
connections between
hundreds of apps
110. • Signup at: https://trello.com/
• Launch Cisco Spark Web Client: https://web.ciscospark.com/
• Create a Room
• Advices: Team Room with 2 other YOU, rename to « Trello Integration »
• Select Add integration in the Right pane
• Create or move Cards around in Trello
Hands-on
112. Use Spark to stay up to date
Keep up with Twitter mentions
Your personal productivity tool
113. • Create a Room
• Advices: Team Room with 2 other YOU, rename to « Zapier Integration »
• Signup at: https://zapier.com
• Create a new Zap
• Add a Twitter activity / select Search Mention
• Add your search criteria
@Tropo OR #CiscoSpark OR @CiscoSparkDev OR @CiscoDevNet
Hands-on
114. • Add a Cisco Spark activity / choose Post Message
• Connect your Spark account
• Choose a Spark Room and customize the message
• Run your Zap
Hands-on
Authoring
Assistant
115. • Add a filter to remove Retwitts
• Click on the vertical line to open the Add activity assitant
• Select add a Filter
Hands-on
117. SMS from Cisco Spark with Tropo
/sms +33678007899
“Hi Steve, can you call me ASAP ?
Rui”
118. • Create a Room
• Advices: Team Room with 2 other YOU, rename to « Built.io Integration »
• Signup at: https://flow.built.io
• Create a new Flow
• Go to the settings
• Toogle Webhook « on »
• Copy link
Hands-on
119. Let’s start with a webhook
no secret sauce, it’s just about REST & json
129. SMS from Cisco Spark with Tropo
/sms +33678007899
“Hi Steve, can you call me ASAP ?
Rui”
130. Stève Sfartz, API evangelist @CiscoDevNet
twitter://@SteveSfartz, github://@ObjectIsAdvantag
DevNet Express Lisbon, May 11th 2016
Cisco Spark & Tropo
for developers
code your own interactions
131. Cloud APIs enabling developers to quickly
and easily embed communication capabilities
into their applications and business processes.
132. Simple for Web/App Developers
+
• Ask
• Call
• Conference
• Hang-up
• Record
• Reject
• Say
• Transfer
Sample Footer
133. Sample Code
ask “Thanks for calling. For sales press 1. For support press 2.”, {
:choices => “1,2”,
:onChoice => {
say “A sales person is not available right now” if result.value == 1
say “Support is currently assisting other customers” if result.value == 2
}
}
Sample Footer
134. Option One – Scripting API
Sample Footer
#send_sms.rb
call("+14075550100", { network: "SMS” });
say("Don't forget your meeting at 2 p.m. on Wednesday!");
#Activate by calling URL + Token with HTTP GET/POST
https://api.tropo.com/1.0/sessions?action=create&token=TOKEN
135. Option Two – Web API
13
5
Sample Footer
require 'tropo-webapi-ruby'
require 'sinatra'
post '/index.json' do
t = Tropo::Generator.new
t.call(:to => "+14075550100", :network => "SMS")
t.say(:value => "Tag, you're it!")
t.response
end
137. Hands on
• Create a Tropo account on tropo.com
• Drop your Account ID in the Spark Room and get activated for
Outbound SMS & Calls
• Create a javascript application which send an SMS, add a Canadian
endpoint, invoke via the token URL
• Create a javascript application which responds to incoming calls, add a
local phone number, call the phone number
Sample Footer
138. Cisco Spark
A complete business collaboration service
from the Cisco cloud that enables customers to
message, meet, or call anyone, anywhere, and anytime.
139. Spark App
Less email. More agility. Better teamwork.
Communicate from
where your work lives
142. Make Spark the Place for All Your Work
App Integration Services Spark for Developers
Easily configured integrations in the
Cisco Spark app to unify workstreams
Native Integrations
Connect to other apps in seconds
to automate recurring tasks and
make your life more efficient
Create custom integrations using
Cisco Spark APIs through the Spark
for Developers portal
Built.io
Zapier
IFTTT
developer.ciscospark.com
Easy for users to integrate Cisco Spark with the apps they love
Tools for developers to transform collaboration experiences
146. Hands on
• Connect to the Cisco Spark Developer Portal
• Retrieve your Spark API Token
• Clone the Sparkbot StarterKit or npm install sparkbot-starterkit
• Run the outgoing integration example
• Check documentation
• Install localtunnel
• Run the REST webhook example
• Enhance with your own code
Sample Footer
148. Helping partners develop
new integrations with Spark
Direct investments in
partners
Adding additional
capabilities into Cisco/Tropo
technology and platform
Extensive support beyond
just help desk
For more information or sign up:
https://developer.ciscospark.com/fund/
New $150M Spark Innovation Fund
149. //Cisco/DevNet/SteveSfartz
• API Evangelist @CiscoDevNet
• Tropo & Spark APIs
• code addict, any … but #golang lover
• live in France, all around EMEA
• hosted @PIRL – Paris Innovation Center
• twitter://@SteveSfartz
• github://ObjectIsAdvantag
“vision without
execution is
hallucination”
stsfartz@cisco.com