Асинхронный режим

По умолчанию Dbrain работает в синхронном режиме. Вы отправляете файл на классификацию или распознавание, дожидаетесь получения ответа и только после этого отправляете следующий файл. Такой режим удобен при малом потоке документов и в тестовых целях. В остальных случаях мы рекомендуем использовать асинхронный режим. Чтобы включить его, в параметрах запроса укажите async=true.

# асинхронный запрос распознавания паспорта из файла passport.jpg, облачная версия:
$ curl -X POST \
    "https://latest.dbrain.io/recognize?doc_type=passport_main&quality=75&dpi=300&auto_pdf_raw_images=true&pdf_raw_images=true&async=true&token=ваш_ключ_лицензии" \
    -H  "accept: application/json" \
    -H  "Content-Type: multipart/form-data" \
    -F "image=@passport.jpg;type=image/jpeg"

В ответ на асинхронный запрос Dbrain вернёт такой HTTP-заголовок:

access-control-allow-credentials: true 
access-control-allow-origin: https://latest.dbrain.io 
content-length: 130 
content-type: application/json 
date: Tue08 Sep 2020 11:47:52 GMT 
server: nginx/1.15.2 
status: 200

Структура тела HTTP-сообщения следующая:

{
  "detail": [],
  "items": [],
  "task_id": "5f576f68a3c2c6b689ff7a83",
  "code": null,
  "message": null,
  "errno": null,
  "traceback": null,
  "fake": null
}

task_id необходимо указать для получения результатов распознавания или классификации, например:

# в параметре token укажите ваш ключ лицензии
$ curl -si \
    "https://latest.dbrain.io/result/5f576f68a3c2c6b689ff7a83?token=xxx"

Возможные варианты ответов на запрос результатов

Еслиtask_idнайден, а классификация или распознавание завершены, код ответа — 200.

HTTP-заголовок:
content-encoding: gzip 
content-length: 896 
content-type: application/json 
date: Tue08 Sep 2020 11:26:22 GMT 
server: nginx/1.15.2 
status: 200 
vary: Accept-Encoding 
Тело сообщения на примере распознавания паспорта:
{
  "detail": [],
  "items": [
    {
      "doc_type": "passport_main",
      "fields": {
        "date_of_birth": {
          "text": "",
          "confidence": 0,
          "valid": null,
          "coords": [
            [
              [
                880,
                1446
              ],
              [
                1187,
                1446
              ],
              [
                1187,
                1497
              ],
              [
                880,
                1497
              ]
            ]
          ]
        },
        "date_of_issue": {
          "text": "17.12.2004",
          "confidence": 0.7422276735305786,
          "valid": null,
          "coords": [
            [
              [
                233,
                422
              ],
              [
                537,
                419
              ],
              [
                537,
                473
              ],
              [
                233,
                476
              ]
            ]
          ]
        },
        "first_name": {
          "text": "ЕВГЕНИЙ",
          "confidence": 0.998583197593689,
          "valid": null,
          "coords": [
            [
              [
                748,
                1289
              ],
              [
                972,
                1289
              ],
              [
                972,
                1340
              ],
              [
                748,
                1340
              ]
            ]
          ]
        },
        "issuing_authority": {
          "text": "ОТДЕЛОМ ВНУТРЕННИХ ДЕЛ ОКТЯБРЬСКОГО ОКРУГА ГОРОДА АРХАНГЕЛЬСКА",
          "confidence": 0.995008111000061,
          "valid": null,
          "coords": [
            [
              [
                441,
                208
              ],
              [
                646,
                201
              ],
              [
                646,
                240
              ],
              [
                441,
                246
              ]
            ],
            [
              [
                681,
                201
              ],
              [
                976,
                201
              ],
              [
                976,
                236
              ],
              [
                681,
                236
              ]
            ],
            [
              [
                1011,
                201
              ],
              [
                1097,
                201
              ],
              [
                1097,
                236
              ],
              [
                1011,
                236
              ]
            ],
            [
              [
                502,
                278
              ],
              [
                857,
                278
              ],
              [
                857,
                313
              ],
              [
                502,
                313
              ]
            ],
            [
              [
                889,
                275
              ],
              [
                1065,
                275
              ],
              [
                1065,
                307
              ],
              [
                889,
                307
              ]
            ],
            [
              [
                502,
                355
              ],
              [
                678,
                355
              ],
              [
                678,
                390
              ],
              [
                502,
                390
              ]
            ],
            [
              [
                713,
                352
              ],
              [
                1065,
                348
              ],
              [
                1065,
                384
              ],
              [
                713,
                387
              ]
            ]
          ]
        },
        "other_names": {
          "text": "АЛЕКСАНДРОВИЧ",
          "confidence": 0.9980864524841309,
          "valid": null,
          "coords": [
            [
              [
                659,
                1366
              ],
              [
                1065,
                1366
              ],
              [
                1065,
                1417
              ],
              [
                659,
                1417
              ]
            ]
          ]
        },
        "place_of_birth": {
          "text": "ГОР. АРХАНГЕЛЬСК",
          "confidence": 0.9998399019241333,
          "valid": null,
          "coords": [
            [
              [
                643,
                1536
              ],
              [
                745,
                1536
              ],
              [
                745,
                1568
              ],
              [
                643,
                1568
              ]
            ],
            [
              [
                790,
                1536
              ],
              [
                1110,
                1536
              ],
              [
                1110,
                1568
              ],
              [
                790,
                1568
              ]
            ]
          ]
        },
        "sex": {
          "text": "МУЖ.",
          "confidence": 0.9768308401107788,
          "valid": null,
          "coords": [
            [
              [
                540,
                1449
              ],
              [
                665,
                1449
              ],
              [
                665,
                1500
              ],
              [
                540,
                1500
              ]
            ]
          ]
        },
        "subdivision_code": {
          "text": "292-000",
          "confidence": 0.9457029104232788,
          "valid": null,
          "coords": [
            [
              [
                825,
                416
              ],
              [
                1052,
                416
              ],
              [
                1052,
                464
              ],
              [
                825,
                464
              ]
            ]
          ]
        },
        "surname": {
          "text": "ИМЯРЕК",
          "confidence": 0.9971189498901367,
          "valid": null,
          "coords": [
            [
              [
                742,
                1132
              ],
              [
                944,
                1132
              ],
              [
                944,
                1184
              ],
              [
                742,
                1184
              ]
            ]
          ]
        },
        "series_and_number": {
          "text": "1104 000000",
          "confidence": 0.9674372673034668,
          "valid": null,
          "coords": null
        }
      },
      "color": true,
      "error": null
    }
  ],
  "task_id": null,
  "code": null,
  "message": null,
  "errno": null,
  "traceback": null,
  "fake": null
}

Last updated