Webhooks
Last modified: 08 December 2023Overview
Webhooks allow you to receive responses in real-time. You can use webhooks to integrate with your own systems, or to send responses to other services.
How to Create a Webhook
note
We are preparing a UI for creating and managing Webhooks. Currently, you can only create and manage Webhooks using the API.
Currently, you can use the API to create Webhooks. You can refer to the Webhook API for information on how to create and manage Webhooks using the API.
Webhook URL
You need to provide a public URL, to which Smore will send a POST request when a new response is submitted. Your endpoint must meet the following requirements:
Must use the HTTPS protocol.
Capable of handling POST requests and JSON format payloads.
Able to return a successful response (HTTP status code 2XX) within 10 seconds.
note
Your endpoint has 10 seconds to process the request. If you anticipate a longer processing time, we recommend you immediately return a successful response to Smore upon receiving the request and process the request in the background.
Verifying Signatures
You can use a signature key to authenticate whether the request is from Smore. Please refer to Webhook Signatures for information on how to verify signatures.
Request Failures and Retry
We will attempt to resend the request in case of failure, as follows:
If you return a 404 (Not Found) or 410 (Gone) HTTP status code, Smore will mark the request as failed and immediately disable your Webhook, and you will receive an email notification.
If you return a non-2XX HTTP status code, Smore will mark the request as failed and attempt to resend the request over the next 24 hours using an exponential backoff mechanism:
After the first failure, Smore will retry sending the request after 5 minutes.
After the second failure, Smore will retry sending the request after 15 minutes.
After the third failure, Smore will retry sending the request after 35 minutes.
After the fourth failure, Smore will retry sending the request after 75 minutes.
After the fifth failure, Smore will retry sending the request after 155 minutes.
If it still fails after 5 retries, Smore will mark the request as failed and will not attempt to resend it.
If the same Webhook fails more than 200 times in a row, Smore will disable your Webhook, and you will receive an email notification.
Payload
Please refer to the Payload section for information on how to parse the Webhook Payload.