Содержание

Водители: загрузить файл тахографа

Чтобы загрузить файл на сервер и распарсить его, используйте следующую сигнатуру resource/upload_tacho_file:

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

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

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

Параметры

Параметр Описание
itemId id ресурса/учётной записи
driverCode код водителя
guid идентификатор переданного файла
outputFlag флаг ответа:
1 - получить заголовки ddd-файла
(ddd header);
2 - получить activity
eventHash имя события, которое будет сгенери-
ровано после прочтения данных

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

Request URL:https://hst-api.wialon.com/wialon/ajax.html?svc=resource/upload_tacho_file&sid=<sid>
Request Method:POST
Content-Type:multipart/form-data; boundary=----WebKitFormBoundary5QlpCrB8XAgXVIdR


------WebKitFormBoundary5QlpCrB8XAgXVIdR
Content-Disposition: form-data; name="params"

{"outputFlag":2,"eventHash":"jUploadForm1434694609224"}
------WebKitFormBoundary5QlpCrB8XAgXVIdR
Content-Disposition: form-data; name="eventHash"

jUploadForm1434694609224
------WebKitFormBoundary5QlpCrB8XAgXVIdR
Content-Disposition: form-data; name="upload_ddd"; filename="tacho_file.ddd"
Content-Type: application/octet-stream

------WebKitFormBoundary5QlpCrB8XAgXVIdR--

В случае успеха, на запрос придет пустой json {}, а результат запроса можно будет получить из ответа на запрос avl_evts.

В полученном результате будет guid, который нужно использовать во второй сигнатуре метода для привязки содержимого файла к водителю.

Возвращаемый результат

Результат на ответ запроса avl_evts

{
	"guid":<text>,	    /* идентификатор переданного файла */
	"parseResult": {      /* результат парсинга файла */
		"an":<text>,                /* контролирующий орган */
		"c":<text>,                 /* страна */
		"dc":<text>,                /* код водителя, 14 символов */
		"dn":<text>,                /* имя водителя */
		"la":<long>,                /* время последней активности */
		"ed":<long>,                /* дата истечения */
		"fa":<long>,                /* время первой активности */
		"id":<long>,                /* id карточки */
		"vb":<long>,                /* действителен с */
		"vl": [<text>]              /* регистрационные номера транспортных средств */
		"activity":  {		  /* активность водителя; выводится, если указан outputFlag:2 */
		    "Availability": {
				"a":<uint>,		/* действие водителя, по которому и происходит сортировка по Availability, Break/Rest и т.д.: 0 - break/rest, 1 - availability, 2 - work, 3 - driving */
				"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>
		    }
        	}            	
	}
}