Recognition 42

API Recognition 42 - это служба, которая позволяет извлекать данные из скан-изображений и документов MS Excel, автоматически оптимизировать исходные изображения, извлекать штрих-коды, группировать документы в pdf файлы. Данные, полученные в результате распознавания, доступны в виде xml документов. Взаимодействие происходит по протоколу HTTP с использованием REST API. Разработчики могут использовать сервис, осуществляя запросы к его методам и получая ответы. Описание методов приведено в настоящей документации.


Авторизация и проверка ресурсов

Для работы с сервисом Recognition42 в заголовок header каждого запроса следует включать уникальный идентификатор, соответствующий учетной записи (token). В случае, если token не будет включен в заголовок запроса, а также при некорректном его значении, метод возвратит сообщение об ошибке авторизации с кодом 401.

Login

Для получения уникального идентификатора следует использовать метод центральной службы Core42 Login

Проверка ресурсов

Для проверки ресурсов следует также использовать методы центральной службы Core42. Cначала следует получить идентификатор пользователя, используя метод GetAccountUserIDByToken Зная идентификатор пользователя, можно получить идентификатор аккаунта, используя метод службы 42Облака GetAccountId. По идентификатору аккаунта можно получить остаток ресурсов. Для этого следует применить метод GetValue.

Уникальные идентификаторы ресурсов для проверки методом GetValue

  • B08BD408-1684-4209-843F-021608F91135 - идентификатор числа лицензий
  • 43E506C9-B541-4726-AFDC-0CDA973C230B - идентификатор продолжительности действия лицензий в днях

В заголовок header вышеперечисленных запросов следует также включить уникальный идентификатор пользователя (token), полученный методом Login

Service

Позволяет запрашивать текущий статус сервиса, количество доступных обработчиков пакетов, проверять доступность папок экспорта и содержит основные методы работы с сервисом.

APIDescription
GET api_v1/Service/GetAvailableWorkersCount

Получение количества доступных обработчиков заданий на распознавание

GET api_v1/Service/IsRunning

Проверка доступности сервиса

GET api_v1/Service/CheckWorkers

Проверка доступности ворекров

GET api_v1/Service/CheckExportFolderWritePermission?exportUriStr={exportUriStr}&webDavLogin={webDavLogin}&webDavPassword={webDavPassword}

Осуществляет проверку прав на запись в папку экспорта на WebDAV сервере

POST api_v1/Service/CheckDisk42ExportFolder?disk42Path={disk42Path}

Осуществляет проверку прав на запись в папку Диск42

GET api_v1/Service/CheckStability

Проверка стабильности работы сервиса

RecognitionPackages

Коллекция пакетов, описывающая исходные и результирующие файлы, полученные документы и пользовательские настройки в рамках одного задания на распознавание. Содержит информацию о состоянии задания.

APIDescription
POST api_v1/RecognitionPackages/CreatePackageAndRecognizeUsingDisk42

Создание пакета и последующее распознавание. Файлы берутся с хранилища Диск42

POST api_v1/RecognitionPackages/CreatePackage

Создать новый пакет

GET api_v1/RecognitionPackages/GetPackageStatus?recognitionPackageId={recognitionPackageId}

Получить информацию о текущем статусе обработки пакета

POST api_v1/RecognitionPackages/ChooseVRProviders

Установить сервис, которым будет осуществляться аудио распознавание

POST api_v1/RecognitionPackages/SetPackageTemplates

Установить перечень типов шаблонов распознавания через запятую

POST api_v1/RecognitionPackages/SetAudioPackageRecognitionSettings

Установить настройки для распознавания аудио пакета

GET api_v1/RecognitionPackages/GetPackageTemplates?recognitionPackageId={recognitionPackageId}

Запрос предустановленных шаблонов для распознаваний (пустое значение – все доступные шаблоны)

POST api_v1/RecognitionPackages/CreatePackageFromDocumentPages

Создание пакета на основании страниц распознанного документа (прим. учитывается последовательность)

GET api_v1/RecognitionPackages/GetPackageExportPath?recognitionPackageId={recognitionPackageId}

Запрос текущего значения пути экспорта пакета

POST api_v1/RecognitionPackages/SetPackageExportPath

Установка предпочтительного пути экспорта результатов распознаваний. Экспорт выполняется после вызова соответствующего метода.

POST api_v1/RecognitionPackages/SetPackageWebDavLogin

Установка webdav логина для доступа к заданному пакету

GET api_v1/RecognitionPackages/GetPackageWebDavLogin?recognitionPackageId={recognitionPackageId}

Запрос текущего установленного логина для доступа к webdav

POST api_v1/RecognitionPackages/SetPackageWebDavPassword

Установка пароля webdav для доступа к заданному пакету

POST api_v1/RecognitionPackages/RecognizePackage

Запрос на распознавание пакета с изображениями и таблицами

POST api_v1/RecognitionPackages/RecognizeVoicePackage

Запрос распознавания аудио пакета

POST api_v1/RecognitionPackages/RecognizePackageUsingBrainCenter

Запрос процесса распознавания с последующей верификацией полученных данных операторами

POST api_v1/RecognitionPackages/OptimizePackage

Запрос оптимизации пакета

POST api_v1/RecognitionPackages/ExtractBarcodeFromPackage

Запрос процесса извлечения штрих-кода. Настраивает пакет для извлечения штрих-кода.

POST api_v1/RecognitionPackages/CreatePdfForPackage

Запрос инициации процесса создания .pdf документа из файлов пакета.

POST api_v1/RecognitionPackages/RecognizeAsSingleDocument

Запрос инициации процесса распознавания всех файлов пакета как единого документа.

GET api_v1/RecognitionPackages/GetPackageRecognizedDocumentsList?recognitionPackageId={recognitionPackageId}

Запрос списка идентификаторов документов полученных в процессе распознавания пакета

GET api_v1/RecognitionPackages/GetPackageRecognizedResultFilesList?recognitionPackageId={recognitionPackageId}

Запрос списка распознанных документов относящихся к данному пакету

GET api_v1/RecognitionPackages/GetPackageSourceFilesList?recognitionPackageId={recognitionPackageId}

Запрос списка идентификаторов исходных файлов пакета

GET api_v1/RecognitionPackages/GetPackageProperties?recognitionPackageId={recognitionPackageId}

Запрос полного списка параметров пакета.

POST api_v1/RecognitionPackages/DeletePackage

Запрос удаления пакета и связанных с ним данных

GET api_v1/RecognitionPackages/GetPackageHierarchyProperties?recognitionPackageId={recognitionPackageId}

Запрос информации о пакете, и обо всех включенных в него файлах и документах

RecognizedDocuments

Коллекция документов,которая описывает результат распознавания файлов (resultFiles), объединенных в единый документ с помощью шаблона (RecognitionTemplate). Имеет ссылку на пакет «RecognitionPackage», которому принадлежит и ссылку на файл xml, который был сгенерирован в результате распознавания.

APIDescription
GET api_v1/RecognizedDocuments/GetDocumentStatus?recognizedDocumentId={recognizedDocumentId}

Запрос текущего статуса документа

GET api_v1/RecognizedDocuments/GetDocumentPagesList?recognizedDocumentId={recognizedDocumentId}

Запрос списка идентификаторов страниц документа, из которых он был получен

GET api_v1/RecognizedDocuments/GetDocumentRecognitionTemplateId?recognizedDocumentId={recognizedDocumentId}

Получение идентификатора шаблона распознавания

GET api_v1/RecognizedDocuments/GetDocumentXMLResultFileId?recognizedDocumentId={recognizedDocumentId}

Запрос получения идентификатора результирующего xml файла, который содержит извлеченные из документа (на основании шаблона) данные.

GET api_v1/RecognizedDocuments/GetDocumentPDFResultFileId?recognizedDocumentId={recognizedDocumentId}

Запрос получения идентификатора результирующего pdf файла, который содержит страницы документа, объединённые в рамках одного .pdf файла.

GET api_v1/RecognizedDocuments/GetDocumentProperties?recognizedDocumentId={recognizedDocumentId}

Запрос полного списка параметров распознанного документа

DocumentPages

Коллекция страниц документа. Страница - описывает сопоставление между RecognizedDocuments и SourceFiles пакета.

APIDescription
GET api_v1/DocumentPages/DownloadPage?documentPageId={documentPageId}&longSideLength={longSideLength}

Запрос получения файла страницы документа.

GET api_v1/DocumentPages/ExportPage?documentPageId={documentPageId}&longSideLength={longSideLength}

Запрос экспорта файла страницы документа по заданному в пакете пути

GET api_v1/DocumentPages/GetPageProperties?documentPageId={documentPageId}

Запрос полного списка параметров страницы документа.

POST api_v1/DocumentPages/DeletePage

Запрос удаления страницы документа из базы данных.

ResultFiles

Коллекция файлов, полученных в процессе обработки пакета. Файлы .xml – содержат извлеченные из документа (на основании шаблона) данные. Файлы .pdf – содержат страницы, из которых состоит отдельный распознанный документ. Все страницы одного документа объединены в один .pdf файл.

APIDescription
GET api_v1/ResultFiles/DownloadFile?resultFileId={resultFileId}

Запрос получения результирующего файла.

GET api_v1/ResultFiles/ExportFile?resultFileId={resultFileId}

Запрос экспорта результирующего файла по заданному в пакете пути.

GET api_v1/ResultFiles/GetFileProperties?resultFileId={resultFileId}

Запрос полного списка параметров результирующего файла.

POST api_v1/ResultFiles/DeleteFile

Запрос удаления результирующего файла из базы данных

SourceFiles

Коллекция файлов, добавленных пользователем, в рамках одного задания на распознавание. Файлы можно добавлять только в созданный пакет

APIDescription
POST api_v1/SourceFiles/UploadFileUsingDirectStream

Запрос добавления файлов в пакет с последующей загрузкой. Файл передается в теле запроса

POST api_v1/SourceFiles/UploadFileUsingDirectStream1C

Запрос добавления файлов в пакет с последующей загрузкой. Файл передается как массив байт

POST api_v1/SourceFiles/UploadFileUsingDisk42

Запрос добавления файлов в пакет с последующей загрузкой. Файл берется с хранилища Диск42

POST api_v1/SourceFiles/UploadFileUsingHttpLink

Запрос добавления файлов в пакет с последующей загрузкой. Путь к файлу представлен http ссылкой

POST api_v1/SourceFiles/UploadFileUsingWebDavLink

Запрос добавления файлов в пакет с последующей загрузкой. Файл берется с webdav

GET api_v1/SourceFiles/DownloadFile?sourceFileId={sourceFileId}

Запрос получения файла.

GET api_v1/SourceFiles/ExportFile?sourceFileId={sourceFileId}

Запрос экспорта файла по заданному в пакете пути

GET api_v1/SourceFiles/GetFileProperties?sourceFileId={sourceFileId}

Запрос полного списка параметров исходного файла

GET api_v1/SourceFiles/GetFileStatus?sourceFileId={sourceFileId}

Запрос текущего статуса файла

POST api_v1/SourceFiles/DeleteFile

Запрос удаления файла источника из базы данных

BrainCenter

Процессинговый центр. Отвечает за верификацию распознанных документов операторами

APIDescription
POST api_v1/BrainCenter/GetBrainCenterVerificateModel

Получить данные по таске для верефикации.

POST api_v1/BrainCenter/GetBrainCenterWorkerTasks

Получить список тасков воркера бреин центра.

POST api_v1/BrainCenter/GetBrainCenterActualTask

Получить url первоочередной задачи, предварительно проверив текущие на таймаут

POST api_v1/BrainCenter/GetBrainCenterStatisticModel

Выводит краткую статистику по воркерам

GET api_v1/BrainCenter/GetActiveBCWorkersCount

Получить количество активных процессинговых центров

POST api_v1/BrainCenter/TaskDone

Завершить таску.

POST api_v1/BrainCenter/IsBrainCenterWorker

Проверяем является ли пользователь воркером бреин центра.

BrainCenterWorkers

Операторы процессингового центра. Верифицируют документы после машинного распознавания

APIDescription
POST api_v1/BrainCenterWorkers/Add

Добавить воркера в брейн центр.

POST api_v1/BrainCenterWorkers/WhollyRecognize

Распознание пакета с последующей верификацией.

Поля в XML файлах результатов распознавания.

Результаты распознавания возвращаются в виде XML, названия XML элементов соответствуют названию приведенных ниже параметров с символом нижнего подчеркивания впереди, например, <_sum> 300 </_sum> в XML соответствует параметру Sum, равному 300.

SF:

  • DocNum – номер документа
  • DocDate – дата документа
  • Sum – сумма
  • TaxSum – сумма налога
  • DocCur – валюта
  • IssCompany – продавец
  • IssAddres – адрес продавца
  • IssINN – ИНН продавца
  • IssKPP – КПП продавца
  • DesCompany – покупатель
  • DestAddres – адрес покупателя
  • DestINN – ИНН покупателя
  • DestKPP – КПП покупателя
  • DocType – тип документа
  • BackOrder – обратный расчет НДС
  • Consignor – грузоотправитель и его адрес
  • Consignee – грузополучатель и его адрес
  • PaymentDoc – платежно–расчетный документ
Значения таблицы Table1:
  • Descript – наименование
  • UnitCode – код единицы измерения
  • Unit – единица измерения
  • Qty – количество
  • Price – цена
  • Cost – стоимость без НДС
  • Excise – акциз
  • TaxRate – ставка НДС
  • TaxSum – сумма НДС
  • SumWithTax – стоимость с НДС
  • CountryCode – код страны
  • Country – страна
  • Decl – номер ГТД
  • RightDecl – последнее число номера ГТД
  • Stamp – наличие печати

TN:

  • DocNum – номер документа
  • DocDate – дата документа
  • Sum – сумма
  • TaxSum – сумма налога
  • DocCur – валюта
  • IssCompany – продавец
  • IssAddres – адрес продавца
  • IssINN – ИНН продавца
  • IssKPP – КПП продавца
  • DesCompany – покупатель
  • DestAddres – адрес покупателя
  • DestINN – ИНН покупателя
  • DestKPP – КПП покупателя
  • DocType – тип документа
  • BackOrder – обратный расчет НДС
Значения таблицы:
  • Descript – наименование
  • Unit – единица измерения
  • Qty – количество
  • Price – цена
  • Cost – стоимость без НДС
  • Excise – акциз
  • TaxRate – ставка НДС
  • TaxSum – сумма НДС
  • SumWithTax – стоимость с НДС
  • Stamp – наличие печати

UD:

  • DocNum – номер документа
  • CorrectionNum – исправление №
  • CorrectionDate – дата исправления
  • DocDate – дата документа
  • Status – статус
  • Lists – листов
  • Sum – сумма с НДС
  • TaxSum – сумма налога
  • SumWithoutTax – сумма без НДС
  • DocCur – валюта
  • IssCompany – продавец
  • IssAddres – адрес продавца
  • IssINN – ИНН продавца
  • IssKPP – КПП продавца
  • DesCompany – покупатель
  • DestAddres – адрес покупателя
  • DestINN – ИНН покупателя
  • DestKPP – КПП покупателя
  • DocType – тип документа
  • Consignor – грузоотправитель и его адрес
  • Consignee – грузополучатель и его адрес
  • PaymentDoc – платежно–расчетный документ
Значения таблицы:
  • Article – код товара
  • Descript – наименование
  • UnitCode – код единицы измерения
  • Unit – единица измерения
  • Qty – количество
  • Price – цена
  • Cost – стоимость без НДС
  • Excise – акциз
  • TaxRate – ставка НДС
  • TaxSum – сумма НДС
  • SumWithTax – стоимость с НДС
  • CountryCode – код страны
  • Country – страна
  • Decl – номер ГТД
  • RightDecl – последнее число номера ГТД
  • Stamp – наличие печати

SC:

  • DocNum – номер счета
  • DocDate – дата счета
  • DesCompany – получатель
  • DestINN – ИНН получателя
  • DestKPP – КПП получателя
  • DestCurrentAccount – расчетный счет получателя
  • BIC – БИК
  • CorrAccount – корреспондентский счет
  • Payer – плательщик
  • Consignee – получатель
  • Total – итого
  • TaxTotal – итого НДС
  • TotalPayment – всего к оплате
Значения таблицы:
  • Descript – наименование
  • Qty – количество
  • Price – цена
  • Sum – сумма
  • TaxRate – ставка налога
  • ТaxSum – cумма налога
  • Unit – единица

PR:

  • NUMBER – номер
  • DATE – дата
  • PAY_KIND – вид платежа
  • LITERA_SUM – сумма прописью
  • PAYER_INN – ИНН плательщика
  • PAYER_KPP – КПП плательщика
  • PAYER – плательщик
  • SUM – сумма
  • PAYER_ACC – счет плательщика
  • PAYER_BANK – банк плательщика
  • PAYER_BIC – БИК плательщика
  • PAYER_KS – счет банка плательщика
  • RECIP_BANK – банк получателя
  • RECIP_BIC – БИК получателя
  • RECIP_KS – счет банка получателя
  • RECIP_INN – ИНН получателя
  • RECIP_KPP – КПП получателя
  • RECIP – получатель
  • RECIP_ACC – счет получателя
  • OP_KIND – вид операции
  • PurposCode – код назначения платежа
  • PayCode – УИН
  • PAY_TERM – срок
  • PAY_QUEUE – очередность
  • PAYMENT_AI – назначение
  • PayNds – НДС
  • BatchNum – номер пачки
  • UserName – имя оператора
  • PAY_COND – условие оплаты
  • ACCEPT_TER – срок

PO, CL:

  • NUMBER – номер
  • DATE – дата
  • PAY_KIND – вид платежа
  • LITERA_SUM – сумма прописью
  • PAYER_INN – ИНН плательщика
  • PAYER_KPP – КПП плательщика
  • PAYER – плательщик
  • SUM – сумма
  • PAYER_ACC – счет плательщика
  • PAYER_BANK – банк плательщика
  • PAYER_BIC – БИК плательщика
  • PAYER_KS – счет банка плательщика
  • RECIP_BANK – банк получателя
  • RECIP_BIC – БИК получателя
  • RECIP_KS – счет банка получателя
  • RECIP_INN – ИНН получателя
  • RECIP_KPP – КПП получателя
  • RECIP – получатель
  • RECIP_ACC – счет получателя
  • OP_KIND – вид операции
  • PurposCode – код назначения платежа
  • PayCode – УИН
  • PAY_TERM – срок
  • PAY_QUEUE – очередность
  • PAYMENT_AI – назначение
  • PayNds – НДС
  • KBK – КБК
  • OKATO – код ОКТМО
  • TAX_REASON – основание платежа
  • TAX_PERIOD – период налогообложения
  • TAX_DOC_N – номер документа основания
  • TAX_DATE – дата налогообложения
  • TAX_TYPE – тип платежа
  • TAX_STATUS – статус
  • BatchNum – номер пачки
  • UserName – имя оператора

PASS:

  • PP_Kem – кем выдан
  • PP_Date – дата выдачи
  • PP_Podr – код подразделения
  • PP_SurName – Фамилия
  • PP_Name – Имя
  • PP_SecName – отчество
  • PP_BirthDate – дата рождения
  • PP_Sex – пол
  • PP_BirthPlace – Место рождения
  • PP_Ser2, PP_Ser – серия
  • PP_Num2, PP_Num – номер

FPASS:

  • MRBlock – машиночитаемое поле
  • Country – код государства выдачи
  • Surname – фамилия
  • Name – имя
  • Number – номер паспорта
  • Nationality – гражданство
  • BirthDate – дата рождения
  • Sex – пол
  • IssueDate – дата выдачи
  • ExpireDate – дата окончания срока действия
  • PersonalCode – личный код
  • Authority – место выдачи
  • BirthPlaceRus – место рождения
  • SurnameRus – фамилия (рус.)
  • NameRus – имя (рус.)

FPASSMRZ, FPASSMRZAR90OFF:

  • MRBlock – машиночитаемое поле
  • Country – код государства выдачи
  • Surname – фамилия
  • Name – имя
  • Number – номер паспорта
  • Nationality – гражданство
  • BirthDate – дата рождения
  • Sex – пол
  • ExpireDate – дата окончания срока действия
  • PersonalCode – личный код

AT:

  • DocNum – номер документа
  • DocDate – дата документа
  • IssCompany – компания исполнителя
  • IssINN – ИНН исполнителя
  • IssKPP – КПП исполнителя
  • DesCompany – компания заказчика
  • DestINN – ИНН заказчика
  • DestKPP – КПП заказчика
  • Sum – сумма
  • TaxSum – НДС
Возможные значения в таблице Table1:
  • Descript – наименование
  • Qty – количество
  • Price – цена
  • Sum – сумма
  • Unit – единица
  • NaxRate – налоговая ставка
  • SumWithTax – сумма с НДС