Skip to content

Входящие SMS

Возвращает список входящих SMS, полученных вашими устройствами, с поддержкой поиска по отправителю и постраничной навигацией.

Требование

Для работы эндпоинта необходимо, чтобы на устройстве была включена опция «Входящие SMS в панель» в его настройках.

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

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

ПараметрТипПо умолчаниюОписание
pageinteger1Номер страницы
per_pageinteger20Записей на странице (максимум 100)
searchstringПоиск по отправителю: номер телефона или буквенный Sender ID (например Sberbank). Только точное совпадение.

Поиск работает по точному совпадению

Данные хранятся в зашифрованном виде. Поиск выполняется по HMAC-хешу отправителя — частичное совпадение не поддерживается. Указывайте номер точно, как он приходит от оператора (например +79001234567 или Sberbank).

Ответ — 200 OK

json
{
  "items": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "device_id": "550e8400-e29b-41d4-a716-446655440000",
      "phone": "+79001234567",
      "message": "Ваш код подтверждения: 4521",
      "received_at": "2024-01-15T10:30:00Z"
    },
    {
      "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "device_id": "550e8400-e29b-41d4-a716-446655440000",
      "phone": "Sberbank",
      "message": "Перевод 500 руб. Баланс: 12 500 руб.",
      "received_at": "2024-01-15T09:15:00Z"
    }
  ],
  "total": 42,
  "page": 1,
  "per_page": 20
}

Поля элемента

ПолеТипОписание
idstring (UUID)Уникальный идентификатор входящего SMS
device_idstring (UUID) | nullУстройство, которое получило SMS. null — устройство удалено
phonestringНомер или Sender ID отправителя
messagestringТекст сообщения
received_atstring (ISO 8601)Время получения SMS (UTC)

Примеры

Получить последние входящие

bash
curl "https://api.gosms.ru/api/ext/v1/sms/incoming" \
  -H "Authorization: Bearer ВАШ_КЛЮЧ"

Поиск по номеру отправителя

bash
curl "https://api.gosms.ru/api/ext/v1/sms/incoming?search=%2B79001234567" \
  -H "Authorization: Bearer ВАШ_КЛЮЧ"

Поиск по буквенному Sender ID

bash
curl "https://api.gosms.ru/api/ext/v1/sms/incoming?search=Sberbank" \
  -H "Authorization: Bearer ВАШ_КЛЮЧ"

Вторая страница, 50 записей

bash
curl "https://api.gosms.ru/api/ext/v1/sms/incoming?page=2&per_page=50" \
  -H "Authorization: Bearer ВАШ_КЛЮЧ"

Python — мониторинг кодов подтверждения

python
import requests

API_KEY = "ВАШ_КЛЮЧ"
BASE_URL = "https://api.gosms.ru/api/ext/v1"

def get_incoming(search: str = "", page: int = 1, per_page: int = 20) -> dict:
    params = {"page": page, "per_page": per_page}
    if search:
        params["search"] = search

    response = requests.get(
        f"{BASE_URL}/sms/incoming",
        headers={"Authorization": f"Bearer {API_KEY}"},
        params=params,
    )
    response.raise_for_status()
    return response.json()

# Получить все входящие от конкретного отправителя
data = get_incoming(search="+79001234567")
print(f"Найдено: {data['total']} сообщений")
for sms in data["items"]:
    print(f"[{sms['received_at']}] {sms['phone']}: {sms['message']}")

JavaScript — получить входящие с пагинацией

javascript
async function getIncomingSMS({ search = '', page = 1, perPage = 20 } = {}) {
  const params = new URLSearchParams({ page, per_page: perPage });
  if (search) params.set('search', search);

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

  if (!response.ok) throw new Error(`Ошибка: ${response.status}`);
  return response.json();
}

// Пример: входящие от Сбербанка
const result = await getIncomingSMS({ search: 'Sberbank' });
console.log(`Входящих от Sberbank: ${result.total}`);
result.items.forEach(sms => {
  console.log(`${sms.received_at}: ${sms.message}`);
});

Постраничная навигация

javascript
const hasNextPage = (page * per_page) < total;
const totalPages  = Math.ceil(total / per_page);

Возможные ошибки

КодОписание
401API-ключ не передан или недействителен
403Ключ не имеет разрешения sms:incoming_read
400Недопустимое значение параметра search (слишком длинный или содержит запрещённые символы)

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