68
APIs (for beginners) @ssaunier

API for Beginners

Embed Size (px)

Citation preview

Page 1: API for Beginners

APIs(for beginners)

@ssaunier

Page 2: API for Beginners

Application Programming Interface

Page 3: API for Beginners

an used by with an

Interface Programs to interact Application

Page 4: API for Beginners

Application

Page 5: API for Beginners

(User) Interface

Page 6: API for Beginners

Program

Page 7: API for Beginners

No (direct) human usage of APIs

Page 8: API for Beginners

Developers

Page 9: API for Beginners

APIs expose something useful

Page 10: API for Beginners

API

Page 11: API for Beginners

Developers write Programs which consumes APIs

Page 12: API for Beginners

API Consumption

Page 13: API for Beginners

Web APIs

Page 14: API for Beginners

http://www.programmableweb.com/category/all/apis

Page 15: API for Beginners

Google Maps JS API

Page 16: API for Beginners

AirBnB

Page 17: API for Beginners

Twilio API

Page 18: API for Beginners

UBER

Page 19: API for Beginners

As a developer,

Page 20: API for Beginners

I need GPS coordinates of venues to show next gigs in town on a map

Page 21: API for Beginners

Timeout content manager don’t know GPS coordinates of venues

Page 22: API for Beginners

Timeout content manager won’t manually enter GPS coordinates of venues

Page 23: API for Beginners

Timeout content manager will enter venue addresses

Page 24: API for Beginners

There’s an API for that

Page 25: API for Beginners

Google Geocoding API

developers.google.com/maps/documentation/geocoding/

Page 26: API for Beginners

10 Downing St, London

Page 27: API for Beginners

10 Downing St, London

{ "location" : { "lat" : 51.5034066, "lng" : -0.1275923 }} This is called JSON

Page 28: API for Beginners

How does it work?

Page 29: API for Beginners

API call is an HTTP request

Page 30: API for Beginners

https://maps.googleapis.com/maps/api/geocode/json?address=10 Downing St, London

Page 31: API for Beginners

When do we call the API?

Page 32: API for Beginners
Page 33: API for Beginners
Page 34: API for Beginners
Page 35: API for Beginners

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

Page 36: API for Beginners

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

Page 37: API for Beginners

APIs are consumed by programs (not humans)

Page 38: API for Beginners

Are we done?

Page 39: API for Beginners

Raw GPS coordinates

Page 40: API for Beginners
Page 41: API for Beginners

Developer should now integrate the Google Maps JS API

JS stands for JavaScript here

Page 42: API for Beginners

Let’s look at some code

Page 43: API for Beginners

I want the app to send text messages if a gig is cancelled

Page 44: API for Beginners

Step 1 - Sign up to Twilio

Page 45: API for Beginners

Step 2 - Fetch credentials

Page 46: API for Beginners

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!' )

Page 47: API for Beginners

Step 4 - Run code

Page 48: API for Beginners

Your program sent a text!

Page 49: API for Beginners

WEBHOOKS (API )-1

Page 50: API for Beginners
Page 51: API for Beginners

Every 10 seconds, call the API to fetch list of Meetup attendees

Page 52: API for Beginners

Don’t call us, we’ll call you

Hollywood Principle

Page 53: API for Beginners

Meetup, please call my server as soon as a new member has RSVP’d

Webhook

Page 54: API for Beginners

myapp.com/member_rsvpd

For incoming requests

Page 55: API for Beginners

Webhook vs API call

Meetup My app

WEBHOOK

API Call

Page 56: API for Beginners

META

Page 57: API for Beginners

Let’s take an example,

Page 58: API for Beginners

Wufoo form to capture leads

Trello for my sales team

Lead Management

Page 59: API for Beginners

WEBHOOK Service A pushes data as soon as available

API Service B exposes methods to read, create or update data

Page 60: API for Beginners

WEBHOOK Wufoo pushes form entries as soon as captured

API Trello exposes methods to create new cards

Page 61: API for Beginners

Introducing Zapier

Page 62: API for Beginners
Page 63: API for Beginners

Zapier

Page 64: API for Beginners

Demo

Page 65: API for Beginners

When you’ll hit Zapier's limit, come learn to code at Le Wagon!

Page 66: API for Beginners

Thank you!

Page 67: API for Beginners

Going further

http://www.slideshare.net/welkaim/api-part-1-introduction-to-technology-and-business-models

Page 68: API for Beginners

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