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

Отправка SMS

Отправка сообщений SMS осуществляется через общий метод отправки сообщений 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": "<SMS_SENDER_NAME>",
"to": "+79993332211",
"text": "Используйте код 0917 для авторизации на сайте site.ru"
}'

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

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

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

Для получения статуса доставки SMS используйте метод GET /api/message/{uuid} или Webhook.

примечание

Если в поле from указано незарегистрированное имя отправителя, оно будет заменено на имя отправителя для SMS по умолчанию, указанное в разделе «Настройки» в личном кабинете.

Отправка отложенного SMS

Вы можете создать SMS, которое будет отправлено позже. Для этого укажите в параметре startTime временную метку (UNIX Timestamp) отправки сообщения. Сообщение не будет отправлено раньше указанного значения.

примечание

Параметр startTime не может быть позднее, чем 7 календарных дней от текущего времени.

Пример запроса для отправки отложенного SMS:

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\": \"<SMS_SENDER_NAME>\",
\"startTime\": $(date -d '+1 hour' +%s),
\"to\": \"+79993332211\",
\"text\": \"Час назад вы воспользовались услугами нашей компании.\nОцените качество работы, оставив отзыв на Яндекс.Картах\"
}"

# В OSX вместо команды md5sum необходимо использовать команду md5, для формирования времени date -v+1H +%s

Отправка SMS с временем жизни

По умолчанию максимальное время ожидания статуса доставки после отправки SMS – 24 часа.

Если вам предпочтительно доставка сообщения в ограниченном временном интервале (например, если информация в сообщении может стать неактуальной через несколько часов), вы можете указать параметр validity со значением времени жизни сообщения в секундах.

Минимально допустимое значение – 600 (10 минут), максимальное – 86400 (24 часа).

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>",
"validity": 3600,
"to": "+79993332211",
"text": "Код подтверждения операции 7801 действителен 1 час"
}'

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