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"
}
}
|