Test a webhook-connected store by sending it a real signed order event and watching it arrive. The store's Events tab shows every delivery and what happened to it. Stores whose requests can be edited also get a request preview, a "send test" button and a revision history.
Test the webhook#
- Use a test order with your own phone number and
payment_method: "cod". - Sign it and POST it to the webhook URL. See Webhook and Signing Secret.
- Check the response.
200with anidmeans it was stored. - Open the store's Events tab. The event should be Processed with a detail such as "call scheduled for ...".
- Open Orders to follow the call. If the call rule has a delay, the order is Scheduled until then.
The Test connection button on the Setup tab checks a store's API credentials where the integration has them. For a webhook-connected store there is nothing to call in advance, so it tells you to send a test event and check the Events tab.
Read the store's health#
The Setup tab shows when the last event arrived and the last error, for example "Webhook rejected: ..." when a signature fails. If orders stop arriving, check here first: a silently disabled webhook on your platform shows up as an old "last event".
Common problems#
| What you see | Likely cause |
|---|---|
401 invalid signature |
Wrong secret, timestamp older than 5 minutes, or the body was changed after signing |
404 unknown webhook |
The URL was rotated, or a character is missing |
| Event Ignored | The event is not order.created, order.cancelled or order.paid |
| Order Skipped | It did not match the rule's conditions, or has no valid Indian phone number |
| Order stays Scheduled | It is waiting for the delay or the calling window, or the wallet balance is too low |
| Outcome Update failed | Your action URL did not answer with 2xx; it is retried in the background |
Preview and send a test request#
On stores where the action requests can be edited, the Requests tab has one card per action (confirm, cancel, tag, note and others the store supports):
- Edit the method, path, JSON body and up to 10 extra headers. Credentials and framing headers such as
AuthorizationandContent-Typecannot be set. - Pick placeholders from the list in Action Requests and Placeholders. An unknown placeholder is refused when you save.
- Preview the rendered request, filled with your latest order, or an example order if you have none yet. Credentials are masked.
- Send test looks an order up on your store by order number and sends the request for real. A test confirm or cancel really changes that order, so use a test order. Tests are limited to 10 per store per minute.
- Reset to default removes your edit and goes back to the standard request.
Revisions#
Every saved change to a store's requests is recorded with who made it, when, and the old and new values. Each request card shows its last change, so you can see what changed before a problem started.