Webhook Setup
ChatYug pushes real-time events to your HTTPS endpoint when customers message you, when delivery status changes, and when cart orders arrive. Configure the destination URL and signing secret in the portal.
Portal configuration steps
- Sign in to the ChatYug portal.
- Open Webhook Settings (also reachable from API Configuration).
- Select your WABA.
- Enter your public HTTPS webhook URL (must be reachable from the internet).
- Set an optional HMAC secret — strongly recommended for production.
- Save the configuration, then use Send Test Event to verify delivery.
URL requirements
- Must use HTTPS in production (HTTP may be allowed only in non-production environments when explicitly enabled by ChatYug operations).
- Must respond with HTTP
2xxto acknowledge receipt. Non-2xx responses trigger retries. - Should respond quickly; perform heavy processing asynchronously after acknowledging.
Webhook secret vs API key
Your API key (ck_) authenticates requests from your server to ChatYug. The webhook secret verifies requests from ChatYug to your server. They are independent — never use your API key as the webhook HMAC secret.
Request headers
When a secret is configured, ChatYug sends:
| Header | Purpose |
|---|---|
X-Chatyug-Event-Id | Idempotency key — typically the Meta message or status ID |
X-Chatyug-Signature | HMAC-SHA256 of the raw JSON body when a secret is set |
Verification steps: Signature Verification.
Event types
eventType | When fired |
|---|---|
message | Customer sends text, media, button/list reply, or Flow submission (nfm_reply) |
status | Outbound message status changes (sent, delivered, read, failed) |
order | Customer submits a WhatsApp native catalog cart order |
test | Sent when you click Send Test Event in Webhook Settings |
Full payload shapes: Event Reference.
Retry policy
Failed deliveries retry up to 8 times with backoff intervals of approximately 1, 2, 10, 60, and 180 minutes. Rate limit: 300 events per minute per WABA. Use eventId for idempotent processing on your side.
Details: Retry & Troubleshooting.