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

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

С помощью общего метода отправки сообщения POST /api/message вы можете отправлять множество сообщений разным получателем. Для этого укажите в параметре to список номеров телефонов, разделённых запятой ,.

Максимальное количество сообщений в одном запросе – 300 000 шт.

Важно

Сообщения будут отправлены одновременно всем указанным получателям. Данный метод может не подойти, если вам необходима равномерная отправка по времени.

На этой странице приведены примеры массовой отправки 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": "<SENDER_NAME>",
"to": "+79993332211,+79993332212,+79993332213",
"text": "Только до конца февраля! Скидки на все категории товаров до 50%"
}'

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

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

{
"items": [
{
"uuid": "21c2e4ce-c503-11ee-b60a-0242c0a86496",
"status": "created",
"status_time": 1707232773,
"to": "+79993332211"
},
{
"uuid": "21cb4b8c-c503-11ee-b364-0242c0a86496",
"status": "created",
"status_time": 1707232773,
"to": "+79993332212"
},
{
"uuid": "21cd3a96-c503-11ee-a723-0242c0a86496",
"status": "created",
"status_time": 1707232773,
"to": "+79993332213"
}
],
"errors": [],
"count": 3,
"success": true
}

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

Массовая отправка сообщений с уникальным текстом

Вы можете отправить уникальный текст сообщения разным получателям в одном запросе. Для этого после каждого номера телефона получателя укажите текст, добавив разделитель двоеточие :.

Пример запроса для массовой отправки сообщений с уникальным текстом:

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:Вам начислено 50 бонусов,+79993332212:Вам начислено 23 бонуса,+79993332213:Вам начислено 68 бонусов"
}'

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

В случае, если отправляемый текст содержит символы , или :, вы можете указать другие разделители, используя параметры phoneDelimeter и textDelimeter:

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>",
"phoneDelimeter": "|",
"textDelimeter": "=",
"to": "+79993332211=Ваш бонусный баланс: 53,20 ₽|+79993332212=Ваш бонусный баланс: 3,14 ₽|+79993332213=Ваш бонусный баланс: 109,05 ₽"
}'

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