KEMBAR78
API for Beginners | PDF
APIs

(for beginners)
@ssaunier
Application
Programming
Interface
an
used by
with an
Interface
Programs to interact
Application
Application
(User) Interface
Program
No (direct)
human usage
of APIs
Developers
APIs expose
something useful
API
Developers
write Programs
which consumes APIs
API Consumption
Web APIs
http://www.programmableweb.com/category/all/apis
Google Maps JS API
AirBnB
Twilio API
UBER
As a developer,
I need GPS coordinates
of venues to show next
gigs in town on a map
Timeout content manager
don’t know
GPS coordinates of venues
Timeout content manager
won’t manually enter
GPS coordinates of venues
Timeout content manager
will enter venue addresses
There’s an API for that
Google Geocoding API
developers.google.com/maps/documentation/geocoding/
10 Downing St, London
10 Downing St, London
{
"location" : {
"lat" : 51.5034066,
"lng" : -0.1275923
}
} This is called JSON
How does it work?
API call is an HTTP request
https://maps.googleapis.com/maps/api/geocode/json?address=10 Downing St, London
When do we call the API?
Timeout Server
did the API call
not you,

neither your browser
Timeout Server
did the API call
not you,

neither your browser
APIs are consumed by programs
(not humans)
Are we done?
Raw GPS coordinates
Developer should now
integrate the
Google Maps JS API
JS stands for JavaScript here
Let’s look at some code
I want the app to
send text messages
if a gig is cancelled
Step 1 - Sign up to Twilio
Step 2 - Fetch credentials
Step 3 - Write some ruby
require 'twilio-ruby'
account_sid = 'AC__________'
auth_token = '_____________'
client = Twilio::REST::Client.new(account_sid, auth_token)
client.messages.create(
from: '+336123456789',
to: '+3370000000000',
body: 'Hi buddy, you should attend Le Wagon!'
)
Step 4 - Run code
Your program sent a text!
WEBHOOKS
(API )-1
Every 10 seconds,
call the API to fetch list of
Meetup attendees
Don’t call us, we’ll call you
Hollywood Principle
Meetup, please
call my server
as soon as
a new member has RSVP’d
Webhook
myapp.com/member_rsvpd
For incoming requests
Webhook vs API call
Meetup My app
WEBHOOK
API Call
META
Let’s take an example,
Wufoo form to capture leads
Trello for my sales team
Lead Management
WEBHOOK
Service A pushes data
as soon as available
API
Service B exposes methods
to read, create or update data
WEBHOOK
Wufoo pushes form entries
as soon as captured
API
Trello exposes methods
to create new cards
Introducing Zapier
Zapier
Demo
When you’ll hit
Zapier's limit, come
learn to code at
Le Wagon!
Thank you!
Going further
http://www.slideshare.net/welkaim/api-part-1-introduction-to-technology-and-business-models
Photo Credits
• http://pixabay.com/en/phone-dial-old-arrangement-499991/
• https://www.flickr.com/photos/knowledge-test/10359484896/
• http://www.gentside.com/wall-e/wallpaper/page_4.html
• https://www.flickr.com/photos/cgc76/13637753574
• https://www.flickr.com/photos/nori_n/271373399
• https://www.flickr.com/photos/jnyemb/5225841771
• https://www.flickr.com/photos/booleansplit/5527628335
• https://www.flickr.com/photos/lizhaslam/13257286833
• https://www.flickr.com/photos/armandfrasco/8741186
• https://www.flickr.com/photos/photobunny_earl/2239452148
• https://www.flickr.com/photos/89228431@N06/11221050956

API for Beginners