Справочный центр Wialon

upload_tacho_file

Метод resource/upload_tacho_file используется для загрузки файлов тахографа на сервер.

Чтобы загрузить файл тахографа и получить результат его разбора, используйте сигнатуру 1:

Copied!
svc=resource/upload_tacho_file&params={
    "outputFlag": <uint>,
    "eventHash": "<text>"
}

Отправьте этот запрос как POST-запрос из нескольких частей (multipart/form-data): одна часть содержит параметры, другая — файл DDD.

Чтобы привязать содержимое загруженного файла к указанному водителю, используйте сигнатуру 2:

Copied!
svc=resource/upload_tacho_file&params={
    "itemId": <long>,
    "driverCode": "<text>",
    "guid": "<text>",
    "outputFlag": <uint>
}

Параметры

Ниже приведено описание параметров запроса.

Параметр Описание
itemId ID ресурса.
driverCode Код водителя.
guid Идентификатор загруженного файла. Его можно получить из события, которое генерируется после запроса с сигнатурой 1 (см. Возвращаемый результат).
outputFlag Флаг ответа: 1 — получить заголовок DDD, 2 — получить заголовок и activity. Обязателен в обеих сигнатурах.
eventHash Имя события, которое генерируется после обработки файла.

Ответ

Если запрос с сигнатурой 1 выполнен успешно, возвращается пустой объект:

Copied!
{}

Результат разбора передается в виде события. Чтобы получить его, используйте метод avl_evts:

Copied!
{
    "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.

Результат разбора имеет следующий формат:

Copied!
{
    "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 Одна из следующих ошибок:
  • Неверные входные параметры.
  • Водитель не найден (для сигнатуры 2).
  • Не удалось разобрать загруженный файл (для сигнатуры 1) или файл с указанным guid (для сигнатуры 2).
5 Одна из следующих ошибок:
  • Не удалось загрузить файл DDD (для сигнатуры 1).
  • Не удалось записать файл DDD (для сигнатуры 2).
  • Не удалось прочитать файл с указанным guid из файловой системы (для сигнатуры 2).
7 Одна из следующих ошибок (для сигнатуры 2):
  • Нет права доступа Создание, редактирование и удаление водителей к ресурсу.
  • Не удалось найти ресурс с указанным ID.

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.