upload_tacho_file
Метод resource/upload_tacho_file используется для загрузки файлов тахографа на сервер.
Чтобы загрузить файл тахографа и получить результат его разбора, используйте сигнатуру 1:
svc=resource/upload_tacho_file¶ms={
"outputFlag": <uint>,
"eventHash": "<text>"
}
Отправьте этот запрос как POST-запрос из нескольких частей (multipart/form-data): одна часть содержит параметры, другая — файл DDD.
Чтобы привязать содержимое загруженного файла к указанному водителю, используйте сигнатуру 2:
svc=resource/upload_tacho_file¶ms={
"itemId": <long>,
"driverCode": "<text>",
"guid": "<text>",
"outputFlag": <uint>
}
Параметры
Ниже приведено описание параметров запроса.
| Параметр | Описание |
|---|---|
| itemId | ID ресурса. |
| driverCode | Код водителя. |
| guid | Идентификатор загруженного файла. Его можно получить из события, которое генерируется после запроса с сигнатурой 1 (см. Возвращаемый результат). |
| outputFlag | Флаг ответа: 1 — получить заголовок DDD, 2 — получить заголовок и activity. Обязателен в обеих сигнатурах. |
| eventHash | Имя события, которое генерируется после обработки файла. |
Ответ
Если запрос с сигнатурой 1 выполнен успешно, возвращается пустой объект:
{}
Результат разбора передается в виде события. Чтобы получить его, используйте метод avl_evts:
{
"tm": <uint>,
"events": [
{
"i": -1,
"d": {
"hash": "<text>", // Значение параметра eventHash.
"result": {
"svc_error": 0,
"svc_result": {
"guid": "<text>", // Идентификатор загруженного файла.
"parseResult": {...} // Результат разбора (см. ниже).
}
}
}
}
]
}
Если файл не удалось загрузить, запрос возвращает ошибку 5, а событие содержит "result": {"svc_error": 5}.
Если файл не удалось разобрать, запрос возвращает ошибку 4. В этом случае событие либо содержит "result": {"svc_error": 4}, либо не генерируется вообще, поэтому проверяйте также ответ на запрос.
Если запрос с сигнатурой 2 выполнен успешно, ответ содержит результат разбора без ключа guid.
Результат разбора имеет следующий формат:
{
"an": <text>, // Орган, выдавший карту.
"c": <text>, // Страна.
"dc": <text>, // Код водителя, 16 символов: 14-символьный номер карты, за которым следуют индексы замены и продления карты.
"dn": <text>, // Имя водителя.
"la": <long>, // Дата последней активности.
"ed": <long>, // Дата окончания срока действия.
"fa": <long>, // Дата первой активности.
"id": <long>, // ID.
"vb": <long>, // Начало срока действия.
"vl": [<text>], // Регистрационный номер транспортного средства.
"activity": { // Активность водителя. Показывается, если задан outputFlag:2.
"Availability": {
"a": <uint>, // Действие водителя: 0 — перерыв/отдых, 1 — готовность, 2 — работа, 3 — вождение.
"cs": <uint>, // Статус карты: 0 — вставлена; 1 — не вставлена.
"s": <uint>, // Слот водителя: 0 — водитель, 1 — второй водитель.
"st": <uint>, // Количество водителей: 0 — один водитель, 1 — экипаж.
"t": <uint> // Время.
},
"Break/Rest": {
"a": <uint>,
"cs": <uint>,
"s": <uint>,
"st": <uint>,
"t": <uint>
},
"Driving": {
"a": <uint>,
"cs": <uint>,
"s": <uint>,
"st": <uint>,
"t": <uint>
},
"Work": {
"a": <uint>,
"cs": <uint>,
"s": <uint>,
"st": <uint>,
"t": <uint>
}
}
}
Если запрос выполнить не удалось, возвращается код ошибки.
Коды ошибок
| Код ошибки | Описание |
|---|---|
| 4 | Одна из следующих ошибок:
|
| 5 | Одна из следующих ошибок:
|
| 7 | Одна из следующих ошибок (для сигнатуры 2):
|