SlideShare a Scribd company logo
API 101
api_101
APPLICATION
PROGRAMMING
INTERFACE
API ?
INTRODUCTION
An application programming interface (API) is a set
of subroutine definitions, protocols, and tools for
building application software. A good API makes it
easier to develop a computer program by providing
all the building blocks, which are then put together by
the programmer.
API ?
INTRODUCTION
APIS
ARE EVERYWHERE
TYPES
MANY TYPES
HARDWARD SOFTWARE WEB …
TYPES
AN API EXPOSE A SERVICE. A HARDWARE CONSOMME IT
TYPES
AN API EXPOSE A SERVICE. A PROGRAM CONSOMME IT
TYPES
AN API EXPOSE A SERVICE. A WEBSITE CONSOMME IT
API
TYPES
AN API EXPOSE A SERVICE. AN APP CONSOMME IT
API
CLIENT / SERVER
CLIENT/SERVER
AN API EXPOSE A SERVICE. A WEBSITE CONSOMME IT
API
API CLIENT
SERVICE
PROVIDER
APIS ORIGINS
APIS ORIGINS
API IS A
CONTRACT
NOT LIKE
WEBSITE
WEBSITE CONTRACT CHANGE SIDE EFFECT
API CONTRACT CHANGE SIDE EFFECT
API CONTRACT
CONTRACT
= TRUST
API = TRUST
CONTRACT
= DOC
= TOOLS …
CONTRACT =
PROTOCOL
THE RESTAURANT ANALOGY
THE RESTAURANT ANALOGY
API Providers = Restaurant Owners
Developer Portal = Restaurant
APIs = Food & Drink items
API definition + Doc = Menu
API consumers (Apps) = Restaurant consumers (people)
Terms of Service = We Reserve The Right To Refuse - No
Substitutions
THE RESTAURANT ANALOGY
HTTP
API Provider
API Response
HTTP
API ClientAPI Client
API Request
HTTP IS THE UNDERLYING PROTOCOL USED BY THE WORLD WIDE
WEB AND THIS PROTOCOL DEFINES HOW MESSAGES ARE
FORMATTED AND TRANSMITTED, AND WHAT ACTIONS WEB SERVERS
AND BROWSERS SHOULD TAKE IN RESPONSE.
HTTP
WHAT IS HTTP
HTTP
FOR HUMAINS
HTTP
FOR CATS
HTTP
FOR MACHINES
API ONLY PLEASE!
CONTRACT =
STYLE
REPRESENTATIONAL STATE
TRANSFER
REST
REST
REST
ROY FIELDING
REST
RESTFUL API = FOLLOW THE REST ARCHITECTURE STYLE
RESOURCES & METHODS
REST
REST
RESOURCES
TEXT, IMAGE, MUSIC, VIDEO… AVAILABLE WITH AN URL
URL = UNIFORM RESOURCE LOCATOR
https://api.service.com/toto http://www.dailymotion.com/embed/xxxx http://dm.com
METHODS
methods meaning
GET Order
POST Update
DELETE Cancel
REST
REST API REQUEST
I'M FAMOUS AND I KNOW IT
REST VS SOAP VS XMLRPC
REST VS SOAP
REST
SOAP / XMLRPC
DATA = MARTIN LAWRENCE
REST VS SOAP
GRAPHQL
GRAPHQL
A spec/style to design an API
Over HTTP
Used in Facebook’s native apps in production since 2012
Open sourced in July 2015
GRAPHQL
GRAPHQL
THE API CLIENT HAS MORE POWER
GRAPHQL
THE API CLIENT HAS MORE POWER
GRAPHQL VS REST
REST is here to stay
Simple
Widely used
GraphQL
different approach
The UI is the king
Solve some limits of REST
REPRESENTATIONS
TEXTE
HTTP
API provider
API Response
HTTP
API ClientAPI Client
API Request
PRESENTATION ?
JSON
JSON
XML
XML
DAILYMOTION APIS
api_101
DATA API
SOME INSIGHTS
‣200 million API requests / day
‣Average response time : 70ms
‣500K API Keys
‣14 million connected users
DATA API
WHAT FOR ?
‣Get video data, user, playlist
‣Search videos
‣Publish videos
‣Get streams
‣Manage users
‣More…
DATA API
REST CALL
DATA API
GRAPH
DATA API
CRUDL
DATA API
API EXPLORER
PLAYER API
WHAT FOR ?
‣Embed & Customise
‣Interact (Advanced)
PLAYER API
EMBED
PLAYER API
INTERACT
PLAYER API
LISTEN EVENTSSEND ACTIONS
DEMO - Q&A
THANK YOU

More Related Content

api_101