APIDOCINSPECT
All cases

Упаковочный лист из Китая → Excel

The task

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

Result

8 позиций упаковочного листа переведены на русский и разложены в Excel за 16,7 секунды — от загрузки скана до готовой книги с двумя листами

Как это выглядит сегодня

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

На поток такое не поставить: время уходит на копирование в переводчик и сведение таблицы, а не на проверку того, что реально пришло.

Что меняется

Файл уходит в /v1/process одним запросом: language=zh подсказывает OCR, какой язык распознавать, translate={"to":"ru"} заказывает перевод извлечённых значений, output_schema описывает нужные поля — отправитель, получатель, позиции с наименованием, количеством и весом. Асинхронный режим не держит соединение открытым, пока такая обработка не занимает 300-секундный лимит внешнего прокси:

# 202 {"task_id": "…"} — сразу забираем task_id
TASK=$(curl -s -X POST https://api.docinspect.ru/v1/process \
-H "X-API-Key: $API_KEY" \
-F "file=@packing_list.pdf" \
-F "language=zh" \
-F 'translate={"to":"ru"}' \
-F 'output_schema={"type":"object","properties":{
"shipper":{"type":"string","title":"Отправитель"},
"items":{"type":"array","title":"Позиции","items":{"type":"object","properties":{
"name":{"type":"string","title":"Наименование"},
"qty":{"type":"number","title":"Количество"},
"gross_kg":{"type":"number","title":"Брутто, кг"}}}}}}' \
-F "async=true" | jq -r .task_id)
 
# дождитесь status=done: curl -H "X-API-Key: $API_KEY" https://api.docinspect.ru/v1/process/$TASK
# пока status=processing, ?format=xlsx вернёт тот же JSON, а не файл
curl -H "X-API-Key: $API_KEY" "https://api.docinspect.ru/v1/process/$TASK?format=xlsx" -o packing_list.xlsx

Ответ — сразу файл Excel (format=xlsx): лист «Документ» с реквизитами блоками (поле · значение на китайском · перевод) и таблицей позиций, лист «Позиции» — та же таблица отдельно, с фильтром, закреплённой шапкой и колонками «Наименование» и «Наименование (ru)» рядом — сверять оригинал с переводом можно не открывая исходный скан. Полный список полей и примеров — в разделе [«/v1/process» → «Перевод и Excel»](/docs/process#translate-xlsx).

В кабинете тот же сценарий доступен без кода — раздел «Обработка»: файл, язык и перевод выбираются в форме, результат скачивается сразу таблицей.

Результат

На синтетическом упаковочном листе (1 тарифицируемая страница) все 8 позиций и все 8 полей реквизитов документа распознаны полностью — обработка вместе с переводом заняла 16,7 секунды. Перевод корректен: китайские наименования пришли по-русски, единственная неточность — одно артефактное слово в переводе одной позиции (HOIST-2T), не искажающее смысл строки. Результат сразу лёг в Excel двумя листами — «Документ» и «Позиции» — без ручного копирования в переводчик и без риска перепутать строку.

How to try it

Ready-to-use code for this scenario is in the docs — hand it to your developers. What processing costs is on the pricing page.