Start a Campaign

Start an Edesy Collect reminder campaign, the checks that run before the first call, campaign and contact statuses, and how to pause, resume or stop.

3 min read

Click Start on the campaign page, or call POST/v1/collect/campaigns/:id/start. Collect checks KYC, debtors, the message, the caller ID and your wallet, then begins calling each debtor at their scheduled time. The campaign keeps running until every debtor is paid, stopped or out of attempts, then it completes on its own.

Checks before the first call#

Check Error if it fails
KYC approved 403 KYC_NOT_APPROVED
At least one debtor uploaded campaign has no contacts
A message saved campaign has no TTS text configured or campaign has no audio file uploaded
Fixed caller ID can be routed (only when no pool is set) Caller ID not routable
Wallet can fund calls Balance error with the required and current balance

Start#

curl -X POST https://voice-api.edesy.in/v1/collect/campaigns/CAMPAIGN_ID/start \
  -H "Authorization: Bearer sk_your_api_key"
{ "status": "ok" }

While it runs#

  • Collect checks for debtors who are due about every 30 seconds and dials them, up to the campaign's concurrency (5 at a time by default).
  • With a number pool, each attempt picks the next caller ID by the pool's rotation. Without one, every call uses the campaign's from_number.
  • If the wallet cannot fund calls, dialling waits until you top up.
  • The contacts table in the portal refreshes on its own and shows attempts, the due amount and date, and the payment status.

Campaign statuses#

Status Meaning
created Not started yet
running Calling debtors on their schedule
paused Paused; no new calls
stopped Stopped by you
completed No debtor has any attempt left

Contact statuses#

Each debtor has a call status and a separate payment status. The payment status (pending, promised, paid, stopped) decides whether Collect keeps calling. Call statuses include pending, dialing, completed, no-answer, busy, failed and suppressed (on your DNC list, never dialled). A debtor shows failed when every number in the pool has already been used for them.

Track progress by payment status. A debtor who answered but has not paid stays in the ladder unless stop_on_connect is on.

Pause, resume or stop#

The Collect portal has a Start button. To pause, resume or stop a running campaign, use the shared campaign endpoints with the same API key:

curl -X POST https://voice-api.edesy.in/v1/campaigns/CAMPAIGN_ID/pause  -H "Authorization: Bearer sk_your_api_key"
curl -X POST https://voice-api.edesy.in/v1/campaigns/CAMPAIGN_ID/resume -H "Authorization: Bearer sk_your_api_key"
curl -X POST https://voice-api.edesy.in/v1/campaigns/CAMPAIGN_ID/stop   -H "Authorization: Bearer sk_your_api_key"

To stop calling one debtor, mark them stopped. See Mark Paid, Promised or Stopped.

FAQ#

Why has nobody been called yet? If you started outside calling hours, the first calls go out at the next window open (09:00 IST by default).

Does a running campaign pick up debtors I add later? Yes, while it is still running. They are scheduled from the next window open and dialled when due. A campaign completes once no debtor has attempts left, so for a fresh batch after that, create a new campaign.

Why is a debtor marked failed? Usually because every active number in the pool has already been used for that debtor. To avoid this for later debtors, add numbers to the pool or set the total attempts no higher than the number of active pool numbers.

Was this page helpful?