35
API Design Tour: Dell Brian Mulloy @landlessness Apigee @apigee Round Rock, Texas, USA

API Design Tour: Dell

  • Upload
    apigee

  • View
    3.295

  • Download
    1

Embed Size (px)

Citation preview

Page 1: API Design Tour: Dell

API Design Tour:Dell

Brian Mulloy@landlessness

Apigee@apigee

Round Rock, Texas, USA

Page 2: API Design Tour: Dell

groups.google.com/group/api-craft

Page 3: API Design Tour: Dell

youtube.com/apigee

Page 4: API Design Tour: Dell

slideshare.net/apigee

Page 5: API Design Tour: Dell

@landlessness

@Dell

@apigee

@ravichittur @ctboyland@sbelekar

Page 6: API Design Tour: Dell

What does your company do?

Page 7: API Design Tour: Dell

Why do you have an API? How did it get started?

Page 8: API Design Tour: Dell

Who are your target developers? Internal? Partners? Open?

Page 9: API Design Tour: Dell

How is your API used?

Page 10: API Design Tour: Dell

What is your API design philosophy?

Page 11: API Design Tour: Dell

Which aspects of the API design have generated the most discussion internally and externally?

Page 12: API Design Tour: Dell

How do you approach URI design?

<?xml version="1.0" encoding="utf-8"?><GetAssetSummaryResponse xmlns=http://tempuri.org/> <GetAssetSummaryResult xmlns:a="http://schemas.datacontract.org/2004/07/Dell.AWR.Domain.Asset"xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <a:Faults/> <a:Response xmlns:b="http://schemas.datacontract.org/2004/07/Dell.AWR.Domain.Asset.Mobile"> <b:DellAsset> <b:AssetParts> <b:AssetPart> <b:PartDescription>Processor,T9550,2.66,6MB,Core Penryn,35W,E0</b:PartDescription> <b:PartDescriptionRefined>Processor, T9550, 2.66, 6MB, Core Penryn, 35W, E0</b:PartDescriptionRefined> <b:PartNumber>H185K</b:PartNumber>      <b:Quantity>1</b:Quantity>

Response

/content/customize/v2/{app_root}/{file}.(xml|json)

URI Examples

/support/assetinfo/v2/summary.xml?svctags=2sqs3bs

Page 13: API Design Tour: Dell

How do you handle multiple formats? What is your default?

/support/assetinfo/v2/summary.xml

/support/assetinfo/v2/summary.json

XML is the default.

Page 14: API Design Tour: Dell

How do you handle pagination?

https://sandbox.api.dell.com/support/assetinfo/v2/summary.xml?svctags=2sqs3bs&limit=20&offset=1

Limit & Offset

Page 15: API Design Tour: Dell

How do you handle metadata in your responses?

Page 16: API Design Tour: Dell

How do you handle counting?

Page 17: API Design Tour: Dell

How do you approach HTTP Verbs?

Page 18: API Design Tour: Dell

Which convention do you use for response attribute names?

Page 19: API Design Tour: Dell

How do you handle errors?

<Code>eAPI-40420</Code><Message>Resource Not Found</Message><Reason>Failed to find the resource: ${Config File Name} for API: ${APIName}</Reason><Source>Gateway</Source>

Typical Error Response Template

200 301 302 400 500

HTTP Status Codes

Page 20: API Design Tour: Dell

How do you handle versions?

/support/assetinfo/v2/header.{xml/json}

Page 21: API Design Tour: Dell

How do you handle backwards compatibility, deprecation and obsolescence?

Page 22: API Design Tour: Dell

How do you handle search?

Page 23: API Design Tour: Dell

What design flourishes are you proud of?

Page 24: API Design Tour: Dell

What changes have you made to your design because it was confusing for developers?

Page 25: API Design Tour: Dell

What are your top level sub domain names for your API and your developer portal?

http://api.dell.com/

http://developer.dell.com/

Currently API & developer portal are internal only.

Page 26: API Design Tour: Dell

How do you handle authentication and authorization?

Page 27: API Design Tour: Dell

How do you handle SDKs and code libraries?

Page 28: API Design Tour: Dell

How have performance considerations impacted your API design?

Page 29: API Design Tour: Dell

What challenges can API Teams anticipate as they implement their API initiatives?

Page 30: API Design Tour: Dell

What is on your API roadmap?

Page 31: API Design Tour: Dell

What else should we know about your API?

Page 32: API Design Tour: Dell

Questions from audience?

Page 33: API Design Tour: Dell

THANK YOUSubscribe to API webcasts at:

youtube.com/apigee

Page 34: API Design Tour: Dell

THANK YOUQuestions and ideas to:

groups.google.com/group/api-craft

Page 35: API Design Tour: Dell

THANK YOUContact me at:

@[email protected]

@apigee