Create

Метод Create

Примените этот метод для создания массовой каскадной или SMS-рассылки. Узнайте, как отправить SMS-рассылку в этой инструкции.

Каскадная рассылка — это автоматизированная последовательная отправка уведомлений через голосовой и текстовый каналы. Например, можно запустить обзвон, а тем, до кого не получилось дозвониться, отправить SMS. Так вы быстрее сможете донести нужную информацию до ваших клиентов удобным для них способом.

Точка подключения: Выполните POST-запрос с входными параметрами к точке подключения:

POST: https://api.exolve.ru/campaign/v1/Create

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

ИмяТипОписание
AuthorizationstringAPI-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

ПараметрТипОписание
namestringнаименование рассылки
timezonebooleanпараметр учёта часового пояса. По умолчанию False - рассылка отправляется по московскому времени (UTC+3), True — учитывать часовой пояс, указанный в списке контактов
scheduleScheduleрасписание рассылки
channeloneof Channelодин из каналов рассылки (текстовое SMS, голосовое SMS или каскадная рассылка)

Channel

ПараметрТипОписание
smsSmsканал рассылки — текстовое SMS
voice_messageVoiceMessageканал рассылки — голосовое SMS (исходящий обзвон с предзаписанным аудио)
cascadeCascadeкаскадная рассылка (комбинация текстового и голосового каналов для последовательного уведомления абонентов)

Sms

ПараметрТипОписание
propsSmsPropsатрибуты сценария текстового SMS

SmsProps

ПараметрТипОписание
alpha_namestringсогласованное операторами имя, от которого отправляются текстовые SMS
textstringтекст сообщения

Текст рассылки можно персонализировать: обратиться к клиенту по имени, указать номер заказа или адрес доставки. Для этого в тексте введите переменные в двойных фигурных скобках. Поддерживается латиница и спецсимволы (кроме пробела). Максимум: 100 переменных.

Например: Здравствуйте, {{name}}! Ваш заказ {{order_number}} будет доставлен {{date}} по адресу: {{address}}

Затем скачайте шаблон файла с помощью метода DownloadFileTemplate, добавьте в него номера получателей и названия этих переменных как заголовки. Для каждого получателя укажите своё значение переменной.

Узнайте, как сэкономить и отправить рассылку по шаблону в этой инструкции.


VoiceMessage

ПараметрТипОписание
propsVoiceMessagePropsатрибуты сценария голосового SMS

VoiceMessageProps

ПараметрТипОписание
voice_message_idstringидентификатор ресурса голосового SMS
fromstringномер телефона Exolve, с которого отправляются голосовые SMS

Cascade

ПараметрТипОписание
elementsCascadeElementструктура каскадной рассылки. Один элемент (шаг) — один канал рассылки (текстовое или голосовое SMS). Максимум — 10 шагов

CascadeElement

ПараметрТипОписание
smsSmsканал рассылки — текстовое SMS
voice_messageVoiceMessageChannelканал рассылки — голосовое SMS
conditionenum Conditionусловие перехода к следующему каналу рассылки

SmsChannel

ПараметрТипОписание
propsSmsPropsатрибуты сценария текстового SMS
ttlstringпериод времени в формате ’60s’, по истечении которого будет запрошен статус SMS (от 10 до 300 секунд).

VoiceMessageChannel

ПараметрТипОписание
propsVoiceMessagePropsатрибуты сценария голосового SMS

Condition

ПараметрТипОписание
1enumзвонок не принят/SMS не доставлено
2enumзвонок принят/SMS доставлено
3enumв любом случае

Schedule

ПараметрТипОписание
daysCallIntervalDaysнастройка интервалов рассылки по дням недели

CallIntervalDays

ПараметрТипОписание
monCallIntervalинтервал понедельника
tueCallIntervalинтервал вторника
wedCallIntervalинтервал среды
thuCallIntervalинтервал четверга
friCallIntervalинтервал пятницы
satCallIntervalинтервал субботы
sunCallIntervalинтервал воскресенья

CallInterval

ПараметрТипОписание
fromFrom/Toвремя начала рассылки
toFrom/Toвремя завершения рассылки

From/To

ПараметрТипОписание
hoursuint32час интервала
minutesuint32минута интервала
secondsuint32секунда интервала
nanosuint32наносекунда интервала

Примечание

Если вы создаёте рассылку во время одного из указанных интервалов, рассылка будет запущена только при наступлении следующего интервала. Например, если вы создаете рассылку с расписанием с понедельника по среду с 10:00 по 13:00 МСК в понедельник в 10:30 МСК, то первая рассылка будет запущена только на следующий день, то есть во вторник в 10:00 МСК.

Если при создании рассылки вы не укажете интервалы расписания, рассылка будет запускаться по расписанию по умолчанию - с понедельника по пятницу с 9:00 до 18:00 МСК.

Выходные параметры

ПараметрТипОписание
campaign_iduint64идентификатор рассылки

Возможные ошибки

КодСтатусПример сообщенияОписание
404Not FoundNot Foundнекорректный URL запроса
401Unauthorizedinvalid tokenневалидный API-ключ
400Bad Requesttoken is emptyв запросе не передан API-ключ
400Bad Requestcouldn’t parse incoming jwt token: couldn’t parse token: invalid character ‘[character]’ looking for beginning of valueневалидный API-ключ
404Not Foundinvalid alpha name: alpha name is not foundвведённое имя отправителя (альфа-имя) для текстовой SMS не принадлежит приложению
404Not Foundinvalid number: number not foundвведённый номер телефона для голосовой SMS не принадлежит приложению
404Not Foundcouldn’t find voice message scenario [voice_message_id]: scenario not foundвведённый идентификатор ресурса голосового SMS не принадлежит приложению
409Conflictcouldn’t create campaign: campaign already existsрассылка с указанными параметрами уже существует
400Bad Requestinvalid SmsProps.AlphaName: value length must be between 3 and 11 runes, inclusiveполе alpha_name содержит некорректное количество символов (корректно от 3 до 11 символов)
400Bad Requestinvalid VoiceMessageProps.From: value length must be between 1 and 14 runes, inclusiveполе from содержит некорректное количество символов (корректно от 1 до 14 символов)
400Bad Requestinvalid CreateRequest.Name: value length must be between 3 and 40 runes, inclusiveполе name содержит некорректное количество символов (корректно от 3 до 40 символов)
400Bad Requestinvalid value for string type: [value]невалидное значение в одном из полей
400Bad Requestinvalid 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"
}