Tessa Mero gave a presentation on consuming REST APIs at the MadisonPHP Conference on October 1st, 2016. She discussed what APIs are and how they allow communication between software applications. She demonstrated making requests to the Cisco Spark and Tropo APIs, showing how to get data, create resources, and interact with phones through their API documentation and tools like Postman. The presentation highlighted the importance of APIs and encouraged attendees to experiment with APIs.
Who: Alex Singer @alexjsinger
Date: August 1, 2016
Event: Girls Who Code Boston
This presentation covers the basics of what a REST API is, why and when it's used, and how to think about API design. It was delivered to ~20 students participating in Girls Who Code at the Boston Twitter office over the summer. The age ranges were between 15-16 years old.
API Prefetching - HTML5DevConf - Oct. 21, 2014JonAbrams
Single page apps and Front-end rendering are all the rage. They have a lot of benefits, but one major downside is the need to make an API call once the page is first loaded. This presentation shows off a trick (and library) to easily fix that problem, regardless of front-end framework.
Strong software testing process is a key to project success. This presentation helps to understand better how to improve the process by automating routine API endpoints testing.
Using git as a data store to create a cache for data which:
* Is versioned
* Supports common file operations (diff, log)
* Is very fast
Great for slow backend systems where the metadata is valuable by itself...
Who: Alex Singer @alexjsinger
Date: August 1, 2016
Event: Girls Who Code Boston
This presentation covers the basics of what a REST API is, why and when it's used, and how to think about API design. It was delivered to ~20 students participating in Girls Who Code at the Boston Twitter office over the summer. The age ranges were between 15-16 years old.
API Prefetching - HTML5DevConf - Oct. 21, 2014JonAbrams
Single page apps and Front-end rendering are all the rage. They have a lot of benefits, but one major downside is the need to make an API call once the page is first loaded. This presentation shows off a trick (and library) to easily fix that problem, regardless of front-end framework.
Strong software testing process is a key to project success. This presentation helps to understand better how to improve the process by automating routine API endpoints testing.
Using git as a data store to create a cache for data which:
* Is versioned
* Supports common file operations (diff, log)
* Is very fast
Great for slow backend systems where the metadata is valuable by itself...
An Introduction To Automated API TestingSauce Labs
As more and more apps are being assembled from a rapidly expanding array of microservices, APIs are the key to accessing these new architectures. That new feature you’re working on will often rely on upstream services that can only be accessed via APIs - so to test the functionality of the new component you’ll need to simulate those services.
While APIs are the backbone of the websites and apps we rely on today, automated testing of them is only starting to grow. Join Patrick Poulin, CEO of API Fortress, as he provides an introduction to API testing, the best ways to test your own APIs using popular tools available today, and demonstrates the orchestration of API tests and Sauce Labs tests as part of a Jenkins build process.
Key takeaways:
-Clearly understand what API testing means.
-Learn about best practices.
-See demonstrations of popular testing tools.
-See API and UI/UX testing implemented as part of a Jenkins build.
Due to the popular of Smart Phone application recently, Single Page Application (SPA) model has been the trend for Web application development and is taking place of the traditional MVC model. Web API is the key factor of the shift from SPA model to MVC model. For that reason, test automation is expected to shift left to get feedback as soon as possible, and Web API testing has become more and more important. The talk will discuss:
- What is Web API? How SOAP is different from REST APIs
API test and its checkpoints
- How Frisby makes testing REST API endpoints easy, fast, and fun in the world of Node.js
What is it that turns an ordinary API into a great API? This talk from OSCON 2012 outlines the 5 "keys" to having a great API. Lots of examples from successful real-world APIs are used to highlight what matters. Also, this talk reveals 7 lesser known but very important "API secrets".
API Testing: The heart of functional testing" with Bj RollisonTEST Huddle
View webinar: http://www.eurostarconferences.com/community/member/webinar-archive/webinar-81-api-testing-the-heart-of-functional-testing
An API, or Application Programming Interface, is a collection of functions that provide much of the functional capabilities in complex software systems. Most customers are accustomed to interacting with a graphical user interface on the computer. But, many customers do not realize the much of the functionality of a program comes from APIs in the operating system or program's dynamic-link libraries (DLL). So, if the business logic or core functionality is exposed via an API call then and if we want to find functional bugs sooner than API testing may be an approach that provides additional value in your overall test strategy. Additionally, API testing can start even before the user interface is complete so functional capabilities can be tested while designers are hashing out the "look and feel." API testing will not replace testing through the user interface, but it can augment your test strategy and provide a solid foundation of automated tests that increase your confidence in the functional quality of your product.
API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security.
A presentation about webfont services and how to stop using the same old 15 web-safe fonts we've been using for two decades. Examples from four webfont providers: FontSquirrel, Google Font API, Typekit, and Extensis WebINK. Includes implementation details.
API Testing: Answers to Your Top 3 QuestionsQASource
Want more? Visit our official blog, QALounge.com! Brought to you by QASource.com.
Pursuing API testing or API test automation for your product? Our engineers have answers to the top 3 questions about API automation testing in this slide deck.
This is my initial release of a slide deck used to support a quick training to students on Facebook and Twitter API. A lot of stuff would need to be fixed (my english first as a non-native writer :-). It also does not (yet?) cover all APIs.
This support is better with associated resources such as the underlying Postman request collections.
Please feel free to give feedback if any.
An introduction to the CSS Flexible Box Layout Module. Presented at the December 2016 meeting of the DublinCSS group - https://www.meetup.com/DublinCSS/events/233315123/
An Introduction To Automated API TestingSauce Labs
As more and more apps are being assembled from a rapidly expanding array of microservices, APIs are the key to accessing these new architectures. That new feature you’re working on will often rely on upstream services that can only be accessed via APIs - so to test the functionality of the new component you’ll need to simulate those services.
While APIs are the backbone of the websites and apps we rely on today, automated testing of them is only starting to grow. Join Patrick Poulin, CEO of API Fortress, as he provides an introduction to API testing, the best ways to test your own APIs using popular tools available today, and demonstrates the orchestration of API tests and Sauce Labs tests as part of a Jenkins build process.
Key takeaways:
-Clearly understand what API testing means.
-Learn about best practices.
-See demonstrations of popular testing tools.
-See API and UI/UX testing implemented as part of a Jenkins build.
Due to the popular of Smart Phone application recently, Single Page Application (SPA) model has been the trend for Web application development and is taking place of the traditional MVC model. Web API is the key factor of the shift from SPA model to MVC model. For that reason, test automation is expected to shift left to get feedback as soon as possible, and Web API testing has become more and more important. The talk will discuss:
- What is Web API? How SOAP is different from REST APIs
API test and its checkpoints
- How Frisby makes testing REST API endpoints easy, fast, and fun in the world of Node.js
What is it that turns an ordinary API into a great API? This talk from OSCON 2012 outlines the 5 "keys" to having a great API. Lots of examples from successful real-world APIs are used to highlight what matters. Also, this talk reveals 7 lesser known but very important "API secrets".
API Testing: The heart of functional testing" with Bj RollisonTEST Huddle
View webinar: http://www.eurostarconferences.com/community/member/webinar-archive/webinar-81-api-testing-the-heart-of-functional-testing
An API, or Application Programming Interface, is a collection of functions that provide much of the functional capabilities in complex software systems. Most customers are accustomed to interacting with a graphical user interface on the computer. But, many customers do not realize the much of the functionality of a program comes from APIs in the operating system or program's dynamic-link libraries (DLL). So, if the business logic or core functionality is exposed via an API call then and if we want to find functional bugs sooner than API testing may be an approach that provides additional value in your overall test strategy. Additionally, API testing can start even before the user interface is complete so functional capabilities can be tested while designers are hashing out the "look and feel." API testing will not replace testing through the user interface, but it can augment your test strategy and provide a solid foundation of automated tests that increase your confidence in the functional quality of your product.
API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security.
A presentation about webfont services and how to stop using the same old 15 web-safe fonts we've been using for two decades. Examples from four webfont providers: FontSquirrel, Google Font API, Typekit, and Extensis WebINK. Includes implementation details.
API Testing: Answers to Your Top 3 QuestionsQASource
Want more? Visit our official blog, QALounge.com! Brought to you by QASource.com.
Pursuing API testing or API test automation for your product? Our engineers have answers to the top 3 questions about API automation testing in this slide deck.
This is my initial release of a slide deck used to support a quick training to students on Facebook and Twitter API. A lot of stuff would need to be fixed (my english first as a non-native writer :-). It also does not (yet?) cover all APIs.
This support is better with associated resources such as the underlying Postman request collections.
Please feel free to give feedback if any.
An introduction to the CSS Flexible Box Layout Module. Presented at the December 2016 meeting of the DublinCSS group - https://www.meetup.com/DublinCSS/events/233315123/
How to create discussion topics for your facebook group (Infographic)Stéphane Baudin
Facebook Group Discussion Topic is a useful tool to archive your group posts by topics and your group members can find easily contents by topic. This article will show you how to create group discussion topic.
In the below slides I have summarised which are to me the main ideas (philosophies) being put forward by Luciano Floridi in his book “The 4th Revolution – How the infosphere is reshaping human reality”. A book putting the informational transition into perspective and containing a wealth of information, a must read.
Exceptions are inevitable. But does your struggle against them have to be?sharedserviceslink.com
Struggling with resolving exceptions such as missing or incorrect purchase receipts, inaccurate POs, inconsistent invoice details or misrouted invoices?
In this session, Simplot share their strategy for avoiding a high cost of re-work in handling exceptions, covering how to:
- Prevent exceptions from re-occuring in the future
- Implement key workflow technologies and hear Simplot’s key results from this combined strategy
Het netwerkeffect - ondernemen in tijden van disruptieETION
We leven in een netwerksamenleving. Niet enkel mensen, maar ook gebruikstoestellen en organisaties zijn in toenemende mate met elkaar verbonden in complexe, constant veranderende netwerken.
Deze vernetwerking heeft een diepgaande invloed op het functioneren en succes van ondernemingen.
Hyperconnectie leidt tot hyperconcurrentie. Nieuwe zogenaamde ‘disruptieve’ innovaties hertekenen uit het niets hele markten en bedreigen de jarenlang opgebouwde waarde van traditionele spelers.
Waar komt die tendens vandaan? Wat kunnen we leren uit het functioneren van netwerken? En hoe kunnen organisaties zich heruitvinden om te floreren in een netwerkeconomie?
De jongste VKW-beleidsnota gaat hier dieper op in. Lees de volledige nota op: http://www.vkw.be/kennisbank/het-netwerkeffect-leven-tijden-van-disruptie
Behavior driven development - Deliver Value by CollaborationNaveen Kumar Singh
BDD, Specification By Examples, User Story Mapping, Impact Mapping. Presentation cover starting from Product Vision till Product Increment and living document. Behavior Driven Development using Gherkin, Cucumber, Java and Junit
Ch 8: Desktop and Server OS VulnerabilitesSam Bowne
Slides for a college course at City College San Francisco. Based on "Hands-On Ethical Hacking and Network Defense, Third Edition" by Michael T. Simpson, Kent Backman, and James Corley -- ISBN: 9781285454610.
Instructor: Sam Bowne
Class website: https://samsclass.info/123/123_S17.shtml
Building A Great API - Evan Cooke, Cloudstock, December 2010Twilio Inc
Tips and tricks on how to design, package, and build a great API. We summarize some of the lessons we've learned over the years at Twilio designing and operating Voice and SMS APIs used by more then 20,000 developers.
Applications increasingly talk to each other behind the scenes via APIs. Google’s recent acquisition of Apigee, an API management company, is an indicator of the continued importance of APIs. APIs are like building blocks, providing services and data that can be connected with other APIs to build powerful customized apps. However, developing and testing an API can be challenging because there is no built-in interface, breaking changes can cause widespread outages, sensitive data may be exposed or accessed, and accepted agile testing paradigms can be difficult to adapt to APIs. This session is an introduction to restful APIs and how to test them for security, performance, functionality, and backwards-compatibility risks.
Building a Great Web API - Evan Cooke - QCON 2011Twilio Inc
This presentation explores how fast signup, a clear value proposition, efficient quick starts, concise documentation, easy authentication and debugability are common attributes of many successful web APIs. The Twilio API is used as an example of how a focus on developer experience helps drive API adoption.
Since the beginning of software, we have bundled frequently-used functionality into libraries -- both our own, and those created by third parties. APIs tell software developers how to use a library, and make it possible for developers to treat libraries as black boxes, considering only what the library does, not how it does it.
Today, as software moves increasingly to the Web, APIs and libraries are also moving to the Web. This means that you can now outsource, by means of Web APIs, a huge amount of your application's functionality.
What does this mean for software developers? What does this mean for the future of software development? In this talk, I describe the past, present, and future of APIs, and how I believe the Web is changing the landscape.
APIs and API-first strategies are quickly becoming important for software product companies. These slides are from a lightning talk discussing why developer experience should be your #1 concern when launching a web API, and how everyone on your team can contribute to the process through the practice of API modeling.
Coding 100 session that took place a week before the Coding Camp, Berlin event (13-14 Feb 2016), to teach people to code!
See http://hackathon.cisco.com/event/codingcamp-Berlin-2016 for the Coding Camp event
Making Hacker’s Life Easier at Hackathons (3scale at Barcelona MusicHackDays)3scale
This is Manfred's talk (+ demo) entitled "Making Hacker’s Life Easier at Hackathons" where he presented APItools.com and how it can be used at hackathons to be more efficient and quicker.
(3scale at Barcelona MusicHackDays)
For more info, go here:
http://www.3scale.net/2014/06/3scale-provides-music-apis-apitools-barcelona-music-hack-day/
There are a huge number of REST API's available for communicating with everything from publicly available websites to proprietary software. This presentation describes one approach for building an interface to a REST API for use with FME.
I'm Graduating Soon. Help! How Do I Get into the Tech Field?Tessa Mero
The tech field is booming and more and more companies are moving to be fully remote, giving more options to work at different tech companies. There are so many software engineering jobs open, but it seems so difficult to achieve! A big dream so close, but yet so far away. Whether you are still in college or freshly graduated, the earlier you start the process, the better your chances of getting hired are.
I've been in the tech field for 9 years now, and part of it was teaching programming at a college, working with students, and also being a student myself, I clearly see a pattern of how you can become "zero to successful" if you follow a very simple plan. I've mentored countless students as well as junior developers throughout my career. So, what's the plan?
Mentorship.
Personal Projects/Learning
Contributions.
Building a Personal Brand.
Networking.
Mock Interviews.
I'm going to go over these key points into more detail and how you can get started with it. I'll also have plenty of resources to provide for you that will help you with your next steps.
You will gain a lot of knowledge from this session and will feel not only more confident, but you'll feel the fire in your soul to want to make your dreams come true.
Are you ready to get hired?
With JAMStack being a major trend in web development lately, it is becoming more commonly adopted, and an alternative to LAMP and MEAN stack. With the ability to create better performing websites that can scale, I will go over several business use cases on how JAMStack made them more successful and will go over what technologies they used to accomplish this. Let’s find all the good jelly that the JAMStack has to offer!
Serverless Computing, serverless functions, and FaaS are all popular buzzwords that are gaining more and more traction. Even if we call Serverless “serverless”, there are still servers involved. In this session, we will discuss the history of Serverless, when and why it should be used, and the differences between BaaS and FaaS and I’ll show the transformation of an example application from locally hosted to be FaaS while still using some of the BaaS features.
With JAMStack being a major trend in web development lately, it is becoming more commonly adopted, and an alternative to LAMP and MEAN stack. With the ability to create better performing websites that can scale, I will go over several business use cases on how JAMStack made them more successful and will go over what technologies they used to accomplish this. Let’s find all the good jelly that the JAMStack has to offer!
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
Nom Nom: Consuming REST APIs
1. MadisonPHP Conference October 1st, 2016
Consuming Rest APIs
Follow me on Twitter and/or tweet at me. @tessamero
By Tessa Mero
Nom Nom: Consuming
Rest APIs
3. • Who Am I?
• WHAT ARE APIs
• Requests and Responses
• Intro to APIs
• Playing with Spark API
• Playing with Tropo API
• Taking Knowledge Home With You
Overview
@tessamero
4. • Developer Advocate
• Teacher/Mentor
• Previously Web Developer
• <3 Free & Open Source
• Community Leader for
Joomla and PHP
• Mother of 2
• I love APIs
• Addicted to Twitter
(@tessamero)
Who Am I?
5. Cisco DevNet? Why Am I Here?
• What is DevNet?
• What is the Purpose?
• Why do we go to programming
conferences?
• Not Selling Anything
• We Like Giving Out Swag
• We Like attention
@ciscodevnet
7. API Growth from 2000 to 2016
0
5000
10000
15000
20000
25000
30000
35000
2000 2005 2007 2009 2011 2013 2015 2016
API's
API's
Source: 2016 data from nordicapis.com. 2005-2015 data from
rubenverborgh.github.io and 2000-2004 data from blog.cutter.com
9. Ready for a lot of
examples?
I’ll make it sound easy
10. “It’s a way for two pieces of software to
talk to each other”
Application Programming Interface
11. The API is the User
Interface for software
systems
12. APIs are sets of
requirements that govern
how one application can talk
to another.
13. An API is like …
An API (Application Programming Interface) is best thought of as a contract
provided by one piece of computer software to another.
14. APIs help developers create apps that
benefit the end user.
Yelp asks for Map
Data
Google Maps
returns map data
via API
Users sees
list of
restaurants
close to
them
16. REST API versus Web API
• No difference at all. It doesn’t give a different
output.
• HTTP implements methods.
• A REST interface simply sends request to server
17. Three Types of Web Services for Providing APIs
Remote Procedure Call (RPC) or XML-RPC
• Single URI
• Response is in a Structured Format
• Lacks Responses
Simple Object Access Protocol (SOAP)
• More powerful, preferred by software
vendors (MSFT,.NET,Java Entprse
Edition, etc)
• SOAP most used tool 2001-2007
Representational State Transfer (REST)
• Most popular web service
• Each unique URL is a representational of some object
• Easy to read results
• Light Weight – Not much XML markup
http://tiny.cc/webservices
22. • 200 OK
• 301 Moved Permanently
• 302 Found
• 307 Temporary Redirect
• 400 Bad Request
• 403 Forbidden
Common HTTP Status Codes
• 404 Not Found
• 500 Internal Server
Error
• 550 Permission Denied
34. 1. First, find the documentation page. If you cannot find it,
then that’s a problem.
2. Find the API Reference.
3. Figure out what you want to do.
4. Test your API request via Postman because it’s fun :P
Reviewing the Documentation
39. You created a room, now
how do you post a message
to it through an API request?
40. 1. Take Note of Key generated when you created a room,
so now your room has an ID.
2. Refer to documentation for Creating a Message
3. Test the API request.
4. Make Magic Happen.
Create Message API Request
54. 4. Write some JavaScript
call("+14258791911", {
network:"SMS”
});
say("Don't forget your meeting at 2 p.m. on
Wednesday!");
55. 5. LAUNCH IT!
You can put your token URL in the browser to
make a request and fire off your app
https://api.tropo.com/1.0/sessions?action=create&t
oken=6c7a56555271337716e76596b6266456254
566e4e625058657133776456d6d7a504f4b4b4133
7a71624c
58. • call();
• answer();
• _log();
• say();
• ask();
• record();
• Makes a call
• Answers the call (when called)
• Logs the info about the call
• Says something
• Says something in a question
• Records the call (like
voicemail), with certain
parameters, you can transcribe
caller input too!
Other Functions To Use
Hello Everyone! My name is Tessa Mero.
I want to give a huge Thank You to the conference organizers for putting together this amazing event and allowing me to have the opportunity to speak to you.
I also want to thank the Brazilian JavaScript community for being so welcoming here!
You can Tweet at me during the session @tessamero
The act of Consuming a Rest API means to eat it all up, so in context it means to eat it, swallow it up, and digest it leaving any others in the pile exposed.
So it basically just means to use an API.
Here is an overview of what I’ll be going over.
I am a Developer Advocate for Cisco DevNet. DevNet is the Developer Department for Cisco. I’ve recently started this job earlier this year and I love it. Developer Advocates reach out to developers and bring awareness to our products, such as our APIs. That’s why I’m always talking about APIs
My previous job was teaching Web Application Development at a College for many years, including JavaScript and PHP courses. I also have a degree in web development as well. I’m always a teacher at heart, so I’ve always made myself available to mentor developers to help them become successful.
I am obsessed with Free & Open Source Communities. I’ve been speaking at Joomla and PHP conferences for many years. I also run several developer meetups and a conference in Seattle, which is in the US.
I have 2 children. I have a son named Jayden who is 7 years old. I also have a daughter named Emma who is 5 years old. They drive me crazy. I’m kidding, they are the most wonderful kids ever and they are my motivation to do everything that I do today.
What is DevNet? DevNet is a developer program created 2 years ago. Cisco decided it was time to turn the company from a network company to a software and services company.
Our purpose is to create APIs and software to help our partners and customers have better products.
We go to programming events and all types of conferences to help promote that we are not a network company.
I’m not here to sell anything as we focus on selling internally and to partners and customers.
We love giving out swag at events. I didn’t feel like bringing an extra suitcase today, so no swag.
We absolutely love getting attention on @CiscoDevNet. A wonderful colleague of mine is amazing at her social media work on all of our DevNet accounts. She gets excited when you tweet at her. Even more excited if you ask for stickers!
Why are API’s so important? Most companies today have several different software’s they need to use, including sales, accounting, CRM, a project management system, etc.
To have the software all work together is becoming a more important thing for both synergy and financial reasons and is making tasks much easier for work processes.
They can also create their own tool to enhance their software, making their customers happier.
As you can see that the amount of API’s out there started with 1 API in 2000 (Ebay) and has exponentially increased over time.
In 2016, there has been more than 50 million API requests made and 30,000 available API’s out there.
From 2015 to 2016, it has doubled in growth from 15,000 to 30,000 and only exponentially increasing.
Okay, so what is an API?
Ready for a lot of examples?
I’ll make it sound easy
An API stands for Application Programming Interface
It’s a way for two pieces of software to talk to each other.
Which brings me to saying that the API is the User Interface for software systems.
APIs are sets of requirements that govern how one application can talk to another.
An API is best thought of as a contract provided by one piece of computer software to another.
I will use Yelp as an example.
Yelp displays nearby restaurants using the Google Map API by “exposing” some of the program’s internal functions to the outside world in a limited fashion. This makes it possible for applications to share data without requiring developers to share all of their code.
APIs simplify all of that by limiting outside program access to a specific set of features by allowing them to request data.
Think of it as doors or windows, or even levers.
APIs make it possible to use a mix and match of APIs, such as Google API, Facebook API, or Twitter API, and make an entire new app and service.
The widespread of API’s for major services is what made the modern web experience possible today.
APIs are often referred to as “an engine of innovation”
Because of API, there are so many cool applications out there that wouldn’t exist no.
REST API versus Web API, if you’ve heard the two terms before.
REST describes a way of interacting with a HTTP server. Not what the server should return in response.
HTTP implements methods (which is also known as verbs) other than GET or POST. It also implements HEAD, which is without the response body, and PUT and DELETE, which I’ll go over a little later.
A REST interface simply makes use of these additional verbs to convey the meaning of the request to the server.
Web services are set of platform independent exposed APIs(functions) which can be used used from remote server over the Internet. So there are 3 different types of web services for providing APIs.
The first one is called Remote Procedure Call (RPC). It uses a single URI and gives the responses in a structured format, but lacks the amount of responses it can give out, especially compared to REST.
Simple Object Access Protocol (SOAP) is more powerful and preferred by software vendors like Microsoft,.NET, Java Enterprise Edition, and that sort of thing. SOAP is the most used tool and the preferred tool between 2001-2007.
Representational State Transfer (REST) is what I’ll be going over since it is the most popular web service to use. Each unique URL is a representational of some object, hence where the acronym REST came from. The results are human readable, and it’s also much light weight compared to other web services.
You can find more in depth information about all 3 on tiny.cc/webservices.
Next we will go over web pages, requests, responses, and REST APIs
When you view a web page, it sends a request to the web server, and sends a response back.
So you are making a request and getting a response.
When you send your HTTP request, you are sending a GET request.
You get your response as an HTTP response code, where 200 means good, and everything came back okay.
This is exactly what is happening between your app and their app between an API
Here are some common HTTP status codes that you will get when you request a web page.
When you make a request with an API, you also get a response back with a status code.
Usually you will be hoping for 200 OK.
Using Cisco Spark API as a use case, of course.
To understand a specific API, you must know what the application actually does. Cisco Spark is a collaboration tool, similar to Slack or Glip, that allows you to chat, have meetings, and video chat.
Spark is designed to be a very light weight option so developers can customize it to their company needs.
We are releasing an app marketplace of free plugins so people can download Spark and install plugins that they will actually use, rather than have a tool that has more features than you actually need.
So how do you interact with this particular API? Well, there are methods you can make to request data.
When you are getting data using an API, you make your request.
In this flow chart, you see that your app is asking to make a list of Spark rooms, then the Spark server prepares the data and sends the list of spark rooms back.
And you can have it parsed in any parsing format you want, such as JSON or XML, which are the 2 most popular. Don’t ask which is better to use, since they both have their pros and cons. It really depends on what you are doing in your application.
So your Application would be the API consumer, the request is GET /rooms and the Cisco Spark API is the API Provider.
Then the return result is a HTTP 200 OK.
This is a list of different HTTP routing methods you can use to make a request.
GET --- Can get a list of items, or get an individual item id
POST --- Creates an item
PUT --- Updates an item
DELETE – Delete’s an item
So how do we test these API requests to check if it works first?
When you are working with APIs, you will commonly have API problems that you need to solve. There are a kazillion tools out there. There’s a website that lists out 60 tools you can use to solve your problems, (note: not mental problems), and you can find it at tiny.cc/60tools
Webhook Debugging (RequestBin formerly requestbin.org…) – Inspect requests
Webhook Utilities (Torpio…) – Webhook Delivery Platform. BAM!
Local Tunneling (ngrok…) – Tunnel to Localhost, weeeeeeeeeeeee
API Monitoring (Runscope…) – API monitoring/testing, chained requests/oauth sup.
Response Mocking (mocky.io...) – Mock API response, duh!
JSON Utilities (JSONFormat...) – Make URL very pretty!
OAUTH Utilities (oauth.io...) – Integrate Oauth EZ Peezy!
API Directories (APIS.io, ProgrammableWeb...) – Directory of... Ummmm...
API Testing (Runscope Radar...) – Test in cloud (not real cloud). Email/Webhook notification for when you’re a failure and suck at APIs
Load Testing (loader.io...) – Test with thousands of concurrent connections. Because scaling is important.
GUI HTTP Clients (POSTMAN...) – An interface for creating and testing requests and what we are going to go over next!
This is where POSTMAN comes in handy.
I’ll show you how to work with REST API Calls. First, install the Chrome plugin Postman, or you can install it as an individual app on the Mac.
It’s a free tool to forge API Requests and examine responses.
For Mozilla or Safari, you can install a plugin called RESTClient
Let’s understand how Postman is working with the Github API here.
Let’s create an HTTP request to github.com
Leave the GET method as is.
Enter the URL of the resource.
Press the Send button
Postman issues the HTTP call on your behalf, and shows the response by the Github API:
Here it shows the response is 200 OK towards the bottom right.
The HTML page contents are placed in the Body
Now What? How do you figure out how to use an API?
A great API will have great documentation.
If people cannot figure out how to use your API, then you will not have as many users as you were hoping for. The most popular API’s out there have very well written documentation.
You could have the best API in the world, but if developers cannot figure out how to use it, they will find something else.
For Reviewing the Documentation…
To start learning a new API, you first find the documentation page.
You find the API reference and figure out what you want to do.
Then you test your API request via Postman because it is fun!
I want to first create a room in Spark and test it through POSTMAN.
Here’s a closer look at the API reference for Rooms.
You can List Rooms,
Create a Room,
Get Room Details,
Update a Room,
and Delete a Room.
In this example, I created a title of a room called “PHPCruise Room”.
I knew to use title because of the API documentation.
After clicking on Submit, I opened up my Cisco Spark.
There is now a new room called ”PHPCruise Room” that I created in POSTMAN from an API Call.
You created a room, now how do you post a message to it through an API Request?
To create a message API request you will need to take note of the key generated for the room you created which is your roomID.
Refer to the documentation for creating a message.
Test the API Request, which makes magic happen.
So what do we do next? Oh right, we go back to the documentation to find out what HTTP request to make to create a message.
Looks like it is the 2nd one here, so we will use the method POST.
But what about request parameters?
Oh right, that documentation stuff again.
This is the list of parameters you can use for the messages
Let’s use roomId and text as an easy example to demonstrate.
Add the JSON data of the roomId and text to the body.
The roomId is what you received when creating a room.
The text is the message you want.
You click Send and it will now post a message to your room. Go ahead and try it when you get home. It’s very easy!
There is one important thing you need to do when you receive a 200 OK HTTP Status. Please take note of this.
You do a dance!
Alright I get it. Now show me something else that’s cool!
How about… applications interacting with a cell phone?
Tropo is a voice/SMS API that compares to Twilio. It was acquired by Cisco over a year ago.
You can find the website at tropo.com.
You can build really cool applications that interact with your phone, or use the Tropo API as an integration to your software.
This is my favorite one to show people because developers seem very excited that this could help improve their software.
I’ll quickly go over how you can create your first application and use the Tropo API.
It can literally take you less than 5 minutes even without developer experience.
First, of course, you’d have to create an account on tropo.com
First you give your App a name. In this one I give it “Tessa’s Texting Service”.
Leave it at default for Development as the App Status, so it is free to use.
Edit your Script and create a name, such as textService.js.
You can select a Country, such as Brazil, and select which Region in the country and click Add.
Here would be the JavaScript that you would write to send a text message.
Replace my phone number with yours of course.
To allow SMS to work on your application, you would need to put in a support ticket to get your account activated for it.
I could also do it for you on my end and activate your account.
You can launch your app by using a token URL into the browser to make a request and fire off your application.
Simply add a question mark after the method call and before putting in the query parameters.
Each query parameter is separated by an & sign.
Magic? I know right? The phone number above is my apps phone number that sent my phone a text message.
You can do it too! It’s that easy. And you may experience this with most API’s with great documentation!
Here are the most used functions with the Tropo API.
You can make calls, answer, log information about a call, say something, ask a question, and record.
You can even do speech to text.
Easy? I know…
The Spark Innovation Fund is a budget that was given to my department where we pay developers to create a startup that we will fund.
The startup that you build stays under your name or your business name.
We want to market our APIs and drive our developer ecosystem. This will only benefit you.
Our budget we were given is 150 Million USD Dollars.
You can learn more about it at developer.ciscospark.com/fund.
Also, don’t forget to tweet at me @tessamero
So, I hope you you feel highly consumed and full from this API talk.
If you are new to APIs and need help getting started, or simply want to try out our Cisco APIs, please do not hesitate to contact me.
THANK YOU!