How to respond to webhook requests?

HTTP response status code

The external system should respond with the following HTTP response status codes to share with doo the status of webhook processing. Based on the response status code, doo will behave differently as described below.

HTTP response status code

Meaning

HTTP response status code

Meaning

200

The external system successfully received and processed the webhook, so doo won’t try to deliver this webhook again.

Not 200

It shows that something went wrong with the webhook delivery or processing, so doo will try to deliver the webhook again.

After 10 fails, doo moves the webhook to a dead letter queue. As soon as the webhook is on the dead letter queue, we have to process it manually.

Response payload

Successful and not successful responses should contain JSON of specific format:

{   "message": "string", // short success or error message   "description": "string" // additional information }

When you share the actual error message in the response, it’s easier for doo to understand the actual reason and resolve it.