SlideShare a Scribd company logo
Giuliano Iacobelli, Stamplay
g@stamplay.com
Webhooks do’s and dont’s: what we learned
integrating +100 APIs
Webhooks do's and dont's: what we learned after integrating +100 APIs - Giuliano Iacobelli - Codemotion Rome 2017
g@stamplay.com
Lego for APIs
Stamplay is a low-code platform that provides a visual interface to drag&drop
connectors and creates integration workflows between services
g@stamplay.com
Token based Auth

(e.g OAuth2)
Machine readable
docs (Swagger, RAML,
IO docs)
Webhooks HATEOAS
Key requirements for APIs in the automation era
Simple, consistent, flexible, friendly, explorable via URL 

and use web standards where they make sense.
g@stamplay.com
Key requirements for APIs in the automation era
Simple, consistent, flexible, friendly, explorable via URL 

and use web standards where they make sense.
Token based Auth

(e.g OAuth2)
Machine readable
docs (Swagger, RAML,
IO docs)
Webhooks HATEOAS
g@stamplay.com
WEBHOOKS
=
HTTP PUSH NOTIFICATIONS
g@stamplay.com
g@stamplay.com
g@stamplay.com
g@stamplay.com
g@stamplay.com
g@stamplay.com
Consumer sets up a server to listen for webhooks

Consumer registers webhook URL with provider

Provider starts making request to webhook URL when event
happens
Webhook Setup
g@stamplay.com
Consumer sets up a server to listen for webhooks

Consumer registers webhook URL with provider

Provider starts making request to webhook URL when event
happens
Webhook Setup
g@stamplay.com
Consumer sets up a server to listen for webhooks

Consumer registers webhook URL with provider

Provider starts making request to webhook URL when event
happens
Webhook Setup
g@stamplay.com
Webhook anatomy
Webhooks are fundamental pieces of an API today and a simple notification
is no longer enough, as an API provider you need to do the heavy lifting for your users
• a verb: POST
• an explicit event type: which could be subscribed by any
user (for Github: pull_request, fork, commit, issues, etc.. )
• a payload: containing the relevant data for the related event 

• including: the resource itself, the sender (user who
triggered the webhook) 

• constant data structure
• a security hash: to ensure webhook was delivered by the
rightful authority 

• for Github: sharing a common secret used to generate a
hash from the payload
• an ID
g@stamplay.com
Fat payload vs Thin payload
Provide as much information as possible about the event that is being notified, as well as
additional information for the client to act upon that event.
g@stamplay.com
Batch vs Single
Services providing high frequency / volume of data might opt to make less calls
and batch data into an array
g@stamplay.com
Subscribing to events using multiple URLs
Webhooks are fundamental pieces of an API today and a simple notification
is no longer enough, as an API provider you need to do the heavy lifting for your users
• a CRUD API 

	 •	 a payload URL: the server endpoint that will
receive the webhook payload 

	 •	 events list: which events would you like to
subscribe to 

	 •	 (optional) the content type 

g@stamplay.com
Subscribing to multiple events to single URL
Webhooks are fundamental pieces of an API today and a simple notification
is no longer enough, as an API provider you need to do the heavy lifting for your users
g@stamplay.com
Fine grained control on events you want to listen on
Webhooks are fundamental pieces of an API today and a simple notification
is no longer enough, as an API provider you need to do the heavy lifting for your users
g@stamplay.com
Renewing subscriptions
Avoid sending webhooks to endpoints that are no longer active
by implementing a subscription renewal logic
g@stamplay.com
API for Webhooks aka REST Hooks
Webhooks are fundamental pieces of an API today and a simple notification
is no longer enough, as an API provider you need to do the heavy lifting for your users
g@stamplay.com
Securing Webhooks
Webhooks are fundamental pieces of an API today and a simple notification
is no longer enough, as an API provider you need to do the heavy lifting for your users
g@stamplay.com
Webhooks debugging
Receives HTTP requests and captures the data for later inspection
g@stamplay.com
Webhooks toolkit: Ngrok
Secure introspectable tunnels to localhost
g@stamplay.com
g@stamplay.com
Questions?
g@stamplay.com
Try Stamplay:
stamplay.com
Thank you!

More Related Content

What's hot (20)

PDF
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
PivotalOpenSourceHub
 
PDF
Supercharge your app with Cloud Functions for Firebase
Bret McGowen - NYC Google Developer Advocate
 
PDF
IThome DevOps Summit - IoT、docker與DevOps
Simon Su
 
PPTX
Stream Processing Live Traffic Data with Kafka Streams
Tom Van den Bulck
 
PDF
GDG Jakarta Meetup - Streaming Analytics With Apache Beam
Imre Nagi
 
PDF
Serverless with Google Cloud
Bret McGowen - NYC Google Developer Advocate
 
PDF
Getting Started on Google Cloud Platform
Aaron Taylor
 
PDF
Where should I run my code? Serverless, Containers, Virtual Machines and more
Bret McGowen - NYC Google Developer Advocate
 
PPTX
Kubernetes + netflix oss
Cristiano Altmann
 
PDF
Live Event Debugging With ksqlDB at Reddit | Hannah Hagen and Paul Kiernan, R...
HostedbyConfluent
 
PDF
Application Monitoring using Datadog
Mukta Aphale
 
PDF
Making Sense of Your Event-Driven Dataflows (Jorge Esteban Quilcate Otoya, SY...
confluent
 
PPTX
Giles sirett welcome and cloud stack news
ShapeBlue
 
PDF
From Postgres to Event-Driven: using docker-compose to build CDC pipelines in...
confluent
 
PDF
Introduction to Google Cloud Platform
Opsta
 
PPTX
Meteor Day Athens (2014-11-07)
svub
 
PDF
Building a Serverless company with Node.js, React and the Serverless Framewor...
Luciano Mammino
 
PPTX
Building an Event-oriented Data Platform with Kafka, Eric Sammer
confluent
 
PDF
Serverless with Google Cloud Functions
Jerry Jalava
 
PDF
Guaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, Nutanix
HostedbyConfluent
 
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
PivotalOpenSourceHub
 
Supercharge your app with Cloud Functions for Firebase
Bret McGowen - NYC Google Developer Advocate
 
IThome DevOps Summit - IoT、docker與DevOps
Simon Su
 
Stream Processing Live Traffic Data with Kafka Streams
Tom Van den Bulck
 
GDG Jakarta Meetup - Streaming Analytics With Apache Beam
Imre Nagi
 
Serverless with Google Cloud
Bret McGowen - NYC Google Developer Advocate
 
Getting Started on Google Cloud Platform
Aaron Taylor
 
Where should I run my code? Serverless, Containers, Virtual Machines and more
Bret McGowen - NYC Google Developer Advocate
 
Kubernetes + netflix oss
Cristiano Altmann
 
Live Event Debugging With ksqlDB at Reddit | Hannah Hagen and Paul Kiernan, R...
HostedbyConfluent
 
Application Monitoring using Datadog
Mukta Aphale
 
Making Sense of Your Event-Driven Dataflows (Jorge Esteban Quilcate Otoya, SY...
confluent
 
Giles sirett welcome and cloud stack news
ShapeBlue
 
From Postgres to Event-Driven: using docker-compose to build CDC pipelines in...
confluent
 
Introduction to Google Cloud Platform
Opsta
 
Meteor Day Athens (2014-11-07)
svub
 
Building a Serverless company with Node.js, React and the Serverless Framewor...
Luciano Mammino
 
Building an Event-oriented Data Platform with Kafka, Eric Sammer
confluent
 
Serverless with Google Cloud Functions
Jerry Jalava
 
Guaranteed Event Delivery with Kafka and NodeJS | Amitesh Madhur, Nutanix
HostedbyConfluent
 

Viewers also liked (20)

PDF
Cyber Wars in the Cyber Space - Andrea Pompili - Codemotion Rome 2017
Codemotion
 
PDF
Microservices in GO - Massimiliano Dessì - Codemotion Rome 2017
Codemotion
 
PDF
Does Your Web App Speak Schadenfreude? - Greg Rewis - Codemotion Rome 2017
Codemotion
 
PDF
Community in a nutshell for developers - Alessio Fattorini - Codemotion Rome ...
Codemotion
 
PDF
Invader Studios: sviluppatori da “Incubo” - Tiziano Bucci - Codemotion Rome ...
Codemotion
 
PDF
Kunos Simulazioni and Assetto Corsa, behind the scenes- Alessandro Piva, Fabr...
Codemotion
 
PDF
S3, Cassandra or Outer Space? Dumping Time Series Data using Spark - Demi Be...
Codemotion
 
PDF
Component-Based UI Architectures for the Web - Andrew Rota - Codemotion Rome...
Codemotion
 
ODP
Container orchestration: the cold war - Giulio De Donato - Codemotion Rome 2017
Codemotion
 
PPTX
Commodore 64 Mon Amour(2): sprite multiplexing. Il caso Catalypse e altre sto...
Codemotion
 
PDF
Unreal Engine 4 Blueprints: Odio e amore Roberto De Ioris - Codemotion Rome 2017
Codemotion
 
PDF
Thinking Functionally - John Stevenson - Codemotion Rome 2017
Codemotion
 
PDF
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
Codemotion
 
PPTX
The busy developer guide to Docker - Maurice de Beijer - Codemotion Rome 2017
Codemotion
 
PDF
Barbarians at the Gate(way) - Dave Lewis - Codemotion Rome 2017
Codemotion
 
PDF
Web Based Virtual Reality - Tanay Pant - Codemotion Rome 2017
Codemotion
 
PPTX
An Introduction to Apache Ignite - Mandhir Gidda - Codemotion Rome 2017
Codemotion
 
PDF
Comics and immersive storytelling in Virtual Reality - Fabio Corrirossi - Cod...
Codemotion
 
PDF
Galateo semi-serio dell'Open Source - Luigi Dell' Aquila - Codemotion Rome 2017
Codemotion
 
PDF
Docker Inside/Out: the ‘real’ real-world of stacking containers in production...
Codemotion
 
Cyber Wars in the Cyber Space - Andrea Pompili - Codemotion Rome 2017
Codemotion
 
Microservices in GO - Massimiliano Dessì - Codemotion Rome 2017
Codemotion
 
Does Your Web App Speak Schadenfreude? - Greg Rewis - Codemotion Rome 2017
Codemotion
 
Community in a nutshell for developers - Alessio Fattorini - Codemotion Rome ...
Codemotion
 
Invader Studios: sviluppatori da “Incubo” - Tiziano Bucci - Codemotion Rome ...
Codemotion
 
Kunos Simulazioni and Assetto Corsa, behind the scenes- Alessandro Piva, Fabr...
Codemotion
 
S3, Cassandra or Outer Space? Dumping Time Series Data using Spark - Demi Be...
Codemotion
 
Component-Based UI Architectures for the Web - Andrew Rota - Codemotion Rome...
Codemotion
 
Container orchestration: the cold war - Giulio De Donato - Codemotion Rome 2017
Codemotion
 
Commodore 64 Mon Amour(2): sprite multiplexing. Il caso Catalypse e altre sto...
Codemotion
 
Unreal Engine 4 Blueprints: Odio e amore Roberto De Ioris - Codemotion Rome 2017
Codemotion
 
Thinking Functionally - John Stevenson - Codemotion Rome 2017
Codemotion
 
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
Codemotion
 
The busy developer guide to Docker - Maurice de Beijer - Codemotion Rome 2017
Codemotion
 
Barbarians at the Gate(way) - Dave Lewis - Codemotion Rome 2017
Codemotion
 
Web Based Virtual Reality - Tanay Pant - Codemotion Rome 2017
Codemotion
 
An Introduction to Apache Ignite - Mandhir Gidda - Codemotion Rome 2017
Codemotion
 
Comics and immersive storytelling in Virtual Reality - Fabio Corrirossi - Cod...
Codemotion
 
Galateo semi-serio dell'Open Source - Luigi Dell' Aquila - Codemotion Rome 2017
Codemotion
 
Docker Inside/Out: the ‘real’ real-world of stacking containers in production...
Codemotion
 
Ad

Similar to Webhooks do's and dont's: what we learned after integrating +100 APIs - Giuliano Iacobelli - Codemotion Rome 2017 (20)

PDF
APIs and Process automation at APIDays Global 2016
Giuliano Iacobelli
 
PDF
WebHooks in 10 Minutes
Jeff Lindsay
 
PDF
Webhooks
Guillaume POTIER
 
PPTX
2022 APIsecure_Making webhook APIs secure for enterprise
APIsecure_ Official
 
PDF
APIs That Make Things Happen
Jeff Lindsay
 
PPTX
Fast integrations for Fun and Profit
Marsh Gardiner
 
PDF
API for Beginners
Sébastien Saunier
 
PPTX
Best Practices for Architecting a Pragmatic Web API.
Mario Cardinal
 
PPTX
Webhook
Mohit Bishnoi
 
PPTX
A Deep Dive into RESTful API Design Part 2
VivekKrishna34
 
PDF
API Design & Security in django
Tareque Hossain
 
PDF
How to build a scalable SNS via Polling & Push
Mu Chun Wang
 
PPTX
REST-API introduction for developers
Patrick Savalle
 
PDF
REST API Basics
Tharindu Weerasinghe
 
PPTX
Api Design
Jason Harmon
 
PDF
How WebHooks Will Make Us All Programmers
Jeff Lindsay
 
PPT
Stop Making The Web Harder Than It Is; Real-world REST, HATEOAS, and Hypermed...
kiphampton
 
PDF
Building Awesome APIs with Lumen
Kit Brennan
 
PDF
RESTful Service Composition with JOpera
Cesare Pautasso
 
PDF
REST API Recommendations
Jeelani Shaik
 
APIs and Process automation at APIDays Global 2016
Giuliano Iacobelli
 
WebHooks in 10 Minutes
Jeff Lindsay
 
2022 APIsecure_Making webhook APIs secure for enterprise
APIsecure_ Official
 
APIs That Make Things Happen
Jeff Lindsay
 
Fast integrations for Fun and Profit
Marsh Gardiner
 
API for Beginners
Sébastien Saunier
 
Best Practices for Architecting a Pragmatic Web API.
Mario Cardinal
 
Webhook
Mohit Bishnoi
 
A Deep Dive into RESTful API Design Part 2
VivekKrishna34
 
API Design & Security in django
Tareque Hossain
 
How to build a scalable SNS via Polling & Push
Mu Chun Wang
 
REST-API introduction for developers
Patrick Savalle
 
REST API Basics
Tharindu Weerasinghe
 
Api Design
Jason Harmon
 
How WebHooks Will Make Us All Programmers
Jeff Lindsay
 
Stop Making The Web Harder Than It Is; Real-world REST, HATEOAS, and Hypermed...
kiphampton
 
Building Awesome APIs with Lumen
Kit Brennan
 
RESTful Service Composition with JOpera
Cesare Pautasso
 
REST API Recommendations
Jeelani Shaik
 
Ad

More from Codemotion (20)

PDF
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Codemotion
 
PDF
Pompili - From hero to_zero: The FatalNoise neverending story
Codemotion
 
PPTX
Pastore - Commodore 65 - La storia
Codemotion
 
PPTX
Pennisi - Essere Richard Altwasser
Codemotion
 
PPTX
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Codemotion
 
PPTX
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Codemotion
 
PPTX
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Codemotion
 
PPTX
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Codemotion
 
PDF
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Codemotion
 
PDF
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Codemotion
 
PDF
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Codemotion
 
PDF
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Codemotion
 
PDF
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Codemotion
 
PDF
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Codemotion
 
PPTX
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Codemotion
 
PPTX
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
Codemotion
 
PDF
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Codemotion
 
PDF
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Codemotion
 
PDF
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Codemotion
 
PDF
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Codemotion
 
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Codemotion
 
Pastore - Commodore 65 - La storia
Codemotion
 
Pennisi - Essere Richard Altwasser
Codemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Codemotion
 

Recently uploaded (20)

PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PPTX
Q2 Leading a Tableau User Group - Onboarding
lward7
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Q2 Leading a Tableau User Group - Onboarding
lward7
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 

Webhooks do's and dont's: what we learned after integrating +100 APIs - Giuliano Iacobelli - Codemotion Rome 2017