Отправка SMS-сообщенй

API Сервиса отправки SMS-сообщений организован в соответствии с принципами REST, что позволяет обмениваться HTTPS-запросами с URL-encoded кодировкой. HTTPS - это обычный HTTP, работающий через шифрованные транспортные механизмы SSL и TLS. Это позволяет обеспечить защиту от атак, основанных на прослушивании сетевого соединения (снифферских атак и атак типа man-in-the-middle), при условии использования шифрующих средств и подтвержденной надежности сертификата сервера.

Для авторизации используется ApiKey полученный в личном кабинете для соответствующей компании. Пример заголовка:

Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjYW1wYWlnbiI6eyJpZCI6MzI3LCJ0eXBlIjoiQXBpQ2FtcGFpZ2

Точка подключения:

https://devino.online

Отправка сообщения на один номер (POST)

Сервис инициирует отправку SMS-сообщения в соответствии со значениями параметров, передаваемых сервису в POST-запросе следующего формата:

/api/v1/sms/message?phone=<Номер получателя>&text=<Текст сообщения>&sender_name=<Имя отправителя>&local_time=<Часовой пояс получателя>

Параметры запроса:

Параметр Тип данных Описание Обязательный
phone string Номер получателя Да
text string Текст сообщения Да
sender_name string Имя отправителя Да
local_time boolean Учут часового пояса получателя Нет

Пример овтета:

{
   "id": 0,
   "campaign_id": 0,
   "subscriber_id": 0,
   "status": "string",
   "created_at": "2018-05-03T09:45:06.712Z"
}

Параметры ответа:

Параметр Тип данных Описание Обязательный
id integer Идентификатор SMS-сообщения Да
campaign_id integer Идентификатор кампании Да
subscriber_id integer Идентификатор получателя Да
status string Статус SMS-сообщения Да
created_at string Дата создания сообщения Да

Отправка сообщения на несколько номеров (POST)

Сервис инициирует отправку SMS-сообщения на несколько номеров в соответствии со значениями параметров, передаваемых сервису в POST-запросе следующего формата:

/api/v1/sms/message?phones=<Номера получателей>&text=<Текст сообщения>&sender_name=<Имя отправителя>&local_time=<Часовой пояс получателя>

Параметры запроса:

Параметр Тип данных Описание Обязательный
phones string Номера получателей Да
text string Текст сообщения Да
sender_name string Имя отправителя Да
local_time boolean Учет часового пояса получателя Нет

Получение списка SMS-сообщений (GET)

Возвращает список сообщений.

/api/v1/sms/messages?page=<Номер страницы>&per_page=<Кол-во записей>

Параметры запроса:

Параметр Тип данных Описание Обязательный
page integer Номер страницы Нет
per_page integer Кол-во записей Нет

Запрос статуса SMS-сообщения (GET)

Сервис возвращает статус отправленного sms-сообщения в соответствии со значениями параметров, передаваемых сервису в GET-запросе следующего формата:

/api/v1/sms/messages/{id}

Параметры запроса:

Параметр Тип данных Описание Обязательный
id integer Идентификатор SMS-сообщения Да

Запрос статистики за период (GET)

Сервис возвращает входящие sms-сообщения за период в соответствии со значениями параметров, передаваемых сервису в GET-запросе следующего формата:

/api/v1/sms/statistics?start_date=<Дата начала выборки>&end_date=<Дата окончания>&page=<Номер страницы>&per_page=<Кол-во записей>

Параметры запроса:

Параметр Тип данных Описание Обязательный
start_date date Дата начала выборки. Формат dd.mm.yyyy Да
end_date date Дата конца выборки. Формат dd.mm.yyyy Да
page integer Номер страницы Нет
per_page integer Кол-во записей Нет

Пример овтета:

{
   "campaign_id": 0,
   "date": "2018-05-03",
   "delivered_count": 0,
   "undelivered_count": 0
}

Параметры ответа:

Параметр Тип данных Описание Обязательный
campaign_id integer Идентификатор SMS-кампании Да
date string Дата Да
delivered_count integer Доставлено сообщений Да
undelivered_count integer Не доставлено сообщений Да

Получение списка SMS-компаний (GET)

Возвращает список рассылок.

/api/v1/sms_campaigns?page=<Номер страницы>&per_page=<Кол-во записей>

Параметры запроса:

Параметр Тип данных Описание Обязательный
page integer Номер страницы Нет
per_page integer Кол-во записей Нет

Пример овтета:

{
   "id": 0,
   "name": "string",
   "company_id": 0,
   "subscriber_list_id": 0,
   "started": true,
   "started_at": "2018-05-03T09:45:06.767Z",
   "user_id": 0,
   "run_status": "string"
}

Параметры ответа:

Параметр Тип данных Описание Обязательный
id integer Идентификатор кампании Да
name string Название кампании Да
company_id integer Идентификатор компании Да
subscriber_list_id integer Идентификатор листа подписчиков Да
started boolean Флаг статуса Да
started_at string Дата и время старта кампании Да
user_id integer Пользователь, создавший кампанию Да
run_status string Статус процесса кампании Да

Запрос статистики по компании за период (GET)

Сервис возвращает статистику по SMS-рассылке за период в соответствии со значениями параметров, передаваемых сервису в GET-запросе следующего формата:

/api/v1/sms_campaigns/{id}/statistics?start_date=<Дата начала выборки>&end_date=<Дата окончания>&page=<Номер страницы>&per_page=<Кол-во записей>

Параметры запроса:

Параметр Тип данных Описание Обязательный
id integer Идентификатор SMS-кампании Да
start_date date Дата начала выборки. Формат dd.mm.yyyy Да
end_date date Дата конца выборки. Формат dd.mm.yyyy Да
page integer Номер страницы Нет
per_page integer Кол-во записей Нет

Пример овтета:

{
   "campaign_id": 0,
   "date": "2018-05-03",
   "delivered_count": 0,
   "undelivered_count": 0
}

Параметры ответа:

Параметр Тип данных Описание Обязательный
campaign_id integer Идентификатор SMS-кампании Да
date string Дата Да
delivered_count integer Доставлено сообщений Да
undelivered_count integer Не доставлено сообщений Да