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

More Related Content

PDF
Building the Eventbrite API Ecosystem
PDF
Connect First, Ask Confluence Questions Later
PDF
What is API - Understanding API Simplified
PPTX
Making Sense of Hypermedia APIs – Hype or Reality?
PDF
Scale a Swagger based Web API (Guillaume Laforge)
PDF
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
PDF
Apache Unomi Project In-depth
PDF
Crafting ColdFusion Applications like an Architect
Building the Eventbrite API Ecosystem
Connect First, Ask Confluence Questions Later
What is API - Understanding API Simplified
Making Sense of Hypermedia APIs – Hype or Reality?
Scale a Swagger based Web API (Guillaume Laforge)
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
Apache Unomi Project In-depth
Crafting ColdFusion Applications like an Architect

What's hot (20)

PPTX
Security Is a Concern, Let’s Make It an Enabler
PPTX
How We Brought Advanced HTML5 Viewing to ADF
PDF
Restful Services
PPTX
Sviluppare App per Office 2013 e SharePoint 2013
PDF
Deploying PHP Applications to AWS Elastic Beanstalk
PDF
4 Changes We're Making to Help you be Successful in the Cloud
PDF
Introducing Apache Unomi - JavaOne 2015 Session
PDF
Don't just pdf, Smart PDF
PDF
Introducing the Apache Unomi Project
PPTX
Building Quality into the AEM Publication Workflow with Active Standards by D...
PDF
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
PDF
I Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWS
PDF
Launch into New Markets with JIRA Service Desk
PPTX
Continuous Integration and Delivery at Shapeways (Matt Boyle)
PDF
The User Who Must Not be Named: GDPR and Your Jira App
PPT
API 101 - Understanding APIs
PDF
Updates on the Data Center Apps Program
PDF
ColdFusion Keynote: Building the Agile Web Since 1995
PDF
Spec-first API Design for Speed and Safety
PPSX
Design mobile efficient Apis
Security Is a Concern, Let’s Make It an Enabler
How We Brought Advanced HTML5 Viewing to ADF
Restful Services
Sviluppare App per Office 2013 e SharePoint 2013
Deploying PHP Applications to AWS Elastic Beanstalk
4 Changes We're Making to Help you be Successful in the Cloud
Introducing Apache Unomi - JavaOne 2015 Session
Don't just pdf, Smart PDF
Introducing the Apache Unomi Project
Building Quality into the AEM Publication Workflow with Active Standards by D...
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...
I Love APIs 2015: Advanced Security Extensions in Apigee Edge - JWT, JWE, JWS
Launch into New Markets with JIRA Service Desk
Continuous Integration and Delivery at Shapeways (Matt Boyle)
The User Who Must Not be Named: GDPR and Your Jira App
API 101 - Understanding APIs
Updates on the Data Center Apps Program
ColdFusion Keynote: Building the Agile Web Since 1995
Spec-first API Design for Speed and Safety
Design mobile efficient Apis
Ad

Viewers also liked (20)

PPT
Klipfolio stratigent webinar
PDF
Case study on survey data analysis with Klipfolio
PPT
Valencia
PPTX
Sisense Business Intelligence v6.0.0 r2 kor
PDF
Dataweek Presentation from Chris Neumann
PDF
Presentation Netvibes
PDF
Jeff Sauer @ All Things DATA 2016 - Automating Google Analytics
PDF
Service Cloud Mobile Dashboard
ODP
Power point Valencia
PPT
Presentación en powerpoint sobre Valencia
PDF
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
PPTX
Richslide for enterprise
PDF
Grafana Review
PPTX
Klipfolio The 8 must have metrics for your marketing dashboard
PDF
관제, IoT/Wearable에서 주목할 정보행동
PPTX
Difference between business intelligence, business analytics, and business an...
PDF
Pbi iot data viz
PDF
Groupby -Power bi dashboard in hour by vishal pawar-Presentation
PDF
BI Dashboard Formula Methodology: How to make your first big data visualizati...
PDF
TWP Meetup
Klipfolio stratigent webinar
Case study on survey data analysis with Klipfolio
Valencia
Sisense Business Intelligence v6.0.0 r2 kor
Dataweek Presentation from Chris Neumann
Presentation Netvibes
Jeff Sauer @ All Things DATA 2016 - Automating Google Analytics
Service Cloud Mobile Dashboard
Power point Valencia
Presentación en powerpoint sobre Valencia
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
Richslide for enterprise
Grafana Review
Klipfolio The 8 must have metrics for your marketing dashboard
관제, IoT/Wearable에서 주목할 정보행동
Difference between business intelligence, business analytics, and business an...
Pbi iot data viz
Groupby -Power bi dashboard in hour by vishal pawar-Presentation
BI Dashboard Formula Methodology: How to make your first big data visualizati...
TWP Meetup
Ad

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

PDF
Consumer centric api design v0.4.0
PDF
zendframework2 restful
PDF
Designing Usable APIs featuring Forrester Research, Inc.
PDF
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
PPTX
APIs in Enterprise
PPTX
Introduction to Hydra
PDF
What Are The Most Common Types Of API Integrations In 2025.docx.pdf
PDF
What Makes a Great Open API?
PPTX
Rest WebAPI with OData
PDF
PPTX
CakeFest 2013 - A-Z REST APIs
PPTX
CakeFest 2013 - A-Z REST APIs
PPTX
Executing on API Developer Experience
PDF
Kontent.ai DevMeetup #1 - Evoluce prvního veřejného API v hotelovém světě
DOCX
Fundamental essentials for api design
DOCX
Fundamental essentials for api design
DOCX
Fundamental Essentials for API Design
PPTX
Restful api
PDF
Ebook undisturbed rest-v1 [res_tful apis]
Consumer centric api design v0.4.0
zendframework2 restful
Designing Usable APIs featuring Forrester Research, Inc.
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
APIs in Enterprise
Introduction to Hydra
What Are The Most Common Types Of API Integrations In 2025.docx.pdf
What Makes a Great Open API?
Rest WebAPI with OData
CakeFest 2013 - A-Z REST APIs
CakeFest 2013 - A-Z REST APIs
Executing on API Developer Experience
Kontent.ai DevMeetup #1 - Evoluce prvního veřejného API v hotelovém světě
Fundamental essentials for api design
Fundamental essentials for api design
Fundamental Essentials for API Design
Restful api
Ebook undisturbed rest-v1 [res_tful apis]

Recently uploaded (20)

PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
Geodesy 1.pptx...............................................
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Lecture Notes Electrical Wiring System Components
PDF
PPT on Performance Review to get promotions
PPTX
additive manufacturing of ss316l using mig welding
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
Geodesy 1.pptx...............................................
Foundation to blockchain - A guide to Blockchain Tech
bas. eng. economics group 4 presentation 1.pptx
Internet of Things (IOT) - A guide to understanding
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
CYBER-CRIMES AND SECURITY A guide to understanding
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Lecture Notes Electrical Wiring System Components
PPT on Performance Review to get promotions
additive manufacturing of ss316l using mig welding
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Mitigating Risks through Effective Management for Enhancing Organizational Pe...

DataHero / Eventbrite - API Best Practices

  • 1. Jeff Zabel jeff@datahero.com @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 jeff@datahero.com @jczabel WE’RE HIRING! © 2014 DataHero, Inc. Confidential and Proprietary