Skip to main content

Webhook integration

Handle notifications

{
  "id": "8172849c-e676-4c2a-8be8-2824cf41efa0",
  "tenant": "********",
  "event": "ORDER_CREATED",
  "timestamp": "2023-08-11T14:09:41.933Z",
  "data": {
    ...
  },
  "signature": "K0Z4V2lkM2pIaHpZdUNES3ZPRHJhcWNIaVFIN1R1SXpuZUgvSXBmMUtEQT0="
}

Each webhook notification contains the following fields:

id - The unique identifier of the webhook notification. It can be used to verify if it has been processed already.

tenant - The tenant key for which the notification was sent. It can be used in organisations that have multiple units to identify the unit.

event - The type of event to which the notification relates.

timestamp - The time the notification payload was created.

signature - The signature related to the notification. It should be used to verify that the payload was not modified in transit.

Apart from this, there is still the data field. The contents of this field depend on the event.

Here is an overview of the different events that can be enabled and their corresponding contents:

  • ORDER_CREATED

    "data" : {
        "id": "<Order id>"
    }
  • ORDER_CONFIRMED

    "data" : {
        "id": "<Order id>"
    }
  • ORDER_CANCELLED

    "data" : {
        "id": "<Order id>",
        "reason": "<Cancellation reason>" // Unknown - PaymentFailed - VenueCancelledFromSales - VenueCancelledFromApi - AutomaticCancellationExpiredOrderBySystem - PaymentRefunded - ResellerCancelledFromIndirectEndpoint - Visitor
    }
  • ORDER_PARTIALLY_CANCELLED

    "data" : {
        "id": "<Order id>"
    }
  • ORDER_REBOOKED

    "data" : {
        "id": "<Order id>"
    }
  • ORDER_REBOOK_CANCELLED

    "data" : {
        "id": "<Order id>"
    }
  • PASS_SCANNED

    "data" : {
        "id": "<Pass id>",
        "scannedDate": "<Pass scan date & time>",
    }
  • PAYMENT_LINK_CREATED

    "data" : {
        "paymentId": "<Payment id>",
        "paymentLink": "<Link to the payment form>",
        "amountValue": "<Value of the amount>",
        "amountCurrency": "<Currency of the amount>",
        "topicId": "<Topic id>",
        "topicType": "<Topic type>",
    }
  • BOOKING_CREATED

    "data" : {
        "id": "<Booking id>"
    }
  • BOOKING_UPDATED

    "data" : {
        "id": "<Booking id>"
    }
  • BOOKING_CANCELLED

    "data" : {
        "ids": "[Booking1-id, Booking2-id]"
    }
  • VENUE_TASK_CREATED

    "data" : {
        "id": "<Task id>"
    }
  • VENUE_TASK_UPDATED

    "data" : {
        "id": "<Task id>"
    }
  • VENUE_TASK_CANCELLED

    "data" : {
        "id": "<Task id>"
    }
  • VENUE_TASK_ASSIGNED

    "data" : {
        "id": "<Task id>"
    }
  • VENUE_TASK_UNASSIGNED

    "data" : {
        "id": "<Task id>"
    }
  • LOCKER_STATE_CHANGED

    "data" : {
        "lockId": "<Lock Id>"
    }
  • DATA_CARRIER_CREATED

    "data" : {
        "dataCarrierId": "<Data Carrier Id>",
        "lockerUserId": "<Locker User Id>"
    }
  • DATA_CARRIER_DELETED

    "data" : {
        "dataCarrierId": "<Data Carrier Id>",
        "lockerUserId": "<Locker User Id>"
    }
  • DATA_CARRIER_STATUS_UPDATED

    "data" : {
        "dataCarrierId": "<Data Carrier Id>",
        "lockerUserId": "<Locker User Id>"
    }
  • DATA_CARRIER_UPDATED

    "data" : {
        "dataCarrierId": "<Data Carrier Id>",
        "lockerUserId": "<Locker User Id>"
    }
  • EXECUTE_LOCK_ACTION

    "data" : {
        "lockIds": "[Lock1-id, Lock2-id]"
    }
  • LOCKER_CREATED

    "data" : {
        "lockId": "<Lock Id>"
    }
  • LOCKER_DELETED

    "data" : {
        "lockId": "<Lock Id>"
    }
  • LOCKER_MODE_CHANGED

    "data" : {
        "lockId": "<Lock Id>"
    }
  • LOCKER_GROUP_CREATED

    "data" : {
        "lockerGroupId": "<Lockergroup Id>"
    }
  • LOCKER_GROUP_DELETED

    "data" : {
        "lockerGroupId": "<Lockergroup Id>"
    }
  • LOCKER_GROUP_UPDATED

    "data" : {
        "lockerGroupId": "<Lockergroup Id>"
    }
  • LOCKER_USER_CREATED

    "data" : {
        "lockerUserId": "<Locker User Id>"
    }
  • LOCKER_USER_DELETED

    "data" : {
        "lockerUserId": "<Locker User Id>"
    }
  • LOCKER_USER_UPDATED

    "data" : {
        "lockerUserId": "<Locker User Id>"
    }
  • MAINTENANCE_DATA_CARRIER_CREATED

    "data" : {
        "dataCarrierId": "<Data Carrier Id>",
        "lockerUserId": "<Locker User Id>"
    }
  • MAINTENANCE_DATA_CARRIER_DELETED

    "data" : {
        "dataCarrierId": "<Data Carrier Id>",
        "lockerUserId": "<Locker User Id>"
    }
  • MAINTENANCE_DATA_CARRIER_STATUS_UPDATED

    "data" : {
        "dataCarrierId": "<Data Carrier Id>",
        "lockerUserId": "<Locker User Id>"
    }
  • MAINTENANCE_DATA_CARRIER_UPDATED

    "data" : {
        "dataCarrierId": "<Data Carrier Id>",
        "lockerUserId": "<Locker User Id>"
    }
  • MASTER_CARD_SET_CREATED

    "data" : {
        "masterCardSetId": "<MasterCardSet Id>"
    }
  • MASTER_CARD_SET_DELETED

    "data" : {
        "masterCardSetId": "<MasterCardSet Id>"
    }
  • MASTER_CARD_SET_SYNCHRONIZED

    "data" : {
        "masterCardSetId": "<MasterCardSet Id>"
    }
  • MASTER_CARD_SET_UPDATED

    "data" : {
        "masterCardSetId": "<MasterCardSet Id>"
    }
  • LOCK_ALARM_CHANGED

    "data" : {
        "lockId": "<Lock Id>"
    }

Warning

The maximum timeout for webhook notifications is 5 seconds. If we do not receive a response within 5 seconds, the notification is timed out and retried according to the retry mechanisms.

Note

Please note that the contents of the data fields may change. New properties may be added and should be treated as non-breaking changes.

It is advised to always be open to these changes to ensure proper handling of notifications.