8-800-7755-096

Интеграции HTTPS

Введение

Для активации работы с API Вам необходимо в личном кабинете в настройках пользователя заполнить api-key.

Примеры реализаций:
php: https://github.com/redsms/message-api-simple

Для разработчиков доступна swagger версия документации.

Вы можете использовать в запросах json или xml формат. Для этого необходимо указывать в заголовке Content-type application/xml или application/json.


Авторизация

Авторизация с использованием подписи запроса

В каждом запросе требующем авторизации, необходимо присылать поля login, ts и sig. (можно присылать как в заголовке так и в общих полях запроса)

Упрощенная авторизация

В каждом запросе требующем авторизации, необходимо присылать поля login, ts и secret. (можно присылать как в заголовке так и в общих полях запроса)

Авторизация в XML запросах

В каждом запросе требующем авторизации, необходимо присылать в заголовке поле secret содержащее md5 хеш от конкатенации тела запроса и api-key.

Ограничение доступа по IP адресам.

В настройках профиля, в поле "Разрешенные ip адреса для API запросов" укажите ваши адреса через запятую.


Общая информация

Баланс и статус

GET https://cp.redsms.ru/api/client/info

Параметры: нет

Пример:

{
 "info": [
 {
 "login": "username",
 "balance": 20,
 "active": true,
 "overdraft": 10000
 }
 ]
}
 
*: overdraft присутствует только если доступен

Методы работы с сообщениями

Получение списка сообщений

GET https://cp.redsms.ru/api/message

Параметры:

*: определяет, какая информация будет получена в ответе. Поля перечисляются через запятую и могут быть: to, from, country, operator, price, login, parts, ip, source, creater, sended.

В случае успешной обработки запроса в ответе будет массив

В items будет массив со следующими полями:

Получение информации по сообщению

GET https://cp.redsms.ru/api/message/{uuid}

Параметры:

В случае успешной обработки запроса в ответе будет массив item со следующими полями:

Создание сообщения

POST https://cp.redsms.ru/api/message

Параметры:

В поле to возможно передавать несколько номеров. Номера следует разделить символом, который можно указать в поле phoneDelimeter (по умолчанию ",").
Для того, чтобы передать уникальный текст для каждого номера необходимо прислать пары номер-текст где текст отделен от номера символом который можно указать в поле textDelimeter (по умолчанию ":").
Максимально вы можете отправить 30000 сообщений одним запросом.

В поле route указывается маршрут (способ отправки, тип сообщения). Можно указать несколько маршрутов, при этом будет произведена последовательная отправка.
Например:
Если указать viber,sms то будет отправлено сообщение в viber и только в случае не возможности доставить его произойдет отправка sms.
Если указать viber,hlr,sms то будет отправлено сообщение в viber, в случае не возможности доставить его произойдет отправка hlr, и в случае его доставки произойдет отпракв sms
Если какой-то маршрут не доступен для отправки, следующий срабатывает безусловно.

Если viber сообщение не было доставлено в течение установленного срока жизни, происходит возврат средств.

Параметры с префиксами sms.*, viber.* и vk.* в случае отсутствия берутся из одноименных полей без префиксов.

В случае успешной обработки запроса в ответе будет массив items и errors. В массиве items содержатся принятые в обработку сообщения, а в массиве errors сообщения об ошибке. Если в запросе есть хотя бы одно успешно обработанное сообщение, статус ответа будет 200

Пример:

{
 "items": [
 {
 "uuid": "ИДЕНТИФИКАТОР",
 "to": "НОМЕР ТЕЛЕФОНА"
 }
 ],
 "errors": [
 {
 "to": "+1234567890",
 "message": "bad number rejected"
 }
 ],
 "count": 1,
 "success": true
}
 

Callback для сообщений

Для того чтобы активировать callback на api сообщения, необходимо в настройках указать API callback url. На данный адрес будет производиться POST запрос с информацией о сообщении при её изменении. (формат данных аналогичен ответу на запрос GET https://cp.redsms.ru/api/message/{uuid})
Параметр API callback fields определяет необходимые поля в ответе.(all - все поля)


Методы работы с базами контактов

Список баз контактов

GET https://cp.redsms.ru/api/contact-base

Параметры:

В случае успешной обработки запроса в ответе будет массив

В items будет массив со следующими полями:

mapping - массив с элементами вида [{"name": "phone", "type": "phone"}]. Список типов можно получить используя метод GET /api/directory

Просмотр базы контактов

GET https://cp.redsms.ru/api/contact-base/{id}

Параметры:

В случае успешной обработки запроса в ответе будет массив

Создание базы контактов

POST https://cp.redsms.ru/api/contact-base

Параметры:

В случае успешной обработки запроса в ответе будет массив

Изменение базы контактов

POST https://cp.redsms.ru/api/contact-base/{id}

Параметры:

В случае успешной обработки запроса в ответе будет массив

Удаление базы контактов

DELETE /api/contact-base/{id}

Параметры:

Пример успешного ответа:

{"success":"true"}
 

Методы работы с контактами (в базе контактов)

Список контактов в базе

GET https://cp.redsms.ru/api/contact-base/{baseId}/contact

Параметры:

В случае успешной обработки запроса в ответе будет массив

В items будет массив со следующими полями:

+ дополнительные поля указанные в mapping в текущей базе

Просмотр контакта

GET https://cp.redsms.ru/api/contact-base/{baseId}/contact/{id}

Параметры:

В случае успешной обработки запроса в ответе будет массив

+ дополнительные поля указанные в mapping в текущей базе

Создание контакта

POST https://cp.redsms.ru/api/contact-base/{baseId}/contact

Параметры:

В случае успешной обработки запроса в ответе будет массив

+ дополнительные поля указанные в mapping в текущей базе

Изменение контакта

POST https://cp.redsms.ru/api/contact-base/{baseId}/contact/{id}

Параметры:

В случае успешной обработки запроса в ответе будет массив

+ дополнительные поля указанные в mapping в текущей базе

Удаление контакта

DELETE /api/contact-base/{baseId}/contact/{id}

Параметры:

Пример успешного ответа:

{"success":"true"}
 

Методы работы с именами отправителей

Получение списка имен отправителей

GET https://cp.redsms.ru/api/sender-name

Параметры:

В случае успешной обработки запроса в ответе будет массив

В items будет массив со следующими полями:

*: Значение статусов

Получение информации по имени отправителя

GET https://cp.redsms.ru/api/sender-name/{id}

Параметры:

В случае успешной обработки запроса в ответе будет массив

*: Значение статусов

Создание имени отправителя

POST https://cp.redsms.ru/api/sender-name

Параметры:

В случае успешной обработки запроса в ответе будет массив

Обновлять, удалять можно только имена находящиеся в с статусе draft (черновик)

Обновление уже добавленного имени отправителя

POST https://cp.redsms.ru/api/sender-name/{id}/update

Параметры:

В случае успешной обработки запроса в ответе будет массив

Удаление имени отправителя

DELETE /api/sender-name/{id}

Параметры:

Пример успешного ответа:

{"success":"true"}
 

Методы работы с Рассылками

Отправка рассылки

POST https://cp.redsms.ru/api/dispatch

Используйте этот метод для создания массовых рассылок.
Для отправки единичных сообщений используйте метод POST https://cp.redsms.ru/api/message

Параметры:


В случае успешной обработки запроса в ответе будет массив

В массиве item присутствуют следующие поля

* Статусы рассылок

В случае неуспешной обработки запроса в ответе будет

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

Пример успешного ответа:
 {
 "item": {
 "id": 1234,
 "name": "Рассылка по API",
 "status": "accept"
 },
 "success": true
 }
Пример неуспешного ответа:
 {
 "errors": {
 "from": "EMPTY_FROM"
 },
 "success": false
 }

Список возможно ошибок при создании рассылки


Методы работы с файлами

Список файлов

GET https://cp.redsms.ru/api/storage

Параметры:

В случае успешной обработки запроса в ответе будет массив

В items будет массив со следующими полями:

Пример успешного ответа:
{
 "count": 2,
 "offset": 0,
 "total": 2,
 "items": [
 {
 "id": 2529,
 "file_name": "59ef4512ceeab.png",
 "url": "https://disk.redsms.ru/files/1734/data/59ef4512ceeab.png",
 "original_name": "photo5.png",
 "mime": "image/png",
 "ext": "png",
 "host": "https://fs.redsms.ru/files",
 "created": 1653800626
},
 {
 "id": 6165,
 "file_name": "59ef4510ceeab.png",
 "url": "https://disk.redsms.ru/files/1734/data/59ef4510ceeab.png",
 "original_name": "photo1.png",
 "mime": "image/png",
 "ext": "png",
 "host": "https://fs.redsms.ru/files",
 "created": 1653800626
}
 ]
}
 

Получение информации по файлу

GET /api/storage/{id}

Параметры: Пример успешного ответа:
{
 "item": {
 "id": 9011,
 "file_name": "59ef42cbd5bab.php",
 "url": "https://disk.redsms.locale/files/1734/data/59ef42cbd5bab.php",
 "original_name": "TestApiCommand.php",
 "mime": "application/octet-stream",
 "ext": "php",
 "host": "https://disk.redsms.ru/files",
 "created": 1653800626
 }
}
 

Загрузка файлов

POST /api/storage

Параметры:

В случае успешной обработки запроса в ответе будет массив items со следующими полями:

Пример успешного ответа:

{
 "items": [
 {
 "id": 4094,
 "file_name": "59ef3510ceeab.png",
 "url": "https://disk.redsms.ru/files/1734/data/59ef3510ceeab.png",
 "original_name": "photo.png",
 "mime": "image/png",
 "ext": "png",
 "host": "https://fs.redsms.ru/files",
 "created": 1653800626
 }
 ]
}
 

Удаление файла

DELETE /api/storage/{id}

Параметры:

Пример успешного ответа:

{"success":"true"}
 

Статусы сообщений

Статусы рассылок

Статусы для имени отправителя


Базовые ответы сервера