Webhooks allow your integration to receive real-time notifications about events in Campsite, like a new post or comment being created. When an event occurs, Campsite sends an HTTP POST request to the URL you specify, allowing your integration to take action based on the event data.Documentation Index
Fetch the complete documentation index at: https://developers.campsite.com/llms.txt
Use this file to discover all available pages before exploring further.
Creating a webhook
To add a webhook to your integration:- Go to your Organization settings and click the Integrations tab.
- Select your integration from the list, or create an integration if you don’t have one.
- In the Webhooks section of your integration settings, click Add webhook.
- Enter the HTTPS URL where you want to receive webhook events.
- Click Create webhook to save.
Webhook guidelines
- HTTPS is required for all webhook URLs.
- Webhook events are guaranteed to be delivered once. You may use the id field in the payload as an idempotency key.
- Your webhook consumer should respond with a 2xx HTTP response status code to indicate a successful delivery. Any other response status code indicates a failed delivery. Campsite will retry failed deliveries up to 10 times.
- Implement proper error handling in your webhook consumer to avoid processing the same event multiple times.
- Respond quickly to webhook requests (within 20 seconds) to avoid timeouts. If you need to perform time-consuming operations, acknowledge the webhook quickly and process the event asynchronously.
Webhook payload
Webhook payloads are sent as JSON in the body of the POST request. Here’s an example payload for apost.created event:
Supported events
The following events are supported:post.created: Triggered when a new post is created.comment.created: Triggered when a new comment is created.app.mentioned: Triggered when your integration is @-mentioned in a post or comment.message.created: Triggered when a new message is created in a chat thread.message.dm: Triggered when a new message is created in a direct message between your integration and one user. (See Bot DMs for more information.)
Webhook signature verification
Campsite signs outbound requests using a shared secret key. To verify that an incoming webhook is genuinely from Campsite:- After creating a webhook, click Copy secret to get your webhook’s secret key.
- Use this secret to validate the signature in the X-Campsite-Signature header of incoming webhook requests.
- Split the header value by comma to separate the timestamp and signature.
- Construct the signed payload by concatenating the timestamp, a period (.), and the request body.
- Compute an HMAC with the SHA256 hash function, using your webhook secret as the key and the signed payload as the message.
- Compare your computed signature with the v1 signature in the header.