Links

Troubleshooting webhooks

Learn how to review your webhook deliveries on TextMaster, including the HTTP request and response.
TextMaster provides some tooling for testing and troubleshooting your webhooks.

Listing deliveries

You can list recent deliveries to quickly look whether a delivery was successful or failed. You can also identify when each delivery was attempted. TextMaster keeps a log of each webhook delivery for some period of time.
By expanding an individual delivery, you'll be able to witness precisely what information TextMaster is attempting to send to your server. This includes both the HTTP Request and Response.
List recent deliveries

Request

The webhook delivery view provides information on which HTTP Headers were sent by TextMaster. It also includes details about the JSON payload.

Response

The response tab lists how your server replied once it received the payload from TextMaster. This includes the status code, the headers, and any additional data within the response body.
Tips: We will sometime populate the response body with error messages on un-expected exceptions received from your server.

Retries

TextMaster will automatically retry failed deliveries for up to 20 times with exponential backoff time in between each retry attempts. Each new attempt will appear as a new delivery in the recent delivery list.

Idempotency

Your server implementation should be idempotent, meaning it should not error out if receiving the same webhook multiple times. We guarantee delivery of webhook at least once but webhooks can be delivered more than once to your server.
We also cannot guarantee the order in which webhooks are delivered. Your server should handle receiving events out of order.

Timeout

The HTTP connection between TextMaster and your server will stay opened for at most 30 seconds. After that, the connection is automatically closed and the delivery is considered a failure.
Since webhooks can include heavy payloads, we recommend setting up an asynchronous server implementation which delegates the payload handling to a background job as soon as possible. This will ensure your server replies quickly to the delivery attempt and avoid timeout errors.