Create

Метод Create

Примените этот метод для создания рассылки. Для этого выполните 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)

Sms

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

SmsProps

Параметр Тип Описание
alpha_name string имя отправителя (альфа-имя), с которого отправляются текстовые SMS
text string текст сообщения

VoiceMessage

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

VoiceMessageProps

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

Cascade

Параметр Тип Описание
elements CascadeElement структура каскадной рассылки. Один элемент - один канал рассылки (текстовое или голосовое SMS)

CascadeElement

Параметр Тип Описание
sms Sms канал рассылки - текстовое SMS
voice_message VoiceMessageChannel канал рассылки - голосовое SMS
condition enum Condition условие перехода к следующему каналу рассылки

SmsChannel

Параметр Тип Описание
props SmsProps атрибуты сценария текстового SMS
ttl string период времени, по истечении которого будет запрошен статус SMS (от 10 до 300 секунд)

VoiceMessageChannel

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

Condition

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

Schedule

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

CallIntervalDays

Параметр Тип Описание
mon CallInterval интервал понедельника
tue CallInterval интервал вторника
wed CallInterval интервал среды
thu CallInterval интервал четверга
fri CallInterval интервал пятницы
sat CallInterval интервал субботы
sun CallInterval интервал воскресенья

CallInterval

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

From/To

Параметр Тип Описание
hours uint32 час интервала
minutes uint32 минута интервала
seconds uint32 секунда интервала
nanos uint32 наносекунда интервала

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

Параметр Тип Описание
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"
}