×

API Автобусных рейсов

 
Этот API используется для управления автобусными рейсами и привязкой транспортных средств к маршрутам. Он создаёт маршруты и назначает транспортные средства на рейсы.

Как получить данные

Метод

POST

Адрес запроса

Для получения данных используйте адрес: https://<address>/api/api.php
<address>— адрес сайта

Команда запроса

Чтобы получить нужные данные, добавьте команду.
  • cmd — команда для выполнения
Доступные команды
  • setLine — создание нового автобусного маршрута
  • bindControl — привязка транспортного средства к маршруту
  • unbindControl — отвязка транспортного средства от маршрута
  • setControl — назначение автобуса на рейс
  • unsetControl — удаление назначения на рейс
  • data — данные в формате JSON, которые передаются в теле запроса.

Примеры

Базовый URL для всех запросов
https://<address>/api/api.php?

Создание автобусного маршрута

Команда setLine создаёт новый маршрут с указанными параметрами и добавляет остановки маршрута.
Тело запроса
{
 "account_id": "3008",  
 "bidirectional": 1,   
 "description": "Маршрут №9", 
 "label": "123",   
 "name": "Маршрут №9", 
 "number": "12304",     
 "type_id": 0,   
 "uid": "dhqwdh"
 "points": [ 
    {
     "lat": "45.0207", 
     "lon": "33.9993", 
     "name": "Аэропорт__",  
     "price": 15.35,  
     "radius": "91", 
     "silent": 0,
     "stop_type": 0,
     "ts": 600,
     "te": 700, 
     "uid": "819897e2-843b-11e4-bf52-002354656fea"
    },
    {
     "lat": "44.9078",
     "lon": "34.0784",
     "name": "7я горбольница",
     "price": 15.35,
     "radius": "90",
     "silent": 0,
     "stop_type": 0,
     "te": 1000,
     "ts": 900,
     "uid": "819897e8-843b-11e4-bf52-002354656fea"
     }
  ]
}
Параметры запроса
  Параметр
  Тип данных
  Описание
  account_id
  Строка
 Номер договора
  bidirectional
  Число
  Рейс двунаправленный (1 — туда-обратно, 0 — однонаправленный)
  description
  Строка
  Описание маршрута
  label
  Строка
  Дополнительная метка маршрута
  name
  Строка
  Название маршрута
  number
  Строка
  Номер маршрута (текст или цифра)
  type_id
  Число
  Тип транспорта: 0 — автобус, 1 — троллейбус, 2 — трамвай, 3 — маршрутка.
  uid
  Строка
  Уникальный идентификатор маршрута
  points
  Массив
  Список остановок маршрута
Параметры остановки
  Параметр
  Тип данных
  Описание
  lat
  Строка
  Широта центра остановки (десятичная цифра)
  lon
  Строка
  Долгота центра остановки (десятичная цифра)
  name
  Строка
  Название остановки
  price
  Число
  Стоимость проезда от предыдущей остановки (десятичная цифра)
  radius
  Строка
  Радиус зоны остановки в метрах (цифра)
  silent
  Число
  Запрет уведомлений: 1 — запрещено, 0 — разрешено
  stop_type
  Число
Тип остановки: 0 — обычная, 1 — техническая (пассажиры не считаются), 2 — конечная (счётчик обнуляется — все пассажиры выходят)
  ts
  Число
  Время прибытия на остановку относительно предыдущей (в секундах)
  te
  Число
  Время стоянки на остановке (в секундах)
  uid
  Строка
  Уникальный идентификатор остановки
Ответ на API
{
  "status": "success",
  "message": "Маршрут успешно создан",
  "data": {
    "uid": "dhqwdh",
    "lineuid": "2567" 
  }
}
Параметры ответа
  Параметр
  Описание
  status
  Статус выполнения: success или error
  message
  Сообщение о результате выполнения
  data
  Данные о созданном маршруте
  data.uid
  Уникальный идентификатор маршрута
  data.lineuid
  Уникальный идентификатор созданного маршрута
 

Привязка транспортного средства к автобусной линии

Команда bindControl используется для привязки транспортного средства к конкретному маршруту. Команда связывает GPS-трекер с маршрутом, указывает время действия привязки и настраивает URL для получения уведомлений о событиях, например, прибытие на остановку или открытие дверей.
Тело запроса
{
  "uid": "121e1e1e12",       
  "imei": "12304",            
  "lineuid": "2e23e23e2e",      
  "ts": "1392294840",           
  "te": "1392321600",          
  "message_url": "http://example.com/message.php",  
  "prognoze_url": "http://example.com/prognoze.php"
}
Параметры запроса
  Параметр
  Тип данных
  Описание
  uid
  Строка
  Уникальный идентификатор привязки
  imei
  Строка
  IMEI транспортного средства
  lineuid
  Строка
  Уникальный идентификатор маршрута
  ts
  Строка
  Время начала действия привязки (в формате timestamp)
  te
  Строка
  Время окончания действия привязки (в формате timestamp; если не указано, то срок действия не ограничен)
  message_url
  Строка
  URL для уведомлений о событиях (например, прибытие на остановку)
  prognoze_url
  Строка
  URL для прогнозов прибытия на остановки
 
Ответ на API
{
  "status": "success",
  "message": "Привязка успешно создана",
  "data": {
    "uid": "121e1e1e12", 
    "imei": "12304",     
    "lineuid": "2e23e23e2e"
  }
}
Параметры ответа
  Параметр
  Описание
  status
  Статус выполнения: success или error
  message
  Сообщение о результате выполнения
  data
  Данные о созданной привязке
  data.imei
  Уникальный идентификатор привязки
  data.lineuid
  Уникальный идентификатор маршрута

Удаление привязки транспортного средства к автобусной линии

unbindControl — команда для удаления ранее созданной привязки транспортного средства к маршруту. В запросе передаётся уникальный идентификатор привязки uid, который был создан ранее.
Тело запроса
json
{
   "uid": "qiwduhqiwdqkdqkn"
}
  • uid — уникальный идентификатор привязки
Ответ на API
{
  "status": "success",
  "message": "Привязка удалена",
  "data": {
    "uid": "qiwduhqiwdqkdqkn"
  }
}

Создание автобусного маршрута и привязка к нему транспорта

Комбинированная команда setLine и bindControl создаёт новый автобусный маршрут и привязывает транспортное средство к этому маршруту.
Тело запроса
{
  "uid": "qiwduhqiwdqkdqkn",
  "ts": "1392294840", 
  "te": "1392321600",  
  "name": "test", 
  "imei": "359772039289781", 
  "number": "861A", 
  "message_url": "http://example.com/message.php",  
  "prognoze_url": "http://example.com/prognoze.php",
  "points": [
    {
      "uid": "1",
      "lat": "53.352142", 
      "lon": "83.758749", 
      "name": "Барнаульский автовокзал", 
      "radius": "50", 
      "stop_type": 0, 
      "price": 15.35
    },
    {
      "uid": "2",
      "lat": "52.534012",
      "lon": "85.178777",
      "name": "Бийский автовокзал",
      "radius": "100",
      "stop_type": 0,
      "price": 15.35
    }
  ]
}
Пример ответа на API
{
  "status": "success",
  "message": "Маршрут и привязка успешно созданы",
  "data": {
    "uid": "qiwduhqiwdqkdqkn", 
    "imei": "359772039289781", 
    "lineuid": "2e23e23e2e" 
  }
}