Adoption-Centered API Design
-
Upload
apigee -
Category
Technology
-
view
116 -
download
0
description
Transcript of Adoption-Centered API Design
![Page 1: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/1.jpg)
Adoption-Centered API DesignMarsh Gardiner, @earth2marsh
Brian Mulloy, @landlessness
![Page 2: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/2.jpg)
2
Integers as a Service
![Page 3: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/3.jpg)
3
Overview
• How did we get here?• Where are we now?• Where are we going?• How are we going to get there?• Questions
![Page 4: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/4.jpg)
How did we get here?
![Page 5: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/5.jpg)
5
In the beginning…
![Page 6: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/6.jpg)
6
SOAP and XML-RPC
![Page 7: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/7.jpg)
7
REST
![Page 8: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/8.jpg)
8
The rise of…
• Software as a Service• Web Mashups• Virtualization• User Experience• Mobile
![Page 9: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/9.jpg)
9
Web vs App
![Page 10: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/10.jpg)
10
Technology unlocks technology…
![Page 11: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/11.jpg)
11
Gehry vs Winnebago
photo: uggboy
![Page 12: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/12.jpg)
Where are we now?
![Page 13: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/13.jpg)
13
Refocusing API design
![Page 14: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/14.jpg)
14
Passion (and controversy)
![Page 15: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/15.jpg)
15
Design for adoption
![Page 16: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/16.jpg)
16
Resource
Addressing:
IP: 173.194.70.102 google.com➡
Twitter: 14352786 @earth2marsh➡
https://github.com/apigee
![Page 17: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/17.jpg)
17
Verb
![Page 18: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/18.jpg)
18
General philosophy
![Page 19: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/19.jpg)
Applying RV patterns
![Page 20: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/20.jpg)
20
Collections and entities
https://api.stripe.com/
Summary of Resource URL Patterns/v1/charges/v1/charges/{CHARGE_ID}/v1/coupons/v1/coupons/{COUPON_ID}/v1/customers/v1/customers/{CUSTOMER_ID}
![Page 21: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/21.jpg)
21
Versions
/2010-04-01/Accounts/
Twilio
/services/data/v29.0/sobjects/Account
Salesforce
/v2/users
Foursquare
![Page 22: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/22.jpg)
22
Query parameters
/1.1/search/tweets.json?q=%23superbowl &result_type=recent
![Page 23: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/23.jpg)
23
Header parameters
![Page 24: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/24.jpg)
24
Conveniences
/me
/v1/people/~LinkedIn
/v2/checkins/recentFoursquare
![Page 25: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/25.jpg)
25
Formats
/users/3207.json
SoundCloud/users/3207
![Page 26: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/26.jpg)
26
Formats
![Page 27: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/27.jpg)
27
Actions
/search?q=watermelon&type=post
/convert?from=EUR&to=CNY&amount=100
Hypothetical
/droplets/{droplet_id}/reboot
DigitalOcean
![Page 28: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/28.jpg)
28
Authentication
![Page 29: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/29.jpg)
29
Dates
"created_at": "Thu Nov 03 05:19:38 +0000 2011"
"DateTime": "2011-10-29T09:35:00Z"
Bing
"createdAt": 1320296464Foursquare
![Page 30: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/30.jpg)
30
Filters
/me?fields=name,birthday,photos.limit(10).fields(id,picture),videos.type(tagged).limit(10).fields(id, source)
![Page 31: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/31.jpg)
31
Pagination
offset, limit
page, rppTwitter
start, countLinkedIn
![Page 32: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/32.jpg)
32
Pagination
offset, limit
![Page 33: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/33.jpg)
33
HATEOAS and the Hypermedia Constraint
![Page 34: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/34.jpg)
34
Hypermedia
![Page 35: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/35.jpg)
35
Great moments in mishandled error code history
![Page 36: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/36.jpg)
36
Errors
![Page 37: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/37.jpg)
37
SDKs
![Page 38: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/38.jpg)
38
Perfect is the enemy of done
![Page 39: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/39.jpg)
39
Questions
[email protected], @ResourceVerb
[email protected], @landlessness
[email protected], @earth2marsh
![Page 40: Adoption-Centered API Design](https://reader033.fdocuments.net/reader033/viewer/2022051014/54c89a774a795936628b45df/html5/thumbnails/40.jpg)
Marsh Gardiner, @earth2marsh
Brian Mulloy, @landlessness
Thank you