Skip to content

Latest commit

 

History

History
68 lines (49 loc) · 2.47 KB

File metadata and controls

68 lines (49 loc) · 2.47 KB
title Webhooks
nav_order 13

A webhook is simply a user-defined callback in the form of an HTTP POST which is invoked when something happens. So for example whenever a new booking is created in Makeplans we can send a POST request to the URL you specify. The response will include data about the modified object.

Payload

NameTypeDescription
eventStringType of event
idempotency_idStringUnique id for this webhook
generated_atStringWhen the event was initialized
performed_byObjectInfo of the user who performed the event
dataObjectRelated object for event type

Data payload

NameTypeDescription
objectStringType of object
idIntegerId of the object
*object_type*ObjectPayload of the object

Deprecated attributes

The attributes in the data payload, 'object', 'id', and 'object_type', are also included in the root payload due to legacy reasons. Please use the data attribute. The legacy attributes will be removed in the future.

Supported events

  • booking.cancelled
  • booking.confirmed
  • booking.created
  • booking.declined
  • booking.deleted
  • booking.modified
  • booking.verified
  • event.created
  • event.deleted
  • event.modified
  • message.processed
  • person.created
  • person.deleted
  • person.modified

Wildcard usage

You can use wildcard to trigger all or grouped events: * or booking.*

Security

Verify payload signature

We include a X-MakePlans-Signature header in the webhook request. Use this to verify the request body to ensure the request is from Makeplans and signed with your account secret. The header includes details about the signature and the signature itself. We use HMAC SHA-256 to compute this signature.

Example: X-MakePlans-Signature: sha256=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd.

Authentication

You can add HTTP Basic Auth credentials or a parameter secret to the webhook URL.

Retries

We will retry after any 4xx or 5xx HTTP status response. Note that 4xx responses are also retried as they may be caused by temporary issues on the receiving end. Maximum retries are 5. The timeout is set to 10 seconds.