Документация SMS API

API интерфейс Документация
OpenAPI / Swagger Интерактивная документация · Схема OpenAPI

REST API для отправки SMS, управления SIM-картами и устройствами, а также HTTP вебхуками. Канонический префикс: /api/ (без версии в пути).

Интерактивный OpenAPI: /api/docs/ · схема: /api/schema/.

Прежде чем вы сможете использовать API, войдите и создайте токен доступа, затем замените YOUR_ACCESS_TOKEN.

Необязательно: опустите sim_card, чтобы использовать вашу основную SIM-карту; если она недоступна, будет использована следующая SIM-карта по приоритету маршрута в качестве резервной. MCP-агент

Ответы & ошибки

Успешные JSON ответы используют 200/201. Ошибки используют тело в стиле DRF:

{
  "detail": "Error message"
}
/* or field errors: */
{
  "to_number": ["This field is required."]
}
СтатусКогда
400Ошибка валидации
401Отсутствующий или недействительный токен доступа / JWT
403Аутентифицирован, но доступ запрещен
404Неизвестный идентификатор
429Лимит запросов / квота
502Ошибка доставки тестового вебхука (удаленная цель)

Ошибка аутентификации (curl)

curl -i \
    --header 'Accept: application/json' \
    --request GET https://www.tincansmartphone.ru/api/sim-cards/
# → 401 {"detail":"Authentication credentials were not provided."}

Список SIM-карт

curl \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --request GET https://www.tincansmartphone.ru/api/sim-cards/

Отправить SMS

curl \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --data '{"sim_card":"SIM_CARD_ID", "to_number":"<RECEIVER_PHONE_NUMBER>", "text": "Hello!"}' \
    --request POST https://www.tincansmartphone.ru/api/messages/outbound/

Список входящих SMS

curl \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --request GET https://www.tincansmartphone.ru/api/messages/inbound/

Телеметрия устройства

curl \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --request GET https://www.tincansmartphone.ru/api/devices/<DEVICE_ID>/telemetry/

Вебхуки

Создайте HTTP обратные вызовы для событий SMS/SIM. Вы также можете управлять вебхуками через инструменты MCP create_webhook, list_webhooks, delete_webhook, test_webhook.

Событие Описание
sms.out.created Смс было отправлено на API для отправки.
sms.out.sent Смс помечено как отправленное
sms.in.received было получено смс
simcard.added Сим-карта добавлена.
simcard.changed Сим-карту поменяли
simcard.removed Сим-карта была удалена

Создать вебхук

curl \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --data '{"target": "https://example.com/hook", "event": "sms.in.received"}' \
    --request POST https://www.tincansmartphone.ru/api/webhooks/

Список вебхуков

curl \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --request GET https://www.tincansmartphone.ru/api/webhooks/

Тест вебхука

Отправляет пример тела JSON с "test": true на URL вебхука и возвращает удаленный статус.

curl \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --request POST https://www.tincansmartphone.ru/api/webhooks/<WEBHOOK_ID>/test/

Удалить вебхук

curl \
    --header 'Accept: application/json; indent=4' \
    --header 'Authorization: Token YOUR_ACCESS_TOKEN' \
    --request DELETE https://www.tincansmartphone.ru/api/webhooks/<WEBHOOK_ID>/

Пример ошибки валидации (отсутствующие поля) → 400 с ошибками полей. Неизвестный идентификатор → 404 {"detail":"Не найдено."}.

MCP JSON-RPC: POST /mcp/ (публичные инструменты документации без auth; телефонные — с тем же заголовком Token). Открыть консоль MCP