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
Позволяет запрашивать текущий статус сервиса, количество доступных обработчиков пакетов, проверять доступность папок экспорта и содержит основные методы работы с сервисом.
API | Description |
---|---|
GET api_v1/Service/GetAvailableWorkersCount | Получение количества доступных обработчиков заданий на распознавание |
GET api_v1/Service/IsRunning | Проверка доступности сервиса |
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
Коллекция пакетов, описывающая исходные и результирующие файлы, полученные документы и пользовательские настройки в рамках одного задания на распознавание. Содержит информацию о состоянии задания.
RecognizedDocuments
Коллекция документов,которая описывает результат распознавания файлов (resultFiles), объединенных в единый документ с помощью шаблона (RecognitionTemplate). Имеет ссылку на пакет «RecognitionPackage», которому принадлежит и ссылку на файл xml, который был сгенерирован в результате распознавания.
DocumentPages
Коллекция страниц документа. Страница – описывает сопоставление между RecognizedDocuments и SourceFiles пакета.
API | Description |
---|---|
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 файл.
API | Description |
---|---|
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
Коллекция файлов, добавленных пользователем, в рамках одного задания на распознавание. Файлы можно добавлять только в созданный пакет
API | Description |
---|---|
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
Процессинговый центр. Отвечает за верификацию распознанных документов операторами
API | Description |
---|---|
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
Операторы процессингового центра. Верифицируют документы после машинного распознавания
API | Description |
---|---|
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 – сумма с НДС