API Автобусных рейсов
Это API создавалось для коммуникации с Барнаульским 1C модулем и сейчас не должно использоваться или отдаваться клиентам так как оно работает только в плане назначения на рейс
Прогноз прибытия не был реализован, Отсылка сообщений на URL не производится так как сильно тормозила систему.
Пример
https://<address>/api/etraffic/api.php
POST параметры:
-
сmd - команда , возможные варианты.
-
SetLine - создать новый рейс
-
SetControl - назначить автобус на рейс.
-
UnsetControl - удалить назначение на рейс.
-
BindControl -привязать.
-
UnbindControl -отвязать.
-
Data - данные в формате JSON.
Форматы данных и описание для разных команд:
Команда позволяет завести новый автобусный маршрут со всеми остановками в систему Pilot
данные в поле
Data:
{
"account_id": "3008", // Номер договора (цифра)
"bidirectional": 1, // Рейс друнаправленный (туда-обратно) 1 или 0
"description": "Маршрут №9", // Описание рейса (текст)
"label": "123", // Дополнительная метка рейса (текст)
"name": "Маршрут №9", // Нащвание рейса (текст)
"number": "12304", // Номер рейса (текст или цифра)
"type_id": 0, // Тип рейса (type_id : 0 -автобус, 1-троллейбус, 2 - трамвай, 3 -маршрутка)
"uid": "dhqwdh" // Уникальный идентификатор рейса (текст)
"points": [ // Массив со списком остановочных пунктов
{
"lat": "45.0207", //Широта центра остановки (десятичная цифра)
"lon": "33.9993", //Долгота центра остановки (десятичная цифра)
"name": "Аэропорт__", //Название остановки
"price": 15.35, //Стоимость проезда от предыдущей остановки (десятичная цифра)
"radius": "91", //Радиус в метрах (цифра )
"silent": 0, //Запрет отправки сообщений от событий на этой остановки (1 или 0)
"stop_type": 0, //Тип остановки 0 - обычная, 1 - техническая (пассажиры не считаются) 2 - конечная (счетчик обнуляется - все выходят)
"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"
}
]
}
Создание привязки транспортного средства к автобусной линии. В интерфейсе это делается так:
{
"uid": "121e1e1e12", // Уникальный идентификатор привязки (текст)
"imei": "12304", // IMEI транспортного средства (текст)
"lineuid": "2e23e23e2e", // Уникальный идентификатор маршрута (текст)
"ts": "1392294840", // Время начала действия привязки
"te": "1392321600", // Время окончания действия привязки (пустое если без ограничения)
"message_url":"http://example.com/message.php", // URL на который шлются сообщения от автобуса
(дверь открылась, автобус прибыл на остановку, вошло такое-то количество пассажиров).
"prognoze_url":"http://example.com/prognoze.php", // URL на который шлется прогноз прибытия на остановку
}
Удаление привязки транспортного средства к автобусной линии.
{
"uid": "qiwduhqiwdqkdqkn" // Уникальный идентификатор привязки (текст)
}
-
Команда - комбинация команд setLine и bindControl.
Создается автобусный маршрут и к нему привязывается транспортное средство.
{
"uid": "qiwduhqiwdqkdqkn", //Уникальный идентификатор рейса (текст)
"ts": "1392294840", // Время начала действия привязки
"te": "1392321600", // Время окончания действия привязки (пустое если без ограничения)
"name": "test", // Название рейса (текст)
"imei": "359772039289781", // IMEI транспортного средства (текст)
"number":"861A" // Номер рейса (текст или цифра)
"message_url":"http://example.com/message.php", // URL на который шлются сообщения от автобуса (дверь открылась, автобус прибыл на остановку, вошло такое-то количество пассажиров)
"prognoze_url":"http://example.com/prognoze.php", // URL на который шлется прогноз прибытия на остановку
"points": [
{
"uid": "1", //Уникальный идентификатор остановки и привязки (текст)
"lat": "53.352142", //Широта центра остановки (десятичная цифра)
"lon": "83.758749", //Долгота центра остановки (десятичная цифра)
"name": "Барнаульский автовокзал", //Название остановки
"radius":"50", //Радиус в метрах (цифра )
"stop_type":0, //Тип остановки 0 - обычная, 1 - техническая (пассажиры не считаются) 2 - конечная (счетчик обнуляется - все выходят)
"price":15.35 //Стоимость проезда от предыдущей остановки (десятичная цифра)
},
{
"uid": "2",
"lat": "52.534012",
"lon": "85.178777",
"name": "Бийский автовокзал",
"radius":"100",
"stop_type":0,
"price":15.35
}
]
}
Удаление привязки установленной командой setControl
{
"uid": "qiwduhqiwdqkdqkn" // Уникальный идентификатор привязки (текст)
}
Формат данных присылаемый на URL оповещения.