Отправить SMS (GET)
Браузерный эндпоинт — отправляет SMS через обычный GET-запрос. Все параметры передаются в строке запроса (query string).
Метод: GET
Эндпоинт: /api/ext/v1/sms/send
Требуемое разрешение: sms:send
Этот эндпоинт удобен когда нужно отправить SMS прямо из браузера, скрипта оболочки или сервиса, который умеет только GET-запросы (например, некоторые системы мониторинга или вебхуки).
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
phone | ✅ | Номер телефона в международном формате (+79001234567) |
text | ✅ | Текст SMS (не более 300 символов) |
device_id | ❌ | UUID устройства. Если не указан — автовыбор |
no_store | ❌ | true чтобы не сохранять 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 |
| Система мониторинга, умеет только URL | GET с ?token= |
| Webhook-сервис без поддержки заголовков | GET с ?token= |
| Простой тест из адресной строки браузера | GET |