priorityOrder, and a recipient that fails on one channel is retried on the next.Authorization: Bearer <JWT> — obtain the token via Partner login and keep it fresh via Refresh token (see Account → Authentication).segmentIds) and/or ad-hoc lists (quickAddPhoneNumbers / quickAddEmails). At least one recipient source is required.scheduleDate to send immediately (next scheduler tick, up to ~1 minute). Pass scheduleDate + timezone (or timezoneId) to schedule for later; dates in the past are rejected.templateId must reference an Approved template; legacy templates are rejected — recreate them via Recreate as new. Promotional Viber sends go only to opted-in contacts, unless sendToAll: true together with optinConsentAcknowledged: true is passed (stored for audit). Transactional and OTP sends are not restricted by opt-in.communicationType value Trasnsactional is intentionally spelled this way (backend enum value) — send it verbatim.data[0].At least one campaign channel is required. · At least one segment, one quick-add phone number, or one quick-add email is required. · Schedule date cannot be in the past. · Channel priority orders must be positive/unique · Telegram channels must use CommunicationType 'OTP'.curl --location 'https://api.veloconnect.me/api/v2/campaigns' \
--header 'Content-Type: application/json' \
--data '{
"name": "Flash sale — all contacts",
"segmentIds": [42],
"sendToAll": true,
"optinConsentAcknowledged": true,
"maxContactsCount": 5000,
"channels": [
{
"providerType": "Viber",
"priorityOrder": 1,
"communicationType": "Promotional",
"templateId": 57
}
]
}'{
"data": [
"string"
]
}