Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

WeB HookS

Slide 3

Slide 3 text

The api StrikeS bacK

Slide 4

Slide 4 text

A long time ago, in a galaxy far, far away...

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Phil Nash @philnash http:/ /philna.sh [email protected]

Slide 7

Slide 7 text

WeB HookS

Slide 8

Slide 8 text

Today • What are WebHooks? • Sending WebHooks • Receiving WebHooks

Slide 9

Slide 9 text

WHAT ARE WEBHOOKS?

Slide 10

Slide 10 text

WHY USE WEBHOOKS?

Slide 11

Slide 11 text

REAL TIME DATA

Slide 12

Slide 12 text

http:/ /www.flickr.com/photos/25834786@N03/4585036818 - secretlondon123

Slide 13

Slide 13 text

GETTING THE RIGHT RESPONSE

Slide 14

Slide 14 text

WHO USES WEBHOOKS?

Slide 15

Slide 15 text

Webhooks everywhere • Twilio • GitHub • Heroku • Braintree • Stripe • MailChimp • SendGrid • DropBox • ...and many more

Slide 16

Slide 16 text

DEMO

Slide 17

Slide 17 text

SENDING WEBHOOKS

Slide 18

Slide 18 text

BE A GOOD HTTP CLIENT

Slide 19

Slide 19 text

CACHING AND COOKIES

Slide 20

Slide 20 text

DEALING WITH ERRORS

Slide 21

Slide 21 text

RETRIES OR FALLBACKS?

Slide 22

Slide 22 text

SECURITY

Slide 23

Slide 23 text

HTTPS

Slide 24

Slide 24 text

HTTP AUTH

Slide 25

Slide 25 text

SIGN REQUESTS

Slide 26

Slide 26 text

Sending Webhooks • Be a good HTTP client • Deal with failures • Sign requests

Slide 27

Slide 27 text

WORKING WITH WEBHOOKS

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

NGROK

Slide 30

Slide 30 text

SECURITY

Slide 31

Slide 31 text

USE HTTPS

Slide 32

Slide 32 text

VERIFY THE SIGNATURE

Slide 33

Slide 33 text

SOME WEBHOOK PROVIDERS DON'T SIGN THEIR REQUESTS

Slide 34

Slide 34 text

¯\_( ツ)_/¯

Slide 35

Slide 35 text

SHARE SECRETS

Slide 36

Slide 36 text

PERFORMANCE

Slide 37

Slide 37 text

BE GOOD TO YOURSELF AND THE WEBHOOK

Slide 38

Slide 38 text

DELAY LONG RUNNING TASKS

Slide 39

Slide 39 text

IDEMPOTENCE

Slide 40

Slide 40 text

WHAT ABOUT THE RETRIES?

Slide 41

Slide 41 text

Webhooks • Tunnelling for development • Verify signatures • Use HTTPS • Respond quickly to Webhooks • Idempotence

Slide 42

Slide 42 text

Thanks! @philnash http:/ /philna.sh [email protected]