Если POST-запрос был успешно обработан, тело ответа будет содержать JSON-объект со следующими полями:
| { "object": "%SCAN_OBJECT%", "scanResult": "%SCAN_RESULT%", "detectionName": "%DETECTED_OBJECT%", "name": "%SCAN_OBJECT_NAME%", "containsOfficeMacro": "%IS_MACRO_CONTAINED%", "subObjectsScanResults": [ { "object": "%SCAN_FILE%", "scanResult": "%SCAN_RESULT%", "detectionName": "%DETECTED_OBJECT%", "containsOfficeMacro": "%IS_MACRO_CONTAINED%" }, ... { "object": "%SCAN_FILE%", "scanResult": "%SCAN_RESULT%", "detectionName": "%DETECTED_OBJECT%", "containsOfficeMacro": "%IS_MACRO_CONTAINED%" } ] } | 
Здесь:
object – абсолютный путь до просканированного файла (если запрос был послан к /api/v3.0/scanfile) или строка "memory" (если запрос был послан к /api/v3.0/scanmemory).scanResult – результат сканирования веб-адреса. Может иметь следующие значения:CLEANDETECTDISINFECTEDDELETEDNON_SCANNEDSERVER_ERRORЕсли запрос был послан к /api/v3.0/scanfile или к /api/v3.0/scanmemory, причина того, что объект не сканируется, может быть добавлена к результату NON_SCANNED. Например:
| { "object": "\/home\/user\/Documents\/filestoscan\/test.zip", "scanResult": "NON_SCANNED (PASSWORD PROTECTED)", "containsOfficeMacro": "false" } | 
Возможные значения:
NON_SCANNED (CANCELED)Сканирование отменено.
NON_SCANNED (CORRUPTED)Сканируемый объект поврежден.
NON_SCANNED (ACCESS DENIED)Доступ к объекту запрещен.
NON_SCANNED (SKIPPED)Сканирование пропущено.
NON_SCANNED (PASSWORD PROTECTED)Проверяемый объект защищен паролем.
NON_SCANNEDПричина, по которой объект не сканируется, не определена.
detectionName – имя обнаруженного вредоносного объекта в классификации "Лаборатории Касперского".name – имя объекта, указанного в поле name тела запроса (если запрос был послан к /api/v3.1/scanmemory). Если сканируемый объект имеет вложенные подобъекты, элемент name указывается только в родительском объекте.containsOfficeMacro – переменная логического типа, которая имеет значение true, если в просканированном объекте был обнаружен макрос, и false в противоположном случае.subObjectsScanResults – массив, состоящий из результатов сканирования подобъектов, вложенных в просканированный объект. Это поле и все вложенные в него поля будут добавлены в ответ, только если просканированный объект включает вложенные подобъекты.subObjectsScanResults/object – путь до вложенного подобъекта. Обратите внимание, что путь к подобъекту отделен от пути к родительскому объекту двумя косыми чертами (//), например:/home/user/archive.tar//folder/subobject
subObjectsScanResults/scanResult – результат сканирования вложенного подобъекта.subObjectsScanResults/detectionName – имя обнаруженного вредоносного объекта в классификации "Лаборатории Касперского".subObjectsScanResults/containsOfficeMacro – переменная логического типа, которая имеет значение true, если в просканированном подобъекте был обнаружен макрос, и false в противоположном случае.Если POST-запрос был обработан с ошибкой, тело ответа будет содержать JSON-объект с единственным полем error:
| { "error": "%СООБЩЕНИЕ ОБ ОШИБКЕ%" } | 
 Здесь поле error содержит описание ошибки, которая произошла во время обработки запроса.
Дополнительные поля в протоколе KAV версии 3.1
Поле reason появляется только в том случае, если вы используете протокол KAV версии 3.1. В этом поле указывается причина, по которой объект не проверяется. Это поле появляется, если запрос был послан к /api/v3.1/scanfile или к /api/v3.1/scanmemory и если значение поля scanResult равно NON_SCANNED.
Возможные значения:
CanceledСканирование отменено.
CorruptedСканируемый объект поврежден.
Access deniedДоступ к объекту запрещен.
SkippedСканирование пропущено.
Password protectedПроверяемый объект защищен паролем.
Max depth exceededПревышена максимальная глубина распаковки вложенных архивов при сканировании.