Webhooks

The qiibee platform webhooks allow you to subscribe to specific event types and be notified when they occur. You can register specific URLs and choose the event types you want to be notified about.

You will receive the notification in the form of an HTTP POST call to the specified URLs using Basic Auth as an authentication mechanism and the event data supplied as the JSON body of the request.

Supported event types

Currently only the transactions event type is supported. An event is emitted when a transaction is minted.

General event format

{
  "type": "<event_type>",
  "version": "<version_number>",
  "data": { <event_specific_data> }
}

Transactions event format

{
  "type": "transactions",
  "version": "<version_number>",
  "data": {
    "status": "success" | "failure",
    "hash": "<transaction_hash>",
    "blockNumber": "<block_number>"
  }
}

Webhook call validation

To authenticate the webhook call, Basic Auth is used. A username and password pair needs to be provided for each URL created. qiibee will make a call using an Authorization header using these credentials and the Basic Auth format.

Retry policy

for the HTTP POST requests, qiibee inspects the HTTP response status code and reacts accordingly:

  • if the response status is in the range [200,299] the webhook call is assumed to be successful and never retried.
  • if the response status is any other value, the webhook call is retried following the retry policy

The call is retried with a exponential backoff retry policy, for up to 1 hour+. After this point, your server will no longer receive notifications for that particular notification.

In order to reconcile your state for transactions once retrying is stopped, you will have to use the GET /transactions/ and GET /transactions/{hash} API calls to fetch the result of those transaction events.

Creating webhooks

To create your webhooks, please get in touch on the designated Slack channel, once you've started the integration process and the qiibee team will handle the setup for you.