Начало работы
1. Создайте API-ключ
Войдите в панель GoSMS и перейдите в раздел API-ключи. Нажмите «Создать ключ» и выберите:
- Название — чтобы понимать, для чего ключ (например, «Мой сайт»)
- Разрешения — какие операции разрешены этому ключу
- Срок действия — 1 месяц, 3 месяца, 6 месяцев, 1 год или бессрочно
Сохраните ключ сразу
После создания ключ отображается только один раз. В базе хранится только его хэш. Если потеряете — придётся создать новый.
2. Выберите разрешения
| Разрешение | Что даёт |
|---|---|
sms:send | Отправлять SMS |
sms:read | Просматривать историю SMS |
sms:delete | Удалять записи SMS |
devices:read | Просматривать список устройств |
devices:delete | Удалять устройства |
devices:settings | Изменять настройки устройств |
Для интеграции, которая только отправляет SMS, достаточно одного разрешения sms:send.
3. Сделайте первый запрос
Отправьте тестовый запрос, подставив свой ключ и номер телефона:
bash
curl -X POST https://api.gosms.ru/api/ext/v1/sms \
-H "Authorization: Bearer ВАШ_API_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{
"phone": "+79001234567",
"message": "Привет! Это тест GoSMS."
}'Если всё настроено правильно, вы получите ответ 201 Created с данными об SMS.
4. Убедитесь, что устройство онлайн
API маршрутизирует SMS на подключённые устройства. Если ни одно устройство не онлайн — SMS уйдёт в очередь и будет отправлено, когда устройство появится в сети.
Проверить статус устройств можно через эндпоинт списка устройств.
Примеры на разных языках
Python
python
import requests
API_KEY = "ВАШ_API_КЛЮЧ"
BASE_URL = "https://api.gosms.ru/api/ext/v1"
def send_sms(phone: str, message: str):
response = requests.post(
f"{BASE_URL}/sms",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"phone": phone, "message": message}
)
response.raise_for_status()
return response.json()
result = send_sms("+79001234567", "Привет из Python!")
print(f"SMS отправлено, ID: {result['id']}, статус: {result['status']}")JavaScript (fetch)
javascript
const API_KEY = 'ВАШ_API_КЛЮЧ';
const BASE_URL = 'https://api.gosms.ru/api/ext/v1';
async function sendSMS(phone, message) {
const response = await fetch(`${BASE_URL}/sms`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ phone, message }),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error.message);
}
return response.json();
}
const sms = await sendSMS('+79001234567', 'Привет из JavaScript!');
console.log('SMS ID:', sms.id);PHP
php
<?php
$apiKey = 'ВАШ_API_КЛЮЧ';
$baseUrl = 'https://api.gosms.ru/api/ext/v1';
$ch = curl_init("$baseUrl/sms");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer $apiKey",
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'phone' => '+79001234567',
'message' => 'Привет из PHP!',
]),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
echo "SMS ID: " . $response['id'];