SlideShare a Scribd company logo
Jeff Zabel 
jeff@datahero.com 
@jczabel 
© 2014 DataHero, Inc. Confidential and Proprietary
WHAT WE DO 
DataHero delivers a self-service Cloud BI solution that 
enables enterprise and SMB users to analyze and 
visualize their SAAS-based data without IT 
© 2014 DataHero, Inc. Confidential and Proprietary
THE EMERGING CLOUD BI MARKET
DATAHERO: 
API EXPERTS 
© 2014 DataHero, Inc. Confidential and Proprietary
BUSINESS INTEGRATIONS 
WRITTEN 26 INTEGRATIONS & COUNTING 
© 2014 DataHero, Inc. Confidential and Proprietary
OPTIMIZED DATA INGEST FRAMEWORK 
CUSTOM CONNECTORS 
• High-speed connectors built in 
collaboration with partners for optimal 
performance 
• Robust, extensible framework supports 
rapid development of new connectors 
• Secure integrations leverage partner 
security models for consistent data 
visibility 
EXTENSIBLE CONNECTION 
FRAMEWORK 
C 
ONNE 
CT 
OR 
C 
ONNE 
CT 
OR 
C 
ONNE 
CT 
OR
GETTING 
STARTED 
© 2014 DataHero, Inc. Confidential and Proprietary
DEFINE YOUR API USE CASES 
SINGLE USER / DEVELOPER MULTIPLE USERS 
EXPERIENCED DEVELOPER INEXPERIENCED DEVELOPER
HELP ME GET STARTED 
• Create a friendly subdomain – developer.yourcompany.com 
• Provide a nice high level overview of your sections and some way to navigate 
them: 
• Getting started / Quick Start 
• Documentation 
• API Reference Docs 
• Tutorials or Code Samples 
• Authentication 
• Extras
EASY TO REGISTER 
• Make it obvious how to register my application 
• Can I use your product for free? 
• If no and you want 3rd parties to develop applications, make it easy to 
create a developer account 
• Find the right way in your business to enable a developer or sandbox 
account 
• Enable me to customize my application on your site 
• Add my URLS 
• Add contact information 
• Upload my branding or logo 
CLEAR CALL TO 
ACTION
LIMITATIONS / UNIQUE 
• Tell me about restrictions 
• Quotas 
• Rate Limits 
• Terms of Service 
• Give me a clear description of your error codes & make sure even your proxies 
return in the appropriate api response type 
• Anything I should know that makes your API Unique 
• Do you have an Export API
AUTHENTICATION 
© 2014 DataHero, Inc. Confidential and Proprietary
AUTHENTICATION 
PERSONAL EXPERIENCE 
Authentication is probably one of the most important parts of your API. It is your first 
impression. If it is difficult to get authenticated or get your application keys, it leaves 
a bitter taste in your mouth. 
API KEYS 
• Allows you to generate unique 
“passwords” for api usage. 
• Arguably easier to implement than Oauth 
• If you create this, consider allowing 
unique “users” or API keys for various 
applications 
OAUTH 2.0 
• Arguably the most secure method 
• Allows users to easily revoke 
applications one by one 
• Provides a trusted and safe 
credential page 
• Allows you as the API provider to 
understand how many installs a 
particular application has
OAUTH 
TIPS 
• Provide different application keys for different domains 
• Prevent your keys from being used on another domain 
• Implement the optional “Revoke” token method 
• Use OAuth 2.0, but if you use 1.0, make it obvious to developers 
• Use scopes to limit access or permissions 
• Create a read vs write permission 
• Control access to various components 
• Configure to allow access token request via HTTP Post
IMPLEMENTATION 
& DOCUMENTATION 
© 2014 DataHero, Inc. Confidential and Proprietary
DOCUMENTATION 
IT GOES WITHOUT SAYING 
If authentication is your first impression, documentation is your overall appearance.
REST VS SOAP 
• Base URI: http://example.com/resources 
• Define the response media type: JSON, XML, etc 
• Standard HTTP methods (GET, POST, PUT, DELETE) 
Resource GET PUT POST DELETE 
Collection URI 
http://example.com/charts 
List all the charts Replace the 
entire collection 
Create a new 
entry in the 
collection 
Delete the 
entire 
collection 
Element URI 
http://datahero.com/chart/123 
Retrieve a single 
chart 
Replace the 
single member of 
the collection or 
create it if it 
doesn’t exist 
Delete the 
single 
member of 
the collection 
OPINION ON SOAP 
It’s not 1998 anymore. Move on. 
In our integrations, we’re seeing a movement from SOAP to REST from the “older” or 
more “established” technology companies
SERVICE ENDPOINTS 
MAKE YOUR RESPONSES RESTFUL & CLEARLY DEFINE YOUR ENDPOINTS 
METHOD NAME HTTP METHOD 
DESCRIPTION
RESPONSE OBJECTS 
CLEARY DEFINE THE RESPONSE OBJECT 
ENDPOINT DETAILED DESCRIPTION EXAMPLE RESPONSE
XML OR JSON 
XML 
• Allows you to define an extremely rigid 
data structure. 
• Name spacing and extensibility 
• Flexibility 
JSON 
• Has become the “defacto” standard 
response of REST apis 
• Most new modern languages support 
easy parsing (Ruby, Node.js, Python) 
• Structure is easily imported into nosql 
databases and big data stores 
• Is more lightweight and less verbose 
TAKEAWAY: 
Unless you really have a good reason, do yourself a favor and just use JSON.
CLIENT LIBRARIES 
• Make it easy for less experienced 
developers to get started 
• Enables you to test your API if you create a 
generated client 
• DataHero has created 6 node.js clients for 
partners: 
• node-eventbrite 
• node-exacttarget 
• node-hubspot 
• node-marketo 
• node-pardot 
• Surveymokey 
• And contributed to even more 
• node-mailchimp 
• node-recurly 
• node-zendesk
VERSIONING 
• JSON is awesome, but change can be hard 
• You’re going to change, so make it easy and 
create api versioning 
• Allow your old endpoints to survive – remember 
that others might not move as fast as you
DEMO ACCOUNTS 
THE EMPTY STATES OF APIS 
Would you create a web application without good empty states? 
Then don’t do it with your API 
COOL IDEA: 
Create a communal 
account that 
developers can use
COMMUNITY FORUMS 
ENABLE THE COMMUNITY TO HELP OUT 
• Posts questions on use cases, helpful tips, bugs, etc. 
• Help guide your company on what to create next (or enable 3rd party developers 
to do it for you) 
• Doesn’t take much to get started, simply a Google Group or Uservoice will do
WEBHOOKS 
PUSH YOUR INFORMATION OUT 
• Do you have information that would be useful to provide as alerts, then use 
webhooks 
• Any server can listen for these changes and then update your application 
accordingly 
• Make sure to create a degrading re-try mechanism on your requests
Jeff Zabel 
jeff@datahero.com 
@jczabel 
WE’RE HIRING! 
© 2014 DataHero, Inc. Confidential and Proprietary
Ad

More Related Content

What's hot (20)

Security Is a Concern, Let’s Make It an Enabler
Security Is a Concern, Let’s Make It an EnablerSecurity Is a Concern, Let’s Make It an Enabler
Security Is a Concern, Let’s Make It an Enabler
Nordic APIs
 
How We Brought Advanced HTML5 Viewing to ADF
How We Brought Advanced HTML5 Viewing to ADFHow We Brought Advanced HTML5 Viewing to ADF
How We Brought Advanced HTML5 Viewing to ADF
SeanGraham5
 
Restful Services
Restful ServicesRestful Services
Restful Services
SHAKIL AKHTAR
 
Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013
Giuseppe Marchi
 
Deploying PHP Applications to AWS Elastic Beanstalk
Deploying PHP Applications to AWS Elastic BeanstalkDeploying PHP Applications to AWS Elastic Beanstalk
Deploying PHP Applications to AWS Elastic Beanstalk
Boyd Hemphill
 
4 Changes We're Making to Help you be Successful in the Cloud
4 Changes We're Making to Help you be Successful in the Cloud4 Changes We're Making to Help you be Successful in the Cloud
4 Changes We're Making to Help you be Successful in the Cloud
Atlassian
 
Introducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 SessionIntroducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 Session
Serge Huber
 
Don't just pdf, Smart PDF
Don't just pdf, Smart PDFDon't just pdf, Smart PDF
Don't just pdf, Smart PDF
ColdFusionConference
 
Introducing the Apache Unomi Project
Introducing the Apache Unomi ProjectIntroducing the Apache Unomi Project
Introducing the Apache Unomi Project
Jahia Solutions Group
 
Building Quality into the AEM Publication Workflow with Active Standards by D...
Building Quality into the AEM Publication Workflow with Active Standards by D...Building Quality into the AEM Publication Workflow with Active Standards by D...
Building Quality into the AEM Publication Workflow with Active Standards by D...
AEM HUB
 
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
Serge Huber
 
I Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWS
I Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWSI Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWS
I Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWS
Apigee | Google Cloud
 
Launch into New Markets with JIRA Service Desk
Launch into New Markets with JIRA Service DeskLaunch into New Markets with JIRA Service Desk
Launch into New Markets with JIRA Service Desk
Atlassian
 
Continuous Integration and Delivery at Shapeways (Matt Boyle)
Continuous Integration and Delivery at Shapeways (Matt Boyle)Continuous Integration and Delivery at Shapeways (Matt Boyle)
Continuous Integration and Delivery at Shapeways (Matt Boyle)
Nordic APIs
 
The User Who Must Not be Named: GDPR and Your Jira App
The User Who Must Not be Named: GDPR and Your Jira AppThe User Who Must Not be Named: GDPR and Your Jira App
The User Who Must Not be Named: GDPR and Your Jira App
Atlassian
 
API 101 - Understanding APIs
API 101 - Understanding APIsAPI 101 - Understanding APIs
API 101 - Understanding APIs
3scale
 
Updates on the Data Center Apps Program
Updates on the Data Center Apps ProgramUpdates on the Data Center Apps Program
Updates on the Data Center Apps Program
Atlassian
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusionConference
 
Spec-first API Design for Speed and Safety
Spec-first API Design for Speed and SafetySpec-first API Design for Speed and Safety
Spec-first API Design for Speed and Safety
Atlassian
 
Design mobile efficient Apis
Design mobile efficient ApisDesign mobile efficient Apis
Design mobile efficient Apis
Mobile Rtpl
 
Security Is a Concern, Let’s Make It an Enabler
Security Is a Concern, Let’s Make It an EnablerSecurity Is a Concern, Let’s Make It an Enabler
Security Is a Concern, Let’s Make It an Enabler
Nordic APIs
 
How We Brought Advanced HTML5 Viewing to ADF
How We Brought Advanced HTML5 Viewing to ADFHow We Brought Advanced HTML5 Viewing to ADF
How We Brought Advanced HTML5 Viewing to ADF
SeanGraham5
 
Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013
Giuseppe Marchi
 
Deploying PHP Applications to AWS Elastic Beanstalk
Deploying PHP Applications to AWS Elastic BeanstalkDeploying PHP Applications to AWS Elastic Beanstalk
Deploying PHP Applications to AWS Elastic Beanstalk
Boyd Hemphill
 
4 Changes We're Making to Help you be Successful in the Cloud
4 Changes We're Making to Help you be Successful in the Cloud4 Changes We're Making to Help you be Successful in the Cloud
4 Changes We're Making to Help you be Successful in the Cloud
Atlassian
 
Introducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 SessionIntroducing Apache Unomi - JavaOne 2015 Session
Introducing Apache Unomi - JavaOne 2015 Session
Serge Huber
 
Introducing the Apache Unomi Project
Introducing the Apache Unomi ProjectIntroducing the Apache Unomi Project
Introducing the Apache Unomi Project
Jahia Solutions Group
 
Building Quality into the AEM Publication Workflow with Active Standards by D...
Building Quality into the AEM Publication Workflow with Active Standards by D...Building Quality into the AEM Publication Workflow with Active Standards by D...
Building Quality into the AEM Publication Workflow with Active Standards by D...
AEM HUB
 
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
Serge Huber
 
I Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWS
I Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWSI Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWS
I Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWS
Apigee | Google Cloud
 
Launch into New Markets with JIRA Service Desk
Launch into New Markets with JIRA Service DeskLaunch into New Markets with JIRA Service Desk
Launch into New Markets with JIRA Service Desk
Atlassian
 
Continuous Integration and Delivery at Shapeways (Matt Boyle)
Continuous Integration and Delivery at Shapeways (Matt Boyle)Continuous Integration and Delivery at Shapeways (Matt Boyle)
Continuous Integration and Delivery at Shapeways (Matt Boyle)
Nordic APIs
 
The User Who Must Not be Named: GDPR and Your Jira App
The User Who Must Not be Named: GDPR and Your Jira AppThe User Who Must Not be Named: GDPR and Your Jira App
The User Who Must Not be Named: GDPR and Your Jira App
Atlassian
 
API 101 - Understanding APIs
API 101 - Understanding APIsAPI 101 - Understanding APIs
API 101 - Understanding APIs
3scale
 
Updates on the Data Center Apps Program
Updates on the Data Center Apps ProgramUpdates on the Data Center Apps Program
Updates on the Data Center Apps Program
Atlassian
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusionConference
 
Spec-first API Design for Speed and Safety
Spec-first API Design for Speed and SafetySpec-first API Design for Speed and Safety
Spec-first API Design for Speed and Safety
Atlassian
 
Design mobile efficient Apis
Design mobile efficient ApisDesign mobile efficient Apis
Design mobile efficient Apis
Mobile Rtpl
 

Viewers also liked (20)

Klipfolio stratigent webinar
Klipfolio stratigent webinarKlipfolio stratigent webinar
Klipfolio stratigent webinar
Stratigent
 
Case study on survey data analysis with Klipfolio
Case study on survey data analysis with KlipfolioCase study on survey data analysis with Klipfolio
Case study on survey data analysis with Klipfolio
anugupta15
 
Valencia
ValenciaValencia
Valencia
javivimp
 
Sisense Business Intelligence v6.0.0 r2 kor
Sisense  Business Intelligence v6.0.0 r2 kor Sisense  Business Intelligence v6.0.0 r2 kor
Sisense Business Intelligence v6.0.0 r2 kor
Jucheol Kim
 
Dataweek Presentation from Chris Neumann
Dataweek Presentation from Chris NeumannDataweek Presentation from Chris Neumann
Dataweek Presentation from Chris Neumann
DataHero
 
Presentation Netvibes
Presentation NetvibesPresentation Netvibes
Presentation Netvibes
jnuk
 
Jeff Sauer @ All Things DATA 2016 - Automating Google Analytics
Jeff Sauer @ All Things DATA 2016 - Automating Google AnalyticsJeff Sauer @ All Things DATA 2016 - Automating Google Analytics
Jeff Sauer @ All Things DATA 2016 - Automating Google Analytics
Shuki Mann
 
Service Cloud Mobile Dashboard
Service Cloud Mobile DashboardService Cloud Mobile Dashboard
Service Cloud Mobile Dashboard
Sales Support Systematics Sp. z o.o.
 
Power point Valencia
Power point ValenciaPower point Valencia
Power point Valencia
guest855acc
 
Presentación en powerpoint sobre Valencia
Presentación en powerpoint sobre ValenciaPresentación en powerpoint sobre Valencia
Presentación en powerpoint sobre Valencia
robertogarciagauss
 
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
Devid Dekegel
 
Richslide for enterprise
Richslide for enterpriseRichslide for enterprise
Richslide for enterprise
Jun Gyun Bae
 
Grafana Review
Grafana ReviewGrafana Review
Grafana Review
Sangmo Goo
 
Klipfolio The 8 must have metrics for your marketing dashboard
Klipfolio   The 8 must have metrics for your marketing dashboardKlipfolio   The 8 must have metrics for your marketing dashboard
Klipfolio The 8 must have metrics for your marketing dashboard
Klipfolio
 
관제, IoT/Wearable에서 주목할 정보행동
관제, IoT/Wearable에서 주목할 정보행동관제, IoT/Wearable에서 주목할 정보행동
관제, IoT/Wearable에서 주목할 정보행동
Seoul National University
 
Difference between business intelligence, business analytics, and business an...
Difference between business intelligence, business analytics, and business an...Difference between business intelligence, business analytics, and business an...
Difference between business intelligence, business analytics, and business an...
Santosh Mishra
 
Pbi iot data viz
Pbi iot data vizPbi iot data viz
Pbi iot data viz
David Moss
 
Groupby -Power bi dashboard in hour by vishal pawar-Presentation
Groupby -Power bi dashboard in hour by vishal pawar-Presentation Groupby -Power bi dashboard in hour by vishal pawar-Presentation
Groupby -Power bi dashboard in hour by vishal pawar-Presentation
Vishal Pawar
 
BI Dashboard Formula Methodology: How to make your first big data visualizati...
BI Dashboard Formula Methodology: How to make your first big data visualizati...BI Dashboard Formula Methodology: How to make your first big data visualizati...
BI Dashboard Formula Methodology: How to make your first big data visualizati...
BI Brainz
 
TWP Meetup
TWP MeetupTWP Meetup
TWP Meetup
selwynjacob90
 
Klipfolio stratigent webinar
Klipfolio stratigent webinarKlipfolio stratigent webinar
Klipfolio stratigent webinar
Stratigent
 
Case study on survey data analysis with Klipfolio
Case study on survey data analysis with KlipfolioCase study on survey data analysis with Klipfolio
Case study on survey data analysis with Klipfolio
anugupta15
 
Sisense Business Intelligence v6.0.0 r2 kor
Sisense  Business Intelligence v6.0.0 r2 kor Sisense  Business Intelligence v6.0.0 r2 kor
Sisense Business Intelligence v6.0.0 r2 kor
Jucheol Kim
 
Dataweek Presentation from Chris Neumann
Dataweek Presentation from Chris NeumannDataweek Presentation from Chris Neumann
Dataweek Presentation from Chris Neumann
DataHero
 
Presentation Netvibes
Presentation NetvibesPresentation Netvibes
Presentation Netvibes
jnuk
 
Jeff Sauer @ All Things DATA 2016 - Automating Google Analytics
Jeff Sauer @ All Things DATA 2016 - Automating Google AnalyticsJeff Sauer @ All Things DATA 2016 - Automating Google Analytics
Jeff Sauer @ All Things DATA 2016 - Automating Google Analytics
Shuki Mann
 
Power point Valencia
Power point ValenciaPower point Valencia
Power point Valencia
guest855acc
 
Presentación en powerpoint sobre Valencia
Presentación en powerpoint sobre ValenciaPresentación en powerpoint sobre Valencia
Presentación en powerpoint sobre Valencia
robertogarciagauss
 
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
Devid Dekegel
 
Richslide for enterprise
Richslide for enterpriseRichslide for enterprise
Richslide for enterprise
Jun Gyun Bae
 
Grafana Review
Grafana ReviewGrafana Review
Grafana Review
Sangmo Goo
 
Klipfolio The 8 must have metrics for your marketing dashboard
Klipfolio   The 8 must have metrics for your marketing dashboardKlipfolio   The 8 must have metrics for your marketing dashboard
Klipfolio The 8 must have metrics for your marketing dashboard
Klipfolio
 
관제, IoT/Wearable에서 주목할 정보행동
관제, IoT/Wearable에서 주목할 정보행동관제, IoT/Wearable에서 주목할 정보행동
관제, IoT/Wearable에서 주목할 정보행동
Seoul National University
 
Difference between business intelligence, business analytics, and business an...
Difference between business intelligence, business analytics, and business an...Difference between business intelligence, business analytics, and business an...
Difference between business intelligence, business analytics, and business an...
Santosh Mishra
 
Pbi iot data viz
Pbi iot data vizPbi iot data viz
Pbi iot data viz
David Moss
 
Groupby -Power bi dashboard in hour by vishal pawar-Presentation
Groupby -Power bi dashboard in hour by vishal pawar-Presentation Groupby -Power bi dashboard in hour by vishal pawar-Presentation
Groupby -Power bi dashboard in hour by vishal pawar-Presentation
Vishal Pawar
 
BI Dashboard Formula Methodology: How to make your first big data visualizati...
BI Dashboard Formula Methodology: How to make your first big data visualizati...BI Dashboard Formula Methodology: How to make your first big data visualizati...
BI Dashboard Formula Methodology: How to make your first big data visualizati...
BI Brainz
 
Ad

Similar to DataHero / Eventbrite - API Best Practices (20)

apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptx
apidays
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for Longevity
MuleSoft
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Callon Campbell
 
JOSA TechTalks - RESTful API Concepts and Best Practices
JOSA TechTalks - RESTful API Concepts and Best PracticesJOSA TechTalks - RESTful API Concepts and Best Practices
JOSA TechTalks - RESTful API Concepts and Best Practices
Jordan Open Source Association
 
Scaling API Design
Scaling API DesignScaling API Design
Scaling API Design
Jason Harmon
 
The Next Step to Build Better APIs — Consistent Data Structure
The Next Step to Build Better APIs — Consistent Data StructureThe Next Step to Build Better APIs — Consistent Data Structure
The Next Step to Build Better APIs — Consistent Data Structure
Dialexa
 
Top 10 Lessons Learned from the Netflix API - OSCON 2014
Top 10 Lessons Learned from the Netflix API - OSCON 2014Top 10 Lessons Learned from the Netflix API - OSCON 2014
Top 10 Lessons Learned from the Netflix API - OSCON 2014
Daniel Jacobson
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortals
Axway
 
Designing Usable APIs featuring Forrester Research, Inc.
Designing Usable APIs featuring Forrester Research, Inc.Designing Usable APIs featuring Forrester Research, Inc.
Designing Usable APIs featuring Forrester Research, Inc.
CA API Management
 
Api frenzy june 2013 v2
Api frenzy june 2013 v2Api frenzy june 2013 v2
Api frenzy june 2013 v2
Sachin Agarwal
 
API Frenzy: The Implications and Planning for a Successful API Strategy
API Frenzy: The Implications and Planning for a Successful API StrategyAPI Frenzy: The Implications and Planning for a Successful API Strategy
API Frenzy: The Implications and Planning for a Successful API Strategy
Akana
 
Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014
Jason Harmon
 
Scaling API Design
Scaling API DesignScaling API Design
Scaling API Design
Jason Harmon
 
APIs as a Product Strategy
APIs as a Product StrategyAPIs as a Product Strategy
APIs as a Product Strategy
Ravi Kumar
 
CA API Developer Portal
CA API Developer PortalCA API Developer Portal
CA API Developer Portal
James Farley-Sutton
 
Deploy a web API in 15'
Deploy a web API in 15'Deploy a web API in 15'
Deploy a web API in 15'
Restlet
 
Oscon2014 Netflix API - Top 10 Lessons Learned
Oscon2014 Netflix API - Top 10 Lessons LearnedOscon2014 Netflix API - Top 10 Lessons Learned
Oscon2014 Netflix API - Top 10 Lessons Learned
Sangeeta Narayanan
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
Shailen Sukul
 
Openbar Leuven \\ Using API Management to improve developers productivity \\ ...
Openbar Leuven \\ Using API Management to improve developers productivity \\ ...Openbar Leuven \\ Using API Management to improve developers productivity \\ ...
Openbar Leuven \\ Using API Management to improve developers productivity \\ ...
Openbar
 
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptx
apidays
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for Longevity
MuleSoft
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Callon Campbell
 
JOSA TechTalks - RESTful API Concepts and Best Practices
JOSA TechTalks - RESTful API Concepts and Best PracticesJOSA TechTalks - RESTful API Concepts and Best Practices
JOSA TechTalks - RESTful API Concepts and Best Practices
Jordan Open Source Association
 
Scaling API Design
Scaling API DesignScaling API Design
Scaling API Design
Jason Harmon
 
The Next Step to Build Better APIs — Consistent Data Structure
The Next Step to Build Better APIs — Consistent Data StructureThe Next Step to Build Better APIs — Consistent Data Structure
The Next Step to Build Better APIs — Consistent Data Structure
Dialexa
 
Top 10 Lessons Learned from the Netflix API - OSCON 2014
Top 10 Lessons Learned from the Netflix API - OSCON 2014Top 10 Lessons Learned from the Netflix API - OSCON 2014
Top 10 Lessons Learned from the Netflix API - OSCON 2014
Daniel Jacobson
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortals
Axway
 
Designing Usable APIs featuring Forrester Research, Inc.
Designing Usable APIs featuring Forrester Research, Inc.Designing Usable APIs featuring Forrester Research, Inc.
Designing Usable APIs featuring Forrester Research, Inc.
CA API Management
 
Api frenzy june 2013 v2
Api frenzy june 2013 v2Api frenzy june 2013 v2
Api frenzy june 2013 v2
Sachin Agarwal
 
API Frenzy: The Implications and Planning for a Successful API Strategy
API Frenzy: The Implications and Planning for a Successful API StrategyAPI Frenzy: The Implications and Planning for a Successful API Strategy
API Frenzy: The Implications and Planning for a Successful API Strategy
Akana
 
Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014
Jason Harmon
 
Scaling API Design
Scaling API DesignScaling API Design
Scaling API Design
Jason Harmon
 
APIs as a Product Strategy
APIs as a Product StrategyAPIs as a Product Strategy
APIs as a Product Strategy
Ravi Kumar
 
Deploy a web API in 15'
Deploy a web API in 15'Deploy a web API in 15'
Deploy a web API in 15'
Restlet
 
Oscon2014 Netflix API - Top 10 Lessons Learned
Oscon2014 Netflix API - Top 10 Lessons LearnedOscon2014 Netflix API - Top 10 Lessons Learned
Oscon2014 Netflix API - Top 10 Lessons Learned
Sangeeta Narayanan
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
Shailen Sukul
 
Openbar Leuven \\ Using API Management to improve developers productivity \\ ...
Openbar Leuven \\ Using API Management to improve developers productivity \\ ...Openbar Leuven \\ Using API Management to improve developers productivity \\ ...
Openbar Leuven \\ Using API Management to improve developers productivity \\ ...
Openbar
 
Ad

Recently uploaded (20)

ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design ThinkingDT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DhruvChotaliya2
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
Raish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdfRaish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdf
RaishKhanji
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
Avnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights FlyerAvnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights Flyer
WillDavies22
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Journal of Soft Computing in Civil Engineering
 
Introduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptxIntroduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptx
AS1920
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
inmishra17121973
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
Reagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptxReagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptx
AlejandroOdio
 
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Journal of Soft Computing in Civil Engineering
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design ThinkingDT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DhruvChotaliya2
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
Raish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdfRaish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdf
RaishKhanji
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
Avnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights FlyerAvnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights Flyer
WillDavies22
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
Introduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptxIntroduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptx
AS1920
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
inmishra17121973
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
Reagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptxReagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptx
AlejandroOdio
 

DataHero / Eventbrite - API Best Practices

  • 1. Jeff Zabel [email protected] @jczabel © 2014 DataHero, Inc. Confidential and Proprietary
  • 2. WHAT WE DO DataHero delivers a self-service Cloud BI solution that enables enterprise and SMB users to analyze and visualize their SAAS-based data without IT © 2014 DataHero, Inc. Confidential and Proprietary
  • 3. THE EMERGING CLOUD BI MARKET
  • 4. DATAHERO: API EXPERTS © 2014 DataHero, Inc. Confidential and Proprietary
  • 5. BUSINESS INTEGRATIONS WRITTEN 26 INTEGRATIONS & COUNTING © 2014 DataHero, Inc. Confidential and Proprietary
  • 6. OPTIMIZED DATA INGEST FRAMEWORK CUSTOM CONNECTORS • High-speed connectors built in collaboration with partners for optimal performance • Robust, extensible framework supports rapid development of new connectors • Secure integrations leverage partner security models for consistent data visibility EXTENSIBLE CONNECTION FRAMEWORK C ONNE CT OR C ONNE CT OR C ONNE CT OR
  • 7. GETTING STARTED © 2014 DataHero, Inc. Confidential and Proprietary
  • 8. DEFINE YOUR API USE CASES SINGLE USER / DEVELOPER MULTIPLE USERS EXPERIENCED DEVELOPER INEXPERIENCED DEVELOPER
  • 9. HELP ME GET STARTED • Create a friendly subdomain – developer.yourcompany.com • Provide a nice high level overview of your sections and some way to navigate them: • Getting started / Quick Start • Documentation • API Reference Docs • Tutorials or Code Samples • Authentication • Extras
  • 10. EASY TO REGISTER • Make it obvious how to register my application • Can I use your product for free? • If no and you want 3rd parties to develop applications, make it easy to create a developer account • Find the right way in your business to enable a developer or sandbox account • Enable me to customize my application on your site • Add my URLS • Add contact information • Upload my branding or logo CLEAR CALL TO ACTION
  • 11. LIMITATIONS / UNIQUE • Tell me about restrictions • Quotas • Rate Limits • Terms of Service • Give me a clear description of your error codes & make sure even your proxies return in the appropriate api response type • Anything I should know that makes your API Unique • Do you have an Export API
  • 12. AUTHENTICATION © 2014 DataHero, Inc. Confidential and Proprietary
  • 13. AUTHENTICATION PERSONAL EXPERIENCE Authentication is probably one of the most important parts of your API. It is your first impression. If it is difficult to get authenticated or get your application keys, it leaves a bitter taste in your mouth. API KEYS • Allows you to generate unique “passwords” for api usage. • Arguably easier to implement than Oauth • If you create this, consider allowing unique “users” or API keys for various applications OAUTH 2.0 • Arguably the most secure method • Allows users to easily revoke applications one by one • Provides a trusted and safe credential page • Allows you as the API provider to understand how many installs a particular application has
  • 14. OAUTH TIPS • Provide different application keys for different domains • Prevent your keys from being used on another domain • Implement the optional “Revoke” token method • Use OAuth 2.0, but if you use 1.0, make it obvious to developers • Use scopes to limit access or permissions • Create a read vs write permission • Control access to various components • Configure to allow access token request via HTTP Post
  • 15. IMPLEMENTATION & DOCUMENTATION © 2014 DataHero, Inc. Confidential and Proprietary
  • 16. DOCUMENTATION IT GOES WITHOUT SAYING If authentication is your first impression, documentation is your overall appearance.
  • 17. REST VS SOAP • Base URI: http://example.com/resources • Define the response media type: JSON, XML, etc • Standard HTTP methods (GET, POST, PUT, DELETE) Resource GET PUT POST DELETE Collection URI http://example.com/charts List all the charts Replace the entire collection Create a new entry in the collection Delete the entire collection Element URI http://datahero.com/chart/123 Retrieve a single chart Replace the single member of the collection or create it if it doesn’t exist Delete the single member of the collection OPINION ON SOAP It’s not 1998 anymore. Move on. In our integrations, we’re seeing a movement from SOAP to REST from the “older” or more “established” technology companies
  • 18. SERVICE ENDPOINTS MAKE YOUR RESPONSES RESTFUL & CLEARLY DEFINE YOUR ENDPOINTS METHOD NAME HTTP METHOD DESCRIPTION
  • 19. RESPONSE OBJECTS CLEARY DEFINE THE RESPONSE OBJECT ENDPOINT DETAILED DESCRIPTION EXAMPLE RESPONSE
  • 20. XML OR JSON XML • Allows you to define an extremely rigid data structure. • Name spacing and extensibility • Flexibility JSON • Has become the “defacto” standard response of REST apis • Most new modern languages support easy parsing (Ruby, Node.js, Python) • Structure is easily imported into nosql databases and big data stores • Is more lightweight and less verbose TAKEAWAY: Unless you really have a good reason, do yourself a favor and just use JSON.
  • 21. CLIENT LIBRARIES • Make it easy for less experienced developers to get started • Enables you to test your API if you create a generated client • DataHero has created 6 node.js clients for partners: • node-eventbrite • node-exacttarget • node-hubspot • node-marketo • node-pardot • Surveymokey • And contributed to even more • node-mailchimp • node-recurly • node-zendesk
  • 22. VERSIONING • JSON is awesome, but change can be hard • You’re going to change, so make it easy and create api versioning • Allow your old endpoints to survive – remember that others might not move as fast as you
  • 23. DEMO ACCOUNTS THE EMPTY STATES OF APIS Would you create a web application without good empty states? Then don’t do it with your API COOL IDEA: Create a communal account that developers can use
  • 24. COMMUNITY FORUMS ENABLE THE COMMUNITY TO HELP OUT • Posts questions on use cases, helpful tips, bugs, etc. • Help guide your company on what to create next (or enable 3rd party developers to do it for you) • Doesn’t take much to get started, simply a Google Group or Uservoice will do
  • 25. WEBHOOKS PUSH YOUR INFORMATION OUT • Do you have information that would be useful to provide as alerts, then use webhooks • Any server can listen for these changes and then update your application accordingly • Make sure to create a degrading re-try mechanism on your requests
  • 26. Jeff Zabel [email protected] @jczabel WE’RE HIRING! © 2014 DataHero, Inc. Confidential and Proprietary