Authorization: Bearer <JWT>.scheduleDate (date-time, optional) - intended send time (affects rate selection where time-based pricing applies).isOptin (boolean, default false) - price as a Viber opt-in invitation (Transactional rate from the channel's sender, no template). Must match the eventual create request.segmentIds (long[], optional) - segments whose contacts are counted as recipients.quickAddPhoneNumbers (string[], optional) - ad-hoc phone recipients (E.164).quickAddEmails (string[], optional) - ad-hoc email recipients.channels (array, required) - the channels to price; same per-channel fields as Create campaign (providerType, priorityOrder, message/templateId, senderId/openSenderTitle, etc.).curl --location 'https://api.veloconnect.me/api/v2/campaigns/calculate-price' \
--header 'Content-Type: application/json' \
--data '{
"scheduleDate": "2025-01-01T00:00:00Z",
"segmentIds": [
0
],
"quickAddPhoneNumbers": [
"string"
],
"quickAddEmails": [
"string"
],
"channels": [
{
"providerType": "Whatsapp",
"priorityOrder": 0,
"communicationType": "Trasnsactional",
"message": "string",
"templateId": 0,
"senderId": 0,
"openSenderTitle": "string",
"customerTrunkId": 0,
"price": 0,
"cost": 0,
"telegramCode": "string",
"telegramCodeTtlSeconds": 0,
"telegramPayload": "string",
"telegramSenderUsername": "string",
"telegramUsePrecheck": true
}
]
}'{
"data": [
{
"campaignId": "string",
"totalRecipientsCount": 0,
"billableRecipientsCount": 0,
"messagesCount": 0,
"totalPrice": 0,
"currency": "string",
"channels": [
{
"campaignChannelId": null,
"providerType": null,
"priorityOrder": null,
"recipientsCount": null,
"billableRecipientsCount": null,
"messagesCount": null,
"totalPrice": null,
"currency": null,
"errors": null
}
],
"errors": [
"string"
]
}
]
}