Метод Create
Примените этот метод для создания массовой каскадной или SMS-рассылки. Каскадная рассылка — это автоматизированная последовательная отправка уведомлений через голосовой и текстовый каналы. Например, можно запустить обзвон, а тем, до кого не получилось дозвониться, отправить SMS. Так вы быстрее сможете донести нужную информацию до ваших клиентов удобным для них способом.
Для создания рассылки выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.
Точка подключения:
POST: https://api.exolve.ru/campaign/v1/Create
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя |
Тип |
Описание |
Authorization |
string |
API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0 , где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
Параметр |
Тип |
Описание |
name |
string |
наименование рассылки |
timezone |
boolean |
параметр учёта часового пояса. По умолчанию False - рассылка отправляется по московскому времени (UTC+3), True — учитывать часовой пояс, указанный в списке контактов |
schedule |
Schedule |
расписание рассылки |
|
oneof Channel |
один из каналов рассылки (текстовое SMS, голосовое SMS или каскадная рассылка) |
Channel
Параметр |
Тип |
Описание |
sms |
Sms |
канал рассылки — текстовое SMS |
voice_message |
VoiceMessage |
канал рассылки — голосовое SMS (исходящий обзвон с предзаписанным аудио) |
cascade |
Cascade |
каскадная рассылка (комбинация текстового и голосового каналов для последовательного уведомления абонентов) |
Sms
Параметр |
Тип |
Описание |
props |
SmsProps |
атрибуты сценария текстового SMS |
SmsProps
Параметр |
Тип |
Описание |
alpha_name |
string |
согласованное операторами имя, от которого отправляются текстовые SMS |
text |
string |
текст сообщения |
VoiceMessage
VoiceMessageProps
Параметр |
Тип |
Описание |
voice_message_id |
string |
идентификатор ресурса голосового SMS |
from |
string |
номер телефона Exolve, с которого отправляются голосовые SMS |
Cascade
Параметр |
Тип |
Описание |
elements |
CascadeElement |
структура каскадной рассылки. Один элемент (шаг) — один канал рассылки (текстовое или голосовое SMS). Максимум — 10 шагов |
CascadeElement
Параметр |
Тип |
Описание |
sms |
Sms |
канал рассылки — текстовое SMS |
voice_message |
VoiceMessageChannel |
канал рассылки — голосовое SMS |
condition |
enum Condition |
условие перехода к следующему каналу рассылки |
SmsChannel
Параметр |
Тип |
Описание |
props |
SmsProps |
атрибуты сценария текстового SMS |
ttl |
string |
период времени в формате ’60s’, по истечении которого будет запрошен статус SMS (от 10 до 300 секунд). |
VoiceMessageChannel
Condition
Параметр |
Тип |
Описание |
1 |
enum |
звонок не принят/SMS не доставлено |
2 |
enum |
звонок принят/SMS доставлено |
3 |
enum |
в любом случае |
Schedule
Параметр |
Тип |
Описание |
days |
CallIntervalDays |
настройка интервалов рассылки по дням недели |
CallIntervalDays
CallInterval
Параметр |
Тип |
Описание |
from |
From/To |
время начала рассылки |
to |
From/To |
время завершения рассылки |
From/To
Параметр |
Тип |
Описание |
hours |
uint32 |
час интервала |
minutes |
uint32 |
минута интервала |
seconds |
uint32 |
секунда интервала |
nanos |
uint32 |
наносекунда интервала |
Примечание
Если вы создаёте рассылку во время одного из указанных интервалов, рассылка будет запущена только при наступлении следующего интервала. Например, если вы создаете рассылку с расписанием с понедельника по среду с 10:00 по 13:00 МСК в понедельник в 10:30 МСК, то первая рассылка будет запущена только на следующий день, то есть во вторник в 10:00 МСК.
Если при создании рассылки вы не укажете интервалы расписания, рассылка будет запускаться по расписанию по умолчанию - с понедельника по пятницу с 9:00 до 18:00 МСК.
Выходные параметры
Параметр |
Тип |
Описание |
campaign_id |
uint64 |
идентификатор рассылки |
Возможные ошибки
Код |
Статус |
Пример сообщения |
Описание |
404 |
Not Found |
Not Found |
некорректный URL запроса |
401 |
Unauthorized |
invalid token |
невалидный API-ключ |
400 |
Bad Request |
token is empty |
в запросе не передан API-ключ |
400 |
Bad Request |
couldn’t parse incoming jwt token: couldn’t parse token: invalid character ‘[character]’ looking for beginning of value |
невалидный API-ключ |
404 |
Not Found |
invalid alpha name: alpha name is not found |
введённое имя отправителя (альфа-имя) для текстовой SMS не принадлежит приложению |
404 |
Not Found |
invalid number: number not found |
введённый номер телефона для голосовой SMS не принадлежит приложению |
404 |
Not Found |
couldn’t find voice message scenario [voice_message_id]: scenario not found |
введённый идентификатор ресурса голосового SMS не принадлежит приложению |
409 |
Conflict |
couldn’t create campaign: campaign already exists |
рассылка с указанными параметрами уже существует |
400 |
Bad Request |
invalid SmsProps.AlphaName: value length must be between 3 and 11 runes, inclusive |
поле alpha_name содержит некорректное количество символов (корректно от 3 до 11 символов) |
400 |
Bad Request |
invalid VoiceMessageProps.From: value length must be between 1 and 14 runes, inclusive |
поле from содержит некорректное количество символов (корректно от 1 до 14 символов) |
400 |
Bad Request |
invalid CreateRequest.Name: value length must be between 3 and 40 runes, inclusive |
поле name содержит некорректное количество символов (корректно от 3 до 40 символов) |
400 |
Bad Request |
invalid value for string type: [value] |
невалидное значение в одном из полей |
400 |
Bad Request |
invalid character " after object key:value pair |
в запросе пропущена запятая в одном из параметров |
Примеры
Входные параметры:
Канал рассылки - текстовое SMS
{
"name": "test",
"timezone": true,
"sms": {
"props": {
"alpha_name": "shop",
"text": "Приходите к нам в магазин!"
}
}
}
Канал рассылки - голосовое SMS
{
"name": "test",
"timezone": true,
"voice_message": {
"props": {
"voice_message_id": "41117356-c9d5-4c94-8c62-68d7d2dac285",
"from": "79991112233"
}
}
}
Каскадная рассылка
{
"name": "Рассылка с расписанием",
"cascade": {
"elements": [
{
"sms": {
"props": {
"alpha_name": "shop",
"text": "Приходите к нам!"
}
},
"condition": "1"
},
{
"voice_message": {
"props": {
"voice_message_id": "353b86e0-a62c-47d4-9b94-8dba32c922fc",
"from": "79991112233"
}
}
}
]
},
"schedule": {
"days": {
"mon": {
"intervals": [
{
"from": {
"hours": 10,
"minutes": 0,
"seconds": 0,
"nanos": 0
},
"to": {
"hours": 15,
"minutes": 30,
"seconds": 0,
"nanos": 0
}
}
]
}
}
}
}
Выходные параметры:
{
"campaign_id": "130370354778222592"
}