Распознать документы и селфи из массива изображений

POST /kyc/process


Описание

Метод определяет, выбирает и распознаёт документы и селфи из массива изображений. Позволяет загружать несколько файлов, выполнять OCR и сохранять результаты в сессии. Для доступа необходим JWT-токен в заголовке или в теле запроса.


Формат запроса

  • HTTP метод: POST
  • URL: /kyc/process
  • Тип контента: multipart/form-data
  • Авторизация: требуется

Параметры запроса

ПараметрТипГде передаётсяОбязательныйОписание
tokenstringHeader, form-data✅*Перманентный токен пользователя. Если временный токен не указан в заголовке «token», то этот параметр обязателен в теле запроса
imagesarrayform-dataМассив изображений (файлы)
sessionIdstringform-dataПривязка к существующей сессии. Новая сессия будет создана, если не указано
schemaIdstringform-dataИдентификатор схемы процесса KYC
captchastringform-dataКапча, если требуется
modestringform-dataРежим выполнения: ‘async’ или ‘sync’ (по умолчанию ‘sync’)
clientKeystringform-dataКлюч для поиска сессии
ocrbooleanform-dataВыполнять OCR документов (по умолчанию true)

* Один из вариантов передачи токена обязателен.


Пример запроса (cURL)

curl -X POST "https://api.neuro-vision.ru/v1/kyc/process" 
  -H "Authorization: Bearer jwt.temporary.token" 
  -F "images=@/path/to/passport.jpg" 
  -F "images=@/path/to/selfie.jpg" 
  -F "sessionId=00000000-0000-0000-0000-000000000000" 
  -F "schemaId=schema-001" 
  -F "ocr=true" 
  -F "mode=sync"

Примеры ответов

Успех (200 OK)
{
  "sessionId": "00000000-0000-0000-0000-000000000000",
  "clientId": "00000000-0000-0000-0000-000000000000",
  "status": "success",
  "spent": 136.945,
  "results": [
    {
      "spent": 8.779,
      "status": "success",
      "type": "document",
      "docName": "GBR — Passport(2006)",
      "image": "url",
      "imageFull": "url",
      "checks": [
        {
          "caption": "fraud",
          "items": [
            {
              "caption": "isEdited",
              "status": "success"
            }
          ]
        }
      ],
      "ocr": {
        "fields": [
          {
            "conf": "high",
            "title": "Surname",
            "value": "DOE"
          }
        ],
        "status": "success"
      },
      "errors": [
        "[document] text fields not visible"
      ]
    }
  ],
  "createdAt": "2025-05-21T08:15:46.972Z",
  "isClientNew": false
}
## **Успех (selfie & doc):**
{
  "sessionId": "10000000-0000-0000-0000-000000000000",
  "clientId": "00000000-0000-0000-0000-000000000000",
  "status": "success",
  "spent": 36.11,
  "results": [
    {
      "status": "success",
      "type": "passport",
      "spent": 4.453,
      "errors": [],
      "docName": "GBR — Passport (2006)",
      "checks": [
        {
          "caption": "fraud",
          "items": [
            {
              "status": "success",
              "caption": "isEdited"
            },
            {
              "status": "success",
              "caption": "isDisplay"
            },
            {
              "status": "success",
              "caption": "isPrinted"
            }
          ]
        }
      ],
      "ocr": {
        "status": "success",
        "fields": [
          {
            "title": "Surname",
            "value": "DOE",
            "conf": "high"
          }
        ]
      },
      "image": "url_to_passport_image",
      "imageFull": "url_to_full_passport_image"
    },
    {
      "status": "success",
      "type": "selfie",
      "spent": 4.664,
      "errors": [],
      "docName": "GBR — Passport (2006)",
      "checks": [
        {
          "caption": "fraud",
          "items": [
            {
              "status": "success",
              "caption": "isEdited"
            }
          ]
        }
      ],
      "faceSelfie": "url_to_selfie_image",
      "faceDoc": "url_to_face_document_image",
      "withDoc": "passport",
      "image": "url_to_selfie_image",
      "imageFull": "url_to_full_selfie_image"
    },
    {
      "status": "success",
      "type": "faces",
      "spent": 0.004,
      "errors": [],
      "checks": [
        {
          "caption": "Face matching",
          "items": [
            {
              "status": "success",
              "caption": "selfie with passport & passport",
              "value": "92%",
              "images": [
                "url_to_selfie_with_passport_image",
                "url_to_passport_image"
              ]
            },
            {
              "status": "success",
              "caption": "selfie & passport",
              "value": "83%",
              "images": [
                "url_to_selfie_image",
                "url_to_passport_image_for_selfie_comparison"
              ]
            }
          ]
        }
      ]
    }
  ],
  "createdAt": "2025-05-21T08:15:46.975Z",
  "isClientNew": false
}
Ошибка (400 Invalid schema / No image attached)
{
  "message": "invalid schema",
  "status": "error"
}
Ошибка (failed)
{
  "sessionId": "00000000-0000-0000-0000-000000000000",
  "clientId": "null",
  "status": "failed",
  "spent": 261.569,
  "results": [
    {
      "status": "failed",
      "type": "document",
      "spent": 0,
      "errors": [
        "[system] exception"
      ],
      "ocr": {
        "status": "idle",
        "fields": []
      }
    }
  ],
  "createdAt": "2025-05-21T08:15:46.980Z",
  "isClientNew": true
}