This document summarizes Tessa Mero's presentation on consuming REST APIs at the ZendCon conference in October 2016. The presentation introduced REST APIs and how to make requests and get responses from APIs. It provided examples using the Cisco Spark and Tropo APIs, demonstrating how to get data from an API, create rooms and messages using the Spark API, and build a phone application that makes calls using the Tropo API. The presentation emphasized reviewing API documentation to understand how to structure requests and work with the APIs.
DevNet 1056 WIT Spark API and Chat Bot WorkshopTessa Mero
This document provides an agenda for a workshop on introducing REST APIs and creating Spark bots. The agenda covers REST API basics, an overview of the Cisco Spark API, and how to build a bot for Cisco Spark. It includes demonstrations of listing rooms using the Spark API and creating a room. The second half of the workshop discusses what chat bots are, their benefits, and the difference between integrations and bots. It provides steps for getting started with a collaboration API and creating a Spark bot, including using Cloud9 for development and creating webhook events to test the bot.
- The document is a slide deck about building a chatbot using Botman and Cisco Spark. It discusses what chatbots are and their benefits. It provides steps to set up a Botman bot using Cisco Spark's API, including creating accounts, adding the bot to a chat room, and deploying it on CodeAnywhere. It also covers creating webhook events and testing the bot.
- This document discusses how to build chatbots with JavaScript using the Cisco Spark API. It covers what chatbots are and their benefits. It then provides steps to get started, including creating a Cisco Spark account, building a bot using Cloud9, adding webhooks to handle events, and testing the bot. Code samples and additional resources are also referenced.
- This document provides instructions for building a basic chat bot using the Cisco Spark API and deploying it on Cloud9. It discusses what chat bots are and their benefits. It then walks through setting up a Cisco Spark account, creating a bot profile, deploying the bot code to Cloud9, adding webhook events to trigger the bot, and testing the bot responses.
DeveloperWeek2018 - Let's Build a ChatbotTessa Mero
The document discusses building a chatbot using the Cisco Spark API and deploying it on Heroku. It provides steps to create a Cisco Spark account and developer app, deploy the botkit-template code to Heroku, and configure the bot by adding the Cisco Spark access token and creating a webhook to trigger the bot in response to messages. The goal is to demonstrate how to set up a basic functioning chatbot integrated with Cisco Spark and deployed on Heroku.
This document introduces APIs and how they are used by developers. It explains that APIs allow programs to interact with other applications and services to access useful data and functionality. Developers can use APIs by making HTTP requests to consume data and build their own applications. The document provides examples of popular APIs like Google Maps, Twilio, and Meetup that developers integrate into their applications. It also discusses the differences between making API calls and using webhooks to receive automatic notifications from a service.
This document discusses building a robust server-side web application using Flask. It explains that Flask is a web framework that provides tools and libraries to build dynamic websites. It also describes how Flask works by having a URL route to a function, running the function, passing variables to an HTML template file, and rendering the data on the page. Finally, it briefly mentions using an ORM like SQLAlchemy to work with a database rather than writing raw SQL statements.
This document provides an overview of APIs and how they work. It begins with basic API concepts and definitions, then demonstrates how APIs are used by having programs interact with applications to access structured data without direct human interaction. It provides examples of common API uses for maps, login/authentication, payments, messaging and more. It also introduces the concept of webhooks which allow applications to "call" other services when data is available, rather than requiring the other service to periodically check via API calls. Overall it serves as a high-level introduction to APIs and webhooks for beginners.
DevNet 1056 WIT Spark API and Chat Bot WorkshopTessa Mero
This document provides an agenda for a workshop on introducing REST APIs and creating Spark bots. The agenda covers REST API basics, an overview of the Cisco Spark API, and how to build a bot for Cisco Spark. It includes demonstrations of listing rooms using the Spark API and creating a room. The second half of the workshop discusses what chat bots are, their benefits, and the difference between integrations and bots. It provides steps for getting started with a collaboration API and creating a Spark bot, including using Cloud9 for development and creating webhook events to test the bot.
- The document is a slide deck about building a chatbot using Botman and Cisco Spark. It discusses what chatbots are and their benefits. It provides steps to set up a Botman bot using Cisco Spark's API, including creating accounts, adding the bot to a chat room, and deploying it on CodeAnywhere. It also covers creating webhook events and testing the bot.
- This document discusses how to build chatbots with JavaScript using the Cisco Spark API. It covers what chatbots are and their benefits. It then provides steps to get started, including creating a Cisco Spark account, building a bot using Cloud9, adding webhooks to handle events, and testing the bot. Code samples and additional resources are also referenced.
- This document provides instructions for building a basic chat bot using the Cisco Spark API and deploying it on Cloud9. It discusses what chat bots are and their benefits. It then walks through setting up a Cisco Spark account, creating a bot profile, deploying the bot code to Cloud9, adding webhook events to trigger the bot, and testing the bot responses.
DeveloperWeek2018 - Let's Build a ChatbotTessa Mero
The document discusses building a chatbot using the Cisco Spark API and deploying it on Heroku. It provides steps to create a Cisco Spark account and developer app, deploy the botkit-template code to Heroku, and configure the bot by adding the Cisco Spark access token and creating a webhook to trigger the bot in response to messages. The goal is to demonstrate how to set up a basic functioning chatbot integrated with Cisco Spark and deployed on Heroku.
This document introduces APIs and how they are used by developers. It explains that APIs allow programs to interact with other applications and services to access useful data and functionality. Developers can use APIs by making HTTP requests to consume data and build their own applications. The document provides examples of popular APIs like Google Maps, Twilio, and Meetup that developers integrate into their applications. It also discusses the differences between making API calls and using webhooks to receive automatic notifications from a service.
This document discusses building a robust server-side web application using Flask. It explains that Flask is a web framework that provides tools and libraries to build dynamic websites. It also describes how Flask works by having a URL route to a function, running the function, passing variables to an HTML template file, and rendering the data on the page. Finally, it briefly mentions using an ORM like SQLAlchemy to work with a database rather than writing raw SQL statements.
This document provides an overview of APIs and how they work. It begins with basic API concepts and definitions, then demonstrates how APIs are used by having programs interact with applications to access structured data without direct human interaction. It provides examples of common API uses for maps, login/authentication, payments, messaging and more. It also introduces the concept of webhooks which allow applications to "call" other services when data is available, rather than requiring the other service to periodically check via API calls. Overall it serves as a high-level introduction to APIs and webhooks for beginners.
Firefox OS Workshop @ Serbia & Montenegro - TrainingJan Jongboom
This document summarizes the key points from a workshop on building Firefox OS applications. It discusses using AngularJS for data binding, making HTTP requests to consume third party APIs, taking advantage of phone sensors like the accelerometer, and strategies for making apps work offline through app caching and caching data requests. The workshop covers building a news reader app as an example to demonstrate these techniques.
The Works 2018 - Software Track - Development 101: Build Using API and Overvi...David Dourgarian
Want to learn more about how to build using API? Curious about API3 and exactly what it is and how it works? This is the session for you! Join Paul Czywczynski, Chief Technology Officer, as he takes you step-by-step through these processes.
A presentation on PHP Development Stack (tools for PHP Development) by my colleagues Neeraj Shah & Sharmishtha Gupta. It was presented at PHPCamp, Pune, on Sept'20th, 2008.
So you're starting a startup an need best practices for your engineering team. Well, look for:
1. Versionning
2. Branching and Pull Requests (GitHub Flow)
3. Deployment & Continuous Delivery
4. Rollback Strategies
5. Testing
6. Backups
7. Monitoring
8. Communication
9. Issue Tracker / Project Management
This deck talks about the tool used by Le Wagon and startup coached by Le Wagon.
Le Wagon is the French innovating coding school for entrepreneurs. More info on https://www.lewagon.com
Overview of the need for APIs in order to build RIAs with Adobe Flex. Also a breif walkthrough on how to create Mashups with Flex and Kapow Mashup Server.
Publishing API documentation -- PresentationTom Johnson
The document discusses various strategies for publishing API documentation, including different types of documentation like guides, tutorials, and reference docs. It also covers tools for generating documentation from code, hosting platforms, design patterns, and questions to consider regarding developer contributions, security, hosting budgets, and customization needs.
This document summarizes Anthony Montalbano's presentation on using the WordPress REST API. It provides an overview of REST APIs and how the WordPress REST API works using HTTP requests to retrieve and modify resources like posts and categories. It then discusses how to create a mini-theme that interacts with the API using JavaScript libraries and renders the data on the front-end. It also explores using WordPress headlessly by retrieving content via the API and rendering it outside of WordPress. Finally, it covers extending the API by adding custom post types and custom endpoints.
- The document discusses redesigning LINE's developer documentation site by moving from WordPress to a static site built with Middleman.
- Key goals were improving the authoring experience, enabling better collaboration, and implementing a "docs as code" workflow with content in Markdown and menus in YAML formatted for version control.
- The new process sees documents written in Markdown and built automatically from a GitHub source with Middleman and custom plugins to apply styles and render special elements.
Blog Link: http://projectbee.org/blog/archive/how-to-implementing-shindig/
The presentation is all about getting started with implementing Shindig for your existing social portal. Presented at PHPCamp, Pune, on Sept'20th, 2008.
This presentation covers how to document REST APIs. For accompanying notes, see http://idratherbewriting.com/restapicourse. This presentation is geared towards technical writers. The focus is with REST APIs, not platform-specific APIs such as Java.
STC Summit 2015: API Documentation, an Example-Based ApproachLois Patterson
The document discusses best practices for documenting APIs. It recommends including clear documentation of an API's functionality through descriptions, tutorials, code examples, and testing environments. Good API documentation demonstrates consistency in naming conventions and clear explanations of errors. The document provides examples of APIs with well-designed documentation, such as Netflix, Twitter, and GitHub, and encourages making APIs as simple and intuitive as possible for developers and non-developers alike.
This document summarizes an individual project called LexMachine built over six days using a Rails API backend and Angular frontend. LexMachine allows users to store words and their meanings by entering words which are then auto-completed using a dictionary API. Users can view definitions, add their own notes, and compile a personal dictionary. Building the Rails API presented challenges moving from MongoDB. Connecting the frontend and backend also proved difficult, as did extracting structured data from the dictionary API responses.
A bit on JavaScript History
Learn how to program in the modern JavaScript i.e., ECMAScript 2015 (Version 6) / ECMAScript 6 / ES2015 / ES6 complied by BabelJS
Program with the best practices (Airbnb coding style) and style checking tools by ESLint
Publishing API documentation -- WorkshopTom Johnson
These slides are from the REST API documentation workshop that I gave at the STC Summit 2015. For more details, see http://idratherbewriting.com/publishingapidocs.
A Quick Trip Down the Rabbit Hole - An Introduction into what the WP-REST-API is and what you can do with it. This is meant as an explanation for a site owner/project lead who wants to learn what this new technology means and for the developer who wants to understand where this will take the WordPress community over the next decade and beyond.
This document discusses the rise of APIs and the Postman platform. It notes that APIs are now essential due to trends like mobile and cloud computing. Postman started in 2012 to help with API testing and has since grown significantly, with over 500,000 organizations using it. The document outlines Postman's platform services for API lifecycle management, collaboration, and runtime functionality. It also previews many new features and highlights Postman's continued focus on the API-first approach.
This document describes how Le Wagon uses Trello to streamline their student onboarding process. It outlines the manual steps they previously used and how they integrated various APIs like Trello, Acuity Scheduling, Codecademy, HelloSign, and Zoho into Trello to automate most of the process. This reduced the number of manual steps needed and allowed them to easily configure boards for each new batch of students.
The document discusses how to create an OpenSocial gadget in 45 minutes by going over the OpenSocial specification which defines a way for third party applications called gadgets to be included in social services, and how gadgets communicate with containers like Shindig through APIs to access user social graphs and features using technologies like JavaScript and Flash. It also covers the authorization process gadgets go through to access social APIs by obtaining access tokens from services like Twitter.
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.
Understanding REST APIs in 5 Simple StepsTessa Mero
This document summarizes a presentation on understanding REST APIs in 5 simple steps. It explains that APIs allow software to communicate via HTTP requests and responses, and REST defines using HTTP verbs and nouns to make requests. The steps are: 1) understand the purpose of APIs for developers to benefit users, 2) learn that REST specifies making HTTP requests to perform functions on a server, 3) recognize that requests elicit responses, 4) use documentation as a reference for available verbs and nouns, and 5) leverage debugging and testing tools to prevent issues when working with APIs. The document emphasizes that documentation is key to understanding an API and recommends Postman as a useful GUI testing client.
Firefox OS Workshop @ Serbia & Montenegro - TrainingJan Jongboom
This document summarizes the key points from a workshop on building Firefox OS applications. It discusses using AngularJS for data binding, making HTTP requests to consume third party APIs, taking advantage of phone sensors like the accelerometer, and strategies for making apps work offline through app caching and caching data requests. The workshop covers building a news reader app as an example to demonstrate these techniques.
The Works 2018 - Software Track - Development 101: Build Using API and Overvi...David Dourgarian
Want to learn more about how to build using API? Curious about API3 and exactly what it is and how it works? This is the session for you! Join Paul Czywczynski, Chief Technology Officer, as he takes you step-by-step through these processes.
A presentation on PHP Development Stack (tools for PHP Development) by my colleagues Neeraj Shah & Sharmishtha Gupta. It was presented at PHPCamp, Pune, on Sept'20th, 2008.
So you're starting a startup an need best practices for your engineering team. Well, look for:
1. Versionning
2. Branching and Pull Requests (GitHub Flow)
3. Deployment & Continuous Delivery
4. Rollback Strategies
5. Testing
6. Backups
7. Monitoring
8. Communication
9. Issue Tracker / Project Management
This deck talks about the tool used by Le Wagon and startup coached by Le Wagon.
Le Wagon is the French innovating coding school for entrepreneurs. More info on https://www.lewagon.com
Overview of the need for APIs in order to build RIAs with Adobe Flex. Also a breif walkthrough on how to create Mashups with Flex and Kapow Mashup Server.
Publishing API documentation -- PresentationTom Johnson
The document discusses various strategies for publishing API documentation, including different types of documentation like guides, tutorials, and reference docs. It also covers tools for generating documentation from code, hosting platforms, design patterns, and questions to consider regarding developer contributions, security, hosting budgets, and customization needs.
This document summarizes Anthony Montalbano's presentation on using the WordPress REST API. It provides an overview of REST APIs and how the WordPress REST API works using HTTP requests to retrieve and modify resources like posts and categories. It then discusses how to create a mini-theme that interacts with the API using JavaScript libraries and renders the data on the front-end. It also explores using WordPress headlessly by retrieving content via the API and rendering it outside of WordPress. Finally, it covers extending the API by adding custom post types and custom endpoints.
- The document discusses redesigning LINE's developer documentation site by moving from WordPress to a static site built with Middleman.
- Key goals were improving the authoring experience, enabling better collaboration, and implementing a "docs as code" workflow with content in Markdown and menus in YAML formatted for version control.
- The new process sees documents written in Markdown and built automatically from a GitHub source with Middleman and custom plugins to apply styles and render special elements.
Blog Link: http://projectbee.org/blog/archive/how-to-implementing-shindig/
The presentation is all about getting started with implementing Shindig for your existing social portal. Presented at PHPCamp, Pune, on Sept'20th, 2008.
This presentation covers how to document REST APIs. For accompanying notes, see http://idratherbewriting.com/restapicourse. This presentation is geared towards technical writers. The focus is with REST APIs, not platform-specific APIs such as Java.
STC Summit 2015: API Documentation, an Example-Based ApproachLois Patterson
The document discusses best practices for documenting APIs. It recommends including clear documentation of an API's functionality through descriptions, tutorials, code examples, and testing environments. Good API documentation demonstrates consistency in naming conventions and clear explanations of errors. The document provides examples of APIs with well-designed documentation, such as Netflix, Twitter, and GitHub, and encourages making APIs as simple and intuitive as possible for developers and non-developers alike.
This document summarizes an individual project called LexMachine built over six days using a Rails API backend and Angular frontend. LexMachine allows users to store words and their meanings by entering words which are then auto-completed using a dictionary API. Users can view definitions, add their own notes, and compile a personal dictionary. Building the Rails API presented challenges moving from MongoDB. Connecting the frontend and backend also proved difficult, as did extracting structured data from the dictionary API responses.
A bit on JavaScript History
Learn how to program in the modern JavaScript i.e., ECMAScript 2015 (Version 6) / ECMAScript 6 / ES2015 / ES6 complied by BabelJS
Program with the best practices (Airbnb coding style) and style checking tools by ESLint
Publishing API documentation -- WorkshopTom Johnson
These slides are from the REST API documentation workshop that I gave at the STC Summit 2015. For more details, see http://idratherbewriting.com/publishingapidocs.
A Quick Trip Down the Rabbit Hole - An Introduction into what the WP-REST-API is and what you can do with it. This is meant as an explanation for a site owner/project lead who wants to learn what this new technology means and for the developer who wants to understand where this will take the WordPress community over the next decade and beyond.
This document discusses the rise of APIs and the Postman platform. It notes that APIs are now essential due to trends like mobile and cloud computing. Postman started in 2012 to help with API testing and has since grown significantly, with over 500,000 organizations using it. The document outlines Postman's platform services for API lifecycle management, collaboration, and runtime functionality. It also previews many new features and highlights Postman's continued focus on the API-first approach.
This document describes how Le Wagon uses Trello to streamline their student onboarding process. It outlines the manual steps they previously used and how they integrated various APIs like Trello, Acuity Scheduling, Codecademy, HelloSign, and Zoho into Trello to automate most of the process. This reduced the number of manual steps needed and allowed them to easily configure boards for each new batch of students.
The document discusses how to create an OpenSocial gadget in 45 minutes by going over the OpenSocial specification which defines a way for third party applications called gadgets to be included in social services, and how gadgets communicate with containers like Shindig through APIs to access user social graphs and features using technologies like JavaScript and Flash. It also covers the authorization process gadgets go through to access social APIs by obtaining access tokens from services like Twitter.
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.
Understanding REST APIs in 5 Simple StepsTessa Mero
This document summarizes a presentation on understanding REST APIs in 5 simple steps. It explains that APIs allow software to communicate via HTTP requests and responses, and REST defines using HTTP verbs and nouns to make requests. The steps are: 1) understand the purpose of APIs for developers to benefit users, 2) learn that REST specifies making HTTP requests to perform functions on a server, 3) recognize that requests elicit responses, 4) use documentation as a reference for available verbs and nouns, and 5) leverage debugging and testing tools to prevent issues when working with APIs. The document emphasizes that documentation is key to understanding an API and recommends Postman as a useful GUI testing client.
Understanding REST APIs in 5 Simple StepsTessa Mero
This document summarizes the 5 steps to understanding REST APIs: 1) Understanding the purpose of APIs and their importance and growth, 2) Learning that REST defines functions to communicate via HTTP verbs and nouns, 3) Knowing that APIs use requests and responses, 4) Relying on documentation as the reference, and 5) Using debugging and testing tools to prevent issues. It provides examples of requests, responses, API documentation, and tools like Postman for working with REST APIs.
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.
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.
This document provides an overview of exploring art through RESTful APIs. It discusses what APIs are and how they allow communication between systems. It then covers querying two museum APIs - the Metropolitan Museum API and the Cooper Hewitt API. It demonstrates how to authenticate, make requests, and handle responses for each API. Key learnings include understanding authentication strategies like API keys and OAuth tokens, as well as common HTTP status codes.
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.
The document discusses Flickr's use of web services and PHP. It describes how Flickr uses PHP at its core for page logic, business logic, and APIs. It also discusses how Flickr scales its architecture horizontally across multiple servers and databases to handle its large userbase and traffic. Key services discussed include photo sharing and storage, APIs, email processing, blogging integrations, and third party applications built using Flickr's APIs.
The document discusses Flickr's use of web services and PHP. It describes how Flickr uses PHP at its core for page logic and business logic, interfacing with databases and APIs. It also discusses how Flickr scales its architecture horizontally across servers and databases to handle its large userbase and traffic.
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.
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.
- The document introduces APIs and provides an overview of what they are, how they work, and strategies for testing APIs.
- It discusses RESTful principles, how HTTP requests and responses work, authentication methods like OAuth and JWT, and tools for testing APIs like Postman.
- Examples are given around making GET and POST requests to APIs and checking the status and response to demonstrate how APIs can be interacted with and tested.
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
Создание API, которое полюбят разработчики. Глубокое погружениеSQALab
Roman Bugaev gives best practices for designing RESTful web APIs that developers love. He recommends keeping URLs simple with nouns rather than verbs, using HTTP verbs to operate on resources, and placing complex parameters after a question mark. For errors, use HTTP status codes and provide verbose payloads with code, message, and more info. Consider versioning, rate limiting, and supporting multiple formats like JSON.
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.
The document discusses APIs and RESTful APIs. It defines an API as an interface that allows computers to communicate with each other, and compares it to a waiter relaying orders between the kitchen and customers. RESTful APIs use HTTP requests like GET, POST, PUT, and DELETE to perform CRUD (create, read, update, delete) operations on resources identified by URLs. Most APIs use API keys for authentication and return responses in JSON or XML format along with HTTP status codes.
The document discusses APIs and RESTful APIs. It defines an API as an interface that allows computers to communicate with each other, and compares it to a waiter relaying orders between the kitchen and customers. RESTful APIs use HTTP requests like GET, POST, PUT, and DELETE to perform CRUD (create, read, update, delete) operations on resources identified by URLs. Most APIs use API keys for authentication and return responses in JSON or XML format along with HTTP status codes.
It all started with an idea when it got announced and shared by Kaspars Dambis. He wrote a blog post about it and I really started digging the idea even more. During this talk I will discuss new options Apple TV gives developers like us. Showing the power of the REST API and the XML template format of Apple to build a WooCommerce AppleTV app.
How to Connect to Any REST API (Without Writing Any Code)Safe Software
REST APIs are supposed to be easy to build and use – so why are they so complicated to figure out?
There’s a lot to think about when it comes to APIs. The different methods of authentication, error handling, security, and the coding required.
If you’ve ever felt intimidated by APIs and how to connect to your preferred application, we can help. Because ultimately, APIs can make you operate more efficiently, provide opportunities for automation, give you access to new data, and make your enterprise more agile.
With FME, you get all the benefits of APIs without ever having to code. It’s one of the most customizable solutions. Learn how to get started in this webinar.
One of the greatest challenges to developing an API is ensuring that your API lasts. After all, you don’t want to have to release and manage multiple versions of your API just because you weren’t expecting users to use it a certain way, or because you didn’t anticipate far enough down the roadmap. In this session, we’ll talk about the challenge of API Longevity, as well as ways to increase your API lifecycle including having a proper mindset, careful design, agile user experience and prototyping, best design practices including hypermedia, and the challenge of maintaining persistence.
This document discusses key performance indicators (KPIs) for developer relations roles. It begins with an introduction to KPIs and OKRs before providing examples of KPIs in different areas like awareness, relationships, new sign-ups, documentation, product, community, and support. Specific metrics are suggested for each area like number of blog posts, social media interactions, feedback received, documentation questions answered, and community engagement. The document emphasizes setting aspirational goals and measuring outcomes that are meaningful, focused, time-bound, and measurable. It also discusses getting company buy-in for KPIs and finding the right tools to track metrics.
The document provides career advice for getting into the tech field, including:
- Doing projects and internships in college to build a portfolio.
- Learning about different roles and technologies through industry research.
- Contributing to open source projects to build experience and network.
- Developing a personal brand through a website and social media presence.
- Networking through events, communities, and finding a mentor.
- Practicing interviews through mock interviews and whiteboarding coding questions.
5 ways to simply add media accessibility (m16y) to your jamstack appTessa Mero
This document provides 5 steps to add media accessibility (m16y) to a Jamstack app:
1. Understand web accessibility and how it is important for people with disabilities or impairments.
2. Understand media accessibility and how the majority of websites use some form of media. Automate adding alt text to images and transcriptions to videos using media APIs.
3. Demonstrate tools for color blind simulations and developing your own color contrast checker.
4. Use plugins and tools like contrast checkers, accessibility checkers, and screen readers to test accessibility.
5. Start small by adding basic accessibility and continue improving over time.
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?
Optimize media performance in wordpress with cloudinaryTessa Mero
This presentation discusses how to optimize media performance in WordPress using Cloudinary. It begins by explaining the reasons why performance matters, such as better user experience, visitor retention, and engagement. Next, it compares using native WordPress media versus the Cloudinary plugin, noting the plugin has over 6,000 active installations. The presentation then demonstrates how to install and use the Cloudinary plugin to generate responsive images, update image formats, add a video player, and apply video transformations. It also covers using the Cloudinary PHP SDK to build URLs, upload files locally and remotely, and add transformations. Resources are provided to learn more about Cloudinary, the WordPress plugin, and PHP integration.
Joining a developer experts program to leverage your careerTessa Mero
This document discusses joining a developer experts program to advance one's career. It provides definitions of such programs, generally run by tech companies to promote their technologies. Requirements typically include being a technical expert and community leader, while benefits include recognition, access to early features, free accounts/training, and opportunities to attend events. The document advocates for joining the Cloudinary Media Developer Expert program specifically.
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!
This document is a presentation about building APIs using serverless technologies. It introduces serverless computing and discusses how serverless can be used to create an API with no servers to manage. The presentation demonstrates building an API using the Serverless framework, AWS services like IAM, DynamoDB, and API Gateway. It shows the file structure, serverless.yml configuration file, and code for the API routes. Resources are provided for learning more about serverless and JAMstack development.
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!
The document outlines an agenda for a workshop on creating chatbots from zero to deployment. It discusses what chatbots are, the benefits of chatbots, and the differences between integrations and bots. It then provides steps on getting started with the Cisco Spark API, creating a bot, deploying the bot on Heroku, and creating webhook events to test the bot. The objective is to take participants through the process of creating their first chatbot from start to finish.
- The document is a slide deck for a workshop on using ChatOps with Cisco Spark. It introduces ChatOps and how it can be used to improve collaboration between development and operations teams. It discusses common chat tools and bot frameworks that can be used to automate workflows. The deck then demonstrates how to create a simple bot with Cisco Spark and debug a ChatOps Python script that posts messages to a Spark room. Attendees will learn how ChatOps can revolutionize their workflows through increased automation and transparency.
The document discusses Cisco Connected Mobile Experiences (CMX) and its use of location services to provide indoor positioning. CMX uses sensors on Cisco access points to determine the location of mobile devices within buildings to enable use cases like finding tools and people, geofencing of assets, indoor navigation, and tracking worker productivity. The CMX API allows developers to build applications that leverage CMX location data and analytics to enhance customer engagement.
Revolutionize Your Workflow with ChatOpsTessa Mero
- The document is a presentation by Tessa Mero on revolutionizing workflows with ChatOps. It discusses what ChatOps is, how it can help connect teams and automate workflows, and examples of how companies are using ChatOps. It also provides an overview of common chat tools and bot frameworks that can be used to implement ChatOps, such as Hubot, Lita, and Errbot, as well as examples of how specific DevOps tools integrate with ChatOps. The presentation includes quotes from developers on how ChatOps has helped improve collaboration and automation.
Leading an open source project oscon2016Tessa Mero
The document provides guidance for leading an open source project. It discusses effective communication, dealing with conflict, transparency, hiring and firing volunteers, preventing burnout, and implementing process changes. The key aspects of leadership according to the document are effective communication, transparency, respecting others, welcoming newcomers, training successors, and showing appreciation.
The document discusses how to lead an open source project. It begins by introducing the speaker and what Joomla is. It then discusses what makes a good leader, including effective communication, following through on commitments, dealing with conflict respectfully, and representing the community positively. The document also covers management topics like transparency, hiring/firing processes, preventing burnout, and handling process changes gradually with community input. The overall message is that open leadership requires communication, respect, transparency and empowering others.
This document summarizes the state of the Joomla content management system. It discusses that Joomla is an open source project with over 65 million downloads. It is led by volunteers and has a 10 year anniversary. The current state faces challenges with leadership decisions but is growing. Future plans include the release of Joomla 3.5 in early 2016 and exploring Joomla 4.0. The community aims to be more open to other open source projects.
Tessa Mero gave a presentation on leading an open-source project. She discussed communicating effectively with the community, mentoring contributors to become future leaders, handling conflicts respectfully, and preventing burnout. Some of her key points included documenting processes transparently, assuming good faith in others until proven otherwise, and implementing major changes in small steps to avoid outrage. Her overall message was that positive leadership, clear communication, and respect for all people are important for a healthy open-source community.
This document provides a guide to getting an extension approved to the Joomla extensions directory. It discusses important things to consider for the extension name and title, running the JEDChecker tool to check for errors, other basics like having both a free and paid version, properly forking another extension by changing 30% of the code and mentioning the original developer, details about the JED review team and their roles, and how to get involved with the JED 3.0 project by accessing their public repositories and issue trackers.
"NATO Hackathon Winner: AI-Powered Drug Search", Taras KlobaFwdays
This is a session that details how PostgreSQL's features and Azure AI Services can be effectively used to significantly enhance the search functionality in any application.
In this session, we'll share insights on how we used PostgreSQL to facilitate precise searches across multiple fields in our mobile application. The techniques include using LIKE and ILIKE operators and integrating a trigram-based search to handle potential misspellings, thereby increasing the search accuracy.
We'll also discuss how the azure_ai extension on PostgreSQL databases in Azure and Azure AI Services were utilized to create vectors from user input, a feature beneficial when users wish to find specific items based on text prompts. While our application's case study involves a drug search, the techniques and principles shared in this session can be adapted to improve search functionality in a wide range of applications. Join us to learn how PostgreSQL and Azure AI can be harnessed to enhance your application's search capability.
QA or the Highway - Component Testing: Bridging the gap between frontend appl...zjhamm304
These are the slides for the presentation, "Component Testing: Bridging the gap between frontend applications" that was presented at QA or the Highway 2024 in Columbus, OH by Zachary Hamm.
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:
Key Takeaways:
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
What is an RPA CoE? Session 2 – CoE RolesDianaGray10
In this session, we will review the players involved in the CoE and how each role impacts opportunities.
Topics covered:
• What roles are essential?
• What place in the automation journey does each role play?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...DanBrown980551
This LF Energy webinar took place June 20, 2024. It featured:
-Alex Thornton, LF Energy
-Hallie Cramer, Google
-Daniel Roesler, UtilityAPI
-Henry Richardson, WattTime
In response to the urgency and scale required to effectively address climate change, open source solutions offer significant potential for driving innovation and progress. Currently, there is a growing demand for standardization and interoperability in energy data and modeling. Open source standards and specifications within the energy sector can also alleviate challenges associated with data fragmentation, transparency, and accessibility. At the same time, it is crucial to consider privacy and security concerns throughout the development of open source platforms.
This webinar will delve into the motivations behind establishing LF Energy’s Carbon Data Specification Consortium. It will provide an overview of the draft specifications and the ongoing progress made by the respective working groups.
Three primary specifications will be discussed:
-Discovery and client registration, emphasizing transparent processes and secure and private access
-Customer data, centering around customer tariffs, bills, energy usage, and full consumption disclosure
-Power systems data, focusing on grid data, inclusive of transmission and distribution networks, generation, intergrid power flows, and market settlement data
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
What is an RPA CoE? Session 1 – CoE VisionDianaGray10
In the first session, we will review the organization's vision and how this has an impact on the COE Structure.
Topics covered:
• The role of a steering committee
• How do the organization’s priorities determine CoE Structure?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...AlexanderRichford
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation Functions to Prevent Interaction with Malicious QR Codes.
Aim of the Study: The goal of this research was to develop a robust hybrid approach for identifying malicious and insecure URLs derived from QR codes, ensuring safe interactions.
This is achieved through:
Machine Learning Model: Predicts the likelihood of a URL being malicious.
Security Validation Functions: Ensures the derived URL has a valid certificate and proper URL format.
This innovative blend of technology aims to enhance cybersecurity measures and protect users from potential threats hidden within QR codes 🖥 🔒
This study was my first introduction to using ML which has shown me the immense potential of ML in creating more secure digital environments!
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
Must Know Postgres Extension for DBA and Developer during MigrationMydbops
Mydbops Opensource Database Meetup 16
Topic: Must-Know PostgreSQL Extensions for Developers and DBAs During Migration
Speaker: Deepak Mahto, Founder of DataCloudGaze Consulting
Date & Time: 8th June | 10 AM - 1 PM IST
Venue: Bangalore International Centre, Bangalore
Abstract: Discover how PostgreSQL extensions can be your secret weapon! This talk explores how key extensions enhance database capabilities and streamline the migration process for users moving from other relational databases like Oracle.
Key Takeaways:
* Learn about crucial extensions like oracle_fdw, pgtt, and pg_audit that ease migration complexities.
* Gain valuable strategies for implementing these extensions in PostgreSQL to achieve license freedom.
* Discover how these key extensions can empower both developers and DBAs during the migration process.
* Don't miss this chance to gain practical knowledge from an industry expert and stay updated on the latest open-source database trends.
Mydbops Managed Services specializes in taking the pain out of database management while optimizing performance. Since 2015, we have been providing top-notch support and assistance for the top three open-source databases: MySQL, MongoDB, and PostgreSQL.
Our team offers a wide range of services, including assistance, support, consulting, 24/7 operations, and expertise in all relevant technologies. We help organizations improve their database's performance, scalability, efficiency, and availability.
Contact us: info@mydbops.com
Visit: https://www.mydbops.com/
Follow us on LinkedIn: https://in.linkedin.com/company/mydbops
For more details and updates, please follow up the below links.
Meetup Page : https://www.meetup.com/mydbops-databa...
Twitter: https://twitter.com/mydbopsofficial
Blogs: https://www.mydbops.com/blog/
Facebook(Meta): https://www.facebook.com/mydbops/
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
From Natural Language to Structured Solr Queries using LLMsSease
This talk draws on experimentation to enable AI applications with Solr. One important use case is to use AI for better accessibility and discoverability of the data: while User eXperience techniques, lexical search improvements, and data harmonization can take organizations to a good level of accessibility, a structural (or “cognitive” gap) remains between the data user needs and the data producer constraints.
That is where AI – and most importantly, Natural Language Processing and Large Language Model techniques – could make a difference. This natural language, conversational engine could facilitate access and usage of the data leveraging the semantics of any data source.
The objective of the presentation is to propose a technical approach and a way forward to achieve this goal.
The key concept is to enable users to express their search queries in natural language, which the LLM then enriches, interprets, and translates into structured queries based on the Solr index’s metadata.
This approach leverages the LLM’s ability to understand the nuances of natural language and the structure of documents within Apache Solr.
The LLM acts as an intermediary agent, offering a transparent experience to users automatically and potentially uncovering relevant documents that conventional search methods might overlook. The presentation will include the results of this experimental work, lessons learned, best practices, and the scope of future work that should improve the approach and make it production-ready.
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Keywords: AI, Containeres, Kubernetes, Cloud Native
Event Link: https://meine.doag.org/events/cloudland/2024/agenda/#agendaId.4211
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...Fwdays
Direct losses from downtime in 1 minute = $5-$10 thousand dollars. Reputation is priceless.
As part of the talk, we will consider the architectural strategies necessary for the development of highly loaded fintech solutions. We will focus on using queues and streaming to efficiently work and manage large amounts of data in real-time and to minimize latency.
We will focus special attention on the architectural patterns used in the design of the fintech system, microservices and event-driven architecture, which ensure scalability, fault tolerance, and consistency of the entire system.
Conversational agents, or chatbots, are increasingly used to access all sorts of services using natural language. While open-domain chatbots - like ChatGPT - can converse on any topic, task-oriented chatbots - the focus of this paper - are designed for specific tasks, like booking a flight, obtaining customer support, or setting an appointment. Like any other software, task-oriented chatbots need to be properly tested, usually by defining and executing test scenarios (i.e., sequences of user-chatbot interactions). However, there is currently a lack of methods to quantify the completeness and strength of such test scenarios, which can lead to low-quality tests, and hence to buggy chatbots.
To fill this gap, we propose adapting mutation testing (MuT) for task-oriented chatbots. To this end, we introduce a set of mutation operators that emulate faults in chatbot designs, an architecture that enables MuT on chatbots built using heterogeneous technologies, and a practical realisation as an Eclipse plugin. Moreover, we evaluate the applicability, effectiveness and efficiency of our approach on open-source chatbots, with promising results.
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
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!