Перейти к основному содержимому

Начало работы

После создания ключа API и регистрации имени отправителя можно начинать интеграцию.

Авторизация

Все запросы требуют авторизации. Для этого необходимо передавать следующие заголовки:

ЗаголовокЗначение
loginЛогин вашего аккаунта
tsПроизвольная строка
secretmd5(ts + '<API_KEY>') – md5 хеш от конкатенации поля ts и ключа API

Проверьте авторизацию, используя метод GET /api/client/info, который возвращает информацию об аккаунте:

curl "https://cp.redsms.ru/api/client/info" \
-H "login: <USERNAME>" \
-H "ts: ts-value-42" \
-H "secret: $(echo -n 'ts-value-42<API_KEY>' | md5sum | awk '{print $1}')"

# В OSX вместо команды md5sum необходимо использовать команду md5

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

{
"info": {
"login": "<USERNAME>",
"balance": 3950.14,
"active": true
},
"success": true
}

В случае ошибки проверьте значения URL и заголовков запроса.

Отправка сообщения

После успешной авторизации, попробуйте отправить тестовое сообщение.
Для этого используйте метод POST /api/message:

curl -X POST "https://cp.redsms.ru/api/message" \
-H "login: <USERNAME>" \
-H "ts: ts-value-42" \
-H "secret: $(echo -n 'ts-value-42<API_KEY>' | md5sum | awk '{print $1}')" \
-H "Content-type: application/json" \
-d '{
"route": "sms",
"from": "<SENDER_NAME>",
"to": "+79993332211",
"text": "Привет, мир!"
}'

# В OSX вместо команды md5sum необходимо использовать команду md5
примечание

Вместо <SENDER_NAME> введите название вашего имени отправителя, например MyCompany.

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

{
"items": [
{
"uuid": "0f9a4cfa-8bed-11ee-94af-0242c0a86496",
"status": "created",
"status_time": 1703956078,
"to": "+79993332211"
}
],
"errors": [],
"count": 1,
"success": true
}

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

После успешной отправки сообщения можно начать опрашивать статус его доставки, используя метод GET /api/message/{uuid}:

curl "https://cp.redsms.ru/api/message/<UUID>" \
-H "login: <USERNAME>" \
-H "ts: ts-value-42" \
-H "secret: $(echo -n 'ts-value-42<API_KEY>' | md5sum | awk '{print $1}')"

# В OSX вместо команды md5sum необходимо использовать команду md5
примечание

Вместо <UUID> укажите значение, полученное в результате создания сообщения.

Рекомендуемый интервал опроса статуса сообщения – 5 секунд.

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

{
"item": {
"uuid": "0f9a4cfa-8bed-11ee-94af-0242c0a86496",
"status": "delivered",
"status_time": 1700956086
},
"success": true
}

Используя описанные методы API вы сможете реализовать любые пользовательские сценарии.