Skip to content

Начало работы

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'];

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