Перейти к содержанию

Счёт

Пример изображения документа:

Важно: документы для обработки должны быть закодированы в формат base64.

Отправка документа

Endpoint: POST https://api.beorg.ru/api/bescan/add_document

Заголовки:

Content-Type: application/json

Тело запроса:

{
  "project_id": "U_RATE_3",
  "images": ["<строка base64>"],
  "process_info": [
    {
      "key": "INV1",
      "type": "INV"
    }
  ],
  "token": "<token>",
  "machine_uid": "<machine_uid>"
}

Пример ответа об успешной загрузке:

{
  "document_id": "s-12345"
}

Структура передаваемых данных

Ключ Описание
project_id Название проекта
token Токен доступа
machine_uid Идентификатор устройства
images Список строк в формате base64 (файлов)
process_info Настройки обработки

Структура process_info

Ключ Описание
key Свободный ключ для разделения документов при загрузке и получении результатов. Если не указан, вместо него используется ключ type
type Тип документа (INV)
options Опции обработки документа

Для получения token, machine_uid и project_id обратитесь в подраздел «Начало работы».

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

import requests
import base64

with open("<путь до файла Счёта>", "rb") as image_file:
    b64 = base64.b64encode(image_file.read()).decode()

r = requests.post(
    "https://api.beorg.ru/api/bescan/add_document",
    headers={"Content-Type": "application/json"},
    json={
        "project_id": project_id,
        "token": token,
        "machine_uid": machine_uid,
        "images": [b64],
        "process_info": [
            {
                "key": "INV1",
                "type": "INV"
            }
        ]
    }
)
print(r.json())

Получение результатов

Endpoint: GET/POST https://api.beorg.ru/api/document/result/s-12345?token=<token>

Пример запроса для получения результатов (Python):

import requests

r = requests.get("https://api.beorg.ru/api/document/result/s-12345?token=<token>")
print(r.json())

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

{
  "document_id": "s-20919",
  "documents": [
    {
      "key": "INV1",
      "type": "INV",
      "data": {
        "DocNumber": "123-45",
        "DocDate": "01.04.2024",
        "SellerName": "ООО «Поставщик»",
        "SellerINN": "",
        "SellerKPP": "",
        "SellerAccountNumber": "",
        "SellerBankName": "ПАО Сбербанк",
        "SellerBankBIK": "",
        "SellerBankCorrespondentAccountNumber": "",
        "CustomerName": "ООО «Покупатель»",
        "CustomerINN": "",
        "CustomerKPP": "",
        "ShipperINN": "",
        "ShipperKPP": "",
        "ConsigneeINN": "",
        "ConsigneeKPP": "",
        "InvoiceBase": "Договор №15 от 01.01.2024",
        "Currency": "RUB",
        "ProductName": "Офисная мебель",
        "ProductMeasurementUnit": "шт.",
        "ProductUnitsNumber": "5",
        "ProductPrice": "20000.00",
        "ProductAmountWithoutNDS": "100000.00",
        "ProductNDSRate": "20%",
        "ProductNDSAmount": "20000.00",
        "ProductTotalAmountWithNDS": "120000.00",
        "DocAmountWithoutNDS": "100000.00",
        "DocNDSRate": "20%",
        "DocNDSAmount": "20000.00",
        "DocTotalAmountWithNDS": "120000.00",
        "TotalAmountInWords": "Сто двадцать тысяч рублей 00 копеек",
        "DeliveryTime": "05.04.2024",
        "HasDirectorSignature": true,
        "HasChiefAccountantSignature": true,
        "HasAccountantSignature": false,
        "HasResponsibleSignature": false,
        "HasSeal": true
      },
      "metadata": {
        "confidences": {
          "DocNumber": 0.98,
          "DocDate": 0.97,
          "SellerName": 0.95,
          "SellerINN": 0.99,
          "CustomerINN": 0.98,
          "ProductTotalAmountWithNDS": 0.96,
          "HasSeal": 1.0
        },
        "verifications": {
          "inn_valid": true,
          "amount_match": true
        }
      },
      "broken": false,
      "broken_reasons": [],
      "broken_reasons_ru": []
    }
  ]
}

Описание ключей в ответе

Ключ Тип Описание
document_id string Номер документа в формате s-<номер документа>
documents list Список данных по каждому документу
documents[].key string Ключ, заданный при отправке документа для отслеживания
documents[].type string Тип документа (INV)
documents[].data dictionary Обработанные данные по каждому полю — содержит ключи полей и их определённые значения
DocNumber string Номер документа
DocDate string Дата документа (от)
SellerName string Наименование продавца
SellerINN string ИНН продавца
SellerKPP string КПП продавца
SellerAccountNumber string Расчётный счёт продавца
SellerBankName string Наименование банка продавца
SellerBankBIK string БИК банка продавца
SellerBankCorrespondentAccountNumber string Корреспондентский счёт банка продавца
CustomerName string Наименование покупателя
CustomerINN string ИНН покупателя
CustomerKPP string КПП покупателя
ShipperINN string ИНН (грузо-)отправителя
ShipperKPP string КПП (грузо-)отправителя
ConsigneeINN string ИНН (грузо-)получателя
ConsigneeKPP string КПП (грузо-)получателя
InvoiceBase string Основание счёта
Currency string Валюта
ProductName string Наименование товара (не «артикул»)
ProductMeasurementUnit string Единица измерения товара (шт., кг, м и т. д.)
ProductUnitsNumber string Количество единиц товара
ProductPrice string Цена товара за единицу (в валюте документа)
ProductAmountWithoutNDS string Сумма по позиции без НДС
ProductNDSRate string Ставка НДС по позиции, % (например, «20 %», «10 %», «0 %»)
ProductNDSAmount string Сумма НДС по позиции
ProductTotalAmountWithNDS string Итоговая сумма по позиции с НДС
DocAmountWithoutNDS string Общая сумма документа без НДС
DocNDSRate string Основная ставка НДС по документу, %
DocNDSAmount string Общая сумма НДС по документу
DocTotalAmountWithNDS string Итоговая сумма документа с НДС
TotalAmountInWords string Итоговая сумма документа прописью (например, «Сто двадцать тысяч рублей 00 копеек»)
DeliveryTime string (или null) Срок поставки (дата или описание срока)
HasDirectorSignature boolean Наличие подписи руководителя (true/false)
HasChiefAccountantSignature boolean Наличие подписи главного бухгалтера (true/false)
HasAccountantSignature boolean Наличие подписи бухгалтера (true/false)
HasResponsibleSignature boolean Наличие подписи ответственного лица (true/false)
HasSeal boolean Наличие печати организации (true/false)
metadata dictionary Содержит ключи метаданных
confidences dictionary ({key: float}) Метаданные с точностью обработки по каждому полю —
содержит ключи полей и значения уровня уверенности.
Значения от 0.0000 до 0.9999, где чем значение больше,
тем уверенность в результате выше.
Максимальная уверенность — 0.9999
broken boolean Является ли документ бракованным
broken_reasons list Список причин брака (на английском языке)
broken_reasons_ru list Список причин брака (на русском языке)