Webhook

Signatures and replay protection

Sign the request body with your signing key using HMAC-SHA256 and put the signature in the X-CS-Signature header. Verify both the signature and the timestamp skew (no more than 300 seconds). For the algorithm, see Webhook signature verification。

投递记录

Retry backoff

Failed deliveries retry with exponential backoff:1m → 5m → 30m → 2h → 6h → 24h. By default, a delivery becomes a dead letter after 6 attempts, subject to endpoint settings. Dead letters can be inspected and replayed manually.

Delivery status reflects the actual response.

Idempotency and deduplication

The idempotency key is endpoint_id + event_id, so duplicate deliveries are not processed twice. Replaying creates a new delivery ID, while the event ID X-CS-Event-Id stays unchanged.

Receiver requirements

The default timeout is 10 seconds. Any 2xx response counts as delivered. Failures and network errors follow the endpoint's retry settings. Save the event before returning a success response.