API

Программный доступ к своим устройствам: список, последнее положение и маршрут за период. Только чтение. Доступ — на тарифе «Про».

Токен

Токен создаётся в настройках аккаунта в разделе «Доступ к API». Передавайте его в каждом запросе заголовком:

Authorization: Bearer <ваш токен>

Токен даёт доступ только к вашим устройствам — тем же данным, что видны в кабинете. Доступ действует, пока оплачен тариф «Про»: после окончания оплаты API отвечает 403, пока тариф не вернётся. Перевыпуск токена сразу отключает старый.

Базовый адрес

https://tochkagps.ru/api/v1

Устройства

Список устройств с последним положением каждого:

curl -H "Authorization: Bearer <токен>" \
  https://tochkagps.ru/api/v1/devices

Ответ:

{
  "devices": [
    {
      "devId": "862311066180439",
      "name": "Startline",
      "iconName": "blueIcon",
      "status": "online",
      "position": {
        "latitude": 68.97,
        "longitude": 33.09,
        "speedKmh": 42.3,
        "course": 180,
        "altitude": 150,
        "moving": true,
        "fixTime": "2026-08-29T18:41:38.000Z"
      }
    }
  ]
}

position равно null, если устройство ещё не присылало точек. fixTime — в UTC (ISO-8601), время события с трекера. Скорость — в км/ч.

Одно устройство

curl -H "Authorization: Bearer <токен>" \
  https://tochkagps.ru/api/v1/devices/862311066180439

Ответ — { "device": { … } } с тем же полем, что в списке. Если устройства с таким идентификатором у вас нет — 404.

Маршрут за период

Точки трека между from и to (ISO-8601). За один запрос — не больше 31 дня. Глубина ограничена тарифом («Про» — год): если запросить раньше доступного, ответ обрежется, и в нём появится поле limited.

curl -H "Authorization: Bearer <токен>" \
  "https://tochkagps.ru/api/v1/devices/862311066180439/track?from=2026-08-01T00:00:00Z&to=2026-08-02T00:00:00Z"

Ответ:

{
  "points": [
    { "id": 1, "lat": 68.97, "lon": 33.09, "speedKmh": 0, "course": 0,
      "altitude": 150, "time": "2026-08-01T06:12:03.000Z" }
  ],
  "summary": {
    "distanceKm": 34.2, "maxSpeedKmh": 78.1, "avgSpeedKmh": 41.0,
    "durationSec": 3600, "pointsTotal": 812, "pointsReturned": 812
  }
}

Длинные треки прореживаются до 2000 точек (первая и последняя сохраняются) — смотрите pointsTotal и pointsReturned.

Ошибки

Ошибки — JSON вида { "error": "КОД", "message": "…" } с честным HTTP-статусом:

  • 401 NO_TOKEN / BAD_TOKEN — нет заголовка или токен неизвестен.
  • 403 PLAN_REQUIRED — тариф без доступа к API (или оплата истекла).
  • 404 NOT_FOUND — устройства с таким id у вас нет.
  • 400 BAD_RANGE / RANGE_TOO_LONG — неверный или слишком большой период.