Skip to content

Отправить SMS (GET)

Браузерный эндпоинт — отправляет SMS через обычный GET-запрос. Все параметры передаются в строке запроса (query string).

Метод: GET
Эндпоинт: /api/ext/v1/sms/send
Требуемое разрешение: sms:send

Этот эндпоинт удобен когда нужно отправить SMS прямо из браузера, скрипта оболочки или сервиса, который умеет только GET-запросы (например, некоторые системы мониторинга или вебхуки).

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

ПараметрОбязательноОписание
phoneНомер телефона в международном формате (+79001234567)
textТекст SMS (не более 300 символов)
device_idUUID устройства. Если не указан — автовыбор
no_storetrue чтобы не сохранять SMS в истории
token❌*API-ключ, если не передаёт заголовок Authorization

*token нужен только если вы не используете заголовок Authorization: Bearer.

Примеры

Простая отправка

GET https://api.gosms.ru/api/ext/v1/sms/send?phone=%2B79001234567&text=Привет
Authorization: Bearer ВАШ_КЛЮЧ

Кодирование URL

Знак + в номере телефона нужно закодировать как %2B, иначе браузер может его потерять. Большинство HTTP-библиотек делают это автоматически.

С API-ключом в URL (без заголовков)

GET https://api.gosms.ru/api/ext/v1/sms/send?token=ВАШ_КЛЮЧ&phone=%2B79001234567&text=Привет

curl

bash
curl "https://api.gosms.ru/api/ext/v1/sms/send?phone=%2B79001234567&text=Тест" \
  -H "Authorization: Bearer ВАШ_КЛЮЧ"

Python

python
import requests

params = {
    "phone": "+79001234567",  # requests сам закодирует + как %2B
    "text": "Привет из Python!",
}

response = requests.get(
    "https://api.gosms.ru/api/ext/v1/sms/send",
    headers={"Authorization": "Bearer ВАШ_КЛЮЧ"},
    params=params,
)
response.raise_for_status()
print(response.json())

JavaScript (браузер)

javascript
const params = new URLSearchParams({
  phone: '+79001234567',
  text: 'Привет из браузера!',
});

const response = await fetch(
  `https://api.gosms.ru/api/ext/v1/sms/send?${params}`,
  { headers: { 'Authorization': 'Bearer ВАШ_КЛЮЧ' } }
);

const sms = await response.json();
console.log('Отправлено:', sms.id);

Пример для системы мониторинга (URL с токеном)

Если система мониторинга умеет только GET и не позволяет задать заголовки:

https://api.gosms.ru/api/ext/v1/sms/send?token=ВАШ_КЛЮЧ&phone=%2B79001234567&text=ALERT%3A+сервер+недоступен

Ответ — 201 Created

Ответ идентичен POST /api/ext/v1/sms:

json
{
  "id": "550e8400-e29b-41d4-a716-446655440001",
  "device_id": "550e8400-e29b-41d4-a716-446655440000",
  "phone": "+79001234567",
  "message": "Привет из браузера!",
  "status": "pending",
  "sent_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z"
}

Когда использовать GET вместо POST

СитуацияРекомендация
Серверная интеграция, есть возможность задать заголовкиИспользуйте POST
Браузерный скрипт без CORS-проблемМожно GET
Система мониторинга, умеет только URLGET с ?token=
Webhook-сервис без поддержки заголовковGET с ?token=
Простой тест из адресной строки браузераGET

GoSMS — управление Android-устройствами для автоматизации отправки SMS