Skip to content

MailerResumeCampaign

POST mailer/campaign/resume

Continues a campaign that stopped halfway — the CRM did not answer, or the module was restarted mid-rollout.

The rollout continues from the saved cursor (cursorStage, cursorOffset). Re-sending is prevented by the dedupe key campaign:{id}:{recipientId}, so even a restart from the very beginning (fromStart) will not email anyone twice. Without that pair the only way to finish a failed campaign would be a full re-run, and the first pages of recipients would get a second copy.

Access Control

Allowed roles: admin, leader, within the brand of the caller.

Request

POST https://{broker_domain}/mailer/campaign/resume
{
  "id": 3
}
{
  "command": "MailerResumeCampaign",
  "extID": "1",
  "data": {
    "id": 3
  }
}
const res = await platform.MailerResumeCampaign({
  id: 3
});

Request Data

Field Type Required Description
id int Yes Campaign id
fromStart bool No Ignore the saved cursor and walk the recipients again; duplicates are still filtered by the dedupe key

Response Data

{
  "id": 3,
  "status": "PENDING",
  "resumedFrom": { "stage": "FILTERS", "offset": 2000 },
  "totalRecipients": 5400,
  "queued": 2000
}

Errors

Code Error Description
403 PERMISSION_DENIED The campaign belongs to another manager
404 NOT_FOUND Campaign not found in the brand
409 CAMPAIGN_NOT_RESUMABLE The campaign is completed or cancelled and does not need resuming