# Test and Revisions

> How to test a store connection in COD Order Calls - send a test order event, check the Events tab, preview and send test action requests, and see the revision history of request edits.

Source: https://edesy.in/docs/order-calls/connect-your-store/test-and-revisions

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

1. Use a test order with your own phone number and `payment_method: "cod"`.
2. Sign it and POST it to the webhook URL. See [Webhook and Signing Secret](https://edesy.in/docs/order-calls/connect-your-store/webhook-and-signing-secret).
3. Check the response. `200` with an `id` means it was stored.
4. Open the store's **Events** tab. The event should be **Processed** with a detail such as "call scheduled for ...".
5. 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 `Authorization` and `Content-Type` cannot be set.
- **Pick placeholders** from the list in [Action Requests and Placeholders](https://edesy.in/docs/order-calls/connect-your-store/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.
