Список заданий
Этот API используется для того, чтобы получить список заданий в PTM.
С его помощью можно:
— просматривать все задания, созданные в аккаунте
— отфильтровать их по периоду или статусу
— сортировать и постранично загружать данные
— видеть статусы, инициаторов, адреса и прочие параметры задания
Как получить данные
Метод
GET
Адрес запроса
Для получения данных используйте адрес: https://tasks.<server_address>/backend/public/dashboard/tasks
Параметры запроса
-
page — страница для выборки. Используется для пагинации . По умолчанию — 1
-
start — смещение для SQL-запроса. По умолчанию — 0
-
limit — количество записей для выборки. По умолчанию — 25
-
usr_id — ID пользователя (можно взять из объекта, возвращаемого при авторизации или инициализации)
-
acc_id — ID аккаунта (тоже берётся при авторизации/инициализации)
-
filter — фильтр в формате JSON. Например, выборка заданий за период:[{"property":"c_begin_time","operator":"bt_date","value":[1575147600,1583139659]}]
-
sort — сортировка в формате JSON. Например, сортировка по ID задания:[{"property":"id","direction":"DESC"}]
Пример запроса
fetch("https://tasks.<server_address>/backend/public/dashboard/tasks?page=1&start=0&limit=25&sort=%5B%7B%22
property%22%3A%22id%22%2C%22direction%22%3A%22ASC%22%7D%5D", {
method: "GET",
headers: {
"accept": "*/*",
"x-csrf-token": token // токен, полученный через getToken
},
credentials: "include"
})
.then(response => response.json())
.then(data => console.log(data));
|
Ответ
{
"page": 1,
"items": [
{
"id": 403,
"c_status_id": 2,
"c_task_type_id": 5,
"c_initiator": "Иванов И.И.",
"c_address_initiator": "г. Москва, ул. Ленина, 10",
"c_address_tasks": "г. Москва, ул. Пушкина, 25",
"c_address_base": "База №1",
"c_tasks_lat": 55.7558,
"c_tasks_lon": 37.6173,
"c_base_lat": 55.7512,
"c_base_lon": 37.6184,
"c_user_id": 12,
"c_driver_id": 101,
"c_vehicle_id": "10518",
"c_initiator_type": 1,
"c_begin_time": 1575147600,
"c_return_time": 1575154800,
"c_running_time": 1575148000,
"c_progress_time": 1575149000,
"c_end_time": 1575152000,
"c_information": "{\"comment\":\"Доставка документов\"}",
"created_at": "2020-12-01T10:00:00Z",
"updated_at": "2020-12-01T10:10:00Z",
"c_accept_time": 1575147700,
"c_initiator_type_name": "Шаблон: Доставка",
"c_initiator_parameters": "{\"priority\":\"high\"}",
"c_status_name": "Выполнено",
"c_task_type_name": "Доставка",
"c_task_type_priority": "1",
"c_task_type_priority_name": "Высокий",
"c_task_type_color": "#FF0000"
}
],
"total": 22,
"msg": []
}
|
В ответ на API-запрос возвращается:
-
page — номер страницы
-
items — массив заданий
-
total — общее количество заданий
-
msg — сообщения сервера (чаще пусто)
Основные поля задания:
-
id — ID задания
-
c_status_id — ID статуса
-
c_task_type_id — ID типа задания
-
c_initiator — инициатор (заявитель)
-
c_address_initiator — адрес инициатора
-
c_address_tasks — адрес выполнения задания
-
c_address_base — адрес базы
-
c_tasks_lat, c_tasks_lon — координаты задания
-
c_base_lat, c_base_lon — координаты базы
-
c_user_id — ID пользователя, создавшего задание
-
c_driver_id — ID назначенного водителя
-
c_vehicle_id — ID машины
-
c_initiator_type — ID шаблона задания
-
c_begin_time — время начала (Unix timestamp)
-
c_return_time — время возврата
-
c_running_time — время отправки на выполнение
-
c_progress_time — время начала выполнения
-
c_end_time — время завершения
-
c_information — дополнительные данные в формате JSON (например, комментарий)
-
created_at — время создания
-
updated_at — время обновления
-
c_accept_time — время принятия задания водителем
-
c_initiator_type_name — название шаблона
-
c_initiator_parameters — параметры шаблона (JSON)
-
c_status_name — название статуса задания
-
c_task_type_name — название типа задания
-
c_task_type_priority — ID приоритета
-
c_task_type_priority_name — название приоритета
-
c_task_type_color — цветовое обозначение типа задания