Retry, Replay and Cancel

Fix COD Order Calls by hand - retry a call now, call a settled order again, cancel a job, and replay a store webhook event - from the Orders screen, the Events tab or the API.

2 min read

You can step in on any order. Retry now moves the next call up to right away, or calls a settled order again when it ended unreachable, no input, expired or update failed. Cancel job stops calling an order that is still scheduled. Replay processes a store webhook event again from the Events tab.

Retry now#

On an order in the Orders screen:

Order is Button What happens
Scheduled Retry now The next attempt is moved to now
Settled as unreachable, no_input, expired or action_failed Call again now The order goes back to Scheduled with one more attempt, and is called now. If its give-up time has passed, it gets another 24 hours
Settled as confirmed or cancelled, skipped or cancelled Can't be retried

The timeline notes "retry requested from the portal".

Cancel a job#

Cancel job stops calling an order. It works while the order is Scheduled (before the first call or between attempts). The order moves to Cancelled with "cancelled from the portal", and no more calls are made. A call already in progress is not hung up.

To stop calls for an order automatically, send order.cancelled or order.paid from your store. See Store Events.

Replay an event#

In the store's Events tab, open an event and press Replay. We process the stored delivery again as if it had just arrived. Use it after you fix a call rule, for example when an order was skipped because no rule was enabled.

Replay does not call an order twice for the same rule. If a job already exists for that order and rule, the event is recorded as "already handled".

Search and filters#

The Orders screen filters by state, outcome and call rule, and searches by order name, number or phone. It shows when each order was received, the attempts made and the next attempt time.

Over the API#

The same actions are on the REST API at https://voice-api.edesy.in/v1, authenticated with Authorization: Bearer <api key>:

Method Path What it does
GET /ivr/commerce/jobs List orders. Filters: state, outcome, automation_id, q, page, per_page
GET /ivr/commerce/jobs/:id One order with its timeline and calls
POST /ivr/commerce/jobs/:id/retry-now Retry now. 409 job_not_retryable when it can't be retried
POST /ivr/commerce/jobs/:id/cancel Cancel a scheduled job
GET /ivr/commerce/events List webhook events. Filters: connection_id, status, page, per_page
GET /ivr/commerce/events/:id One event with headers and body
POST /ivr/commerce/events/:id/replay Replay an event

Errors use the shape {"error": {"code": "...", "message": "..."}}.

Was this page helpful?