ОБНОВЛЕНИЕ от 15.10.2021
Функционал распознавания чеков, описанный в этой статье, был отключен из-за малого спроса со стороны заказчиков и высокой стоимости поддержки функционала. Статью оставляем для истории.

Автоматизация распознания кассовых чеков

Опубликовано:

Мы специализируемся на распознании капч, таких маленьких надоедливых картинок с текстом. У нас на сервере постоянно находится от 300 до 1000 работников, которые в режиме реального времени разбирают все поступающие картинки за 4-10 секунд. Распознание текста с чека похоже на распознание капчи, но распознание информации с кассовых чеков мы выделили в отдельный инструмент: все данные раскладываются в свои поля, проводится валидация ИНН и каждое распознание проверяется модераторами.

Пример чека для распознавания

Какие данные вернёт сервер

ИНН магазина: 007327067461
Дата продажи: 2015-09-06
ОПЛАЧЕНО (с учётом скидок): 262.600

Товары (артикул/количество/общая стоимость)
64860 | молоко нежвозр 3,2% 950г д/дет | 3.000 | 111.000
3442 | сайра натур.245г морскаярадуга | 1.000 | 43.500
63597 | сыр костромской 45% кошкинское | 0.398 | 79.200
76405 | козинак подсолнеч.тимоша | 0.372 | 28.980

Общая схема распознания чека

  1. Вы загружаете изображение чека и получаете ID
  2. Случайный работник получает чек и вводит данные с него
  3. 2 случайных работника проводят проверку введённых данных
  4. Вы по ID обращаетесь к серверу за результатом распознания

API загрузки чека и получения ответа:

Адрес загрузки чека: http://rucaptcha.com/in_invoice.php
Адрес получения ответа: http://rucaptcha.com/res_invoice.php

Загрузка чека

Загрузка чека возможна в двух форматах:
multipart и base64

Пример загрузки в формате multipart

<form method="post" action="http://rucaptcha.com/in_invoice.php" enctype="multipart/form-data">  
<input type="hidden" name="method" value="post">  
_Ключ от учетной записи:_  
<input type="text" name="key" value="YOUR_APIKEY">  
_Файл капчи:_  
<input type="file" name="file">  
<input type="submit" value="загрузить и получить ID">  
</form>

YOUR_APIKEY - Ваш key, длинной 32 символа, взять тут

Пример загрузки капчи в формате base64

<form method="post" action="http://rucaptcha.com/in_invoice.php">  
<input type="hidden" name="method" value="base64">  
_Ключ от учетной записи:_  
<input type="text" name="key" value="YOUR_APIKEY">  
_Тело файла капчи закодированное в base64:_  
<textarea name="body">BASE64_FILE</textarea>  
<input type="submit" value="загрузить и получить ID">  
</form>

YOUR_APIKEY - Ваш key, длинной 32 символа, взять тут
BASE64_FILE - Тело файла закодированное в base64. Не забудьте дополнительно закодировать тело в URLEncode, иначе тело картинки придет битым.

В ответ на загрузку чека система вернёт:

OK|123

Где 123 - ID чека в системе, к которому потом нужно будет обратиться за ответом, а OK - означает успешную загрузку.

Получение ответа на чек

Ответ на чек получается GET-запросом:

http://rucaptcha.com/res_invoice.php?key=YOUR_APIKEY&action=get&id=ID
YOUR_APIKEY - Ваш KEY, длинной 32 символа, взять тут
ID - ID ранее загруженного чека

Ответ приходит в формате JSON.

Запрашивать ответ на чек следует через минуту с момента загрузки. В случае, если ответ ещё не готов, следует повторять запрос через каждые 10-30 секунд.

Стоимость распознания чеков

В данный момент стоимость распознавания весьма низка, всего 3 рубля 57 копеек за 1000 символов в ответе.
Стоимость распознания чека из образца выше - 0,741 рубля (74 копейки).

Если у Вас возникли сложности с интеграцией или какие-либо вопросы, свяжитесь с нами через поддержку.