Работа с данными чеков через API ФНС

by Акти журнал
Работа с данными чеков через API ФНС
Алексей Наумов
CTO Акти

Привет! Сегодня я расскажу о том, как мы начинали работать с API ФНС по проверке чеков и поделюсь нашим готовым решением.

Как только ФНС обязала продавцов присылать данные о покупках, мы много фантазировали о том, как можно это использовать. Наконец-то все проблемы клиентов будут решены! Не нужно будет неделями ждать проверки от торговой сети, чтобы вручить приз участнику. Не надо будет гадать является чек, нарисованными в фотошопе или нет. В розыгрышах будут только участники, которые прислали чеки с акционной продукцией на нужную сумму.

Ах как сладко это все звучало!

Оставалась одна проблема — доступ к данным. ФНС выпустила приложения для андройда и айфона, но не дала доступ к API для всех желающих. Смышленые ребята нашли способ получить доступ к данным ФНС, используя недокументированное API (пост о работе с api ФНС на Хабре). Мы видели несколько проектов, которые использовали этот способ. Мы также экспериментировали с недокументированным API.

После пары тестов, мы выявили плюсы и минусы работы с недокументированным API.

Плюсы:

  • Получаем данные о покупках и точке продажи из чека.
  • Не нужно получать доступ в ФНС.

Минусы:

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

Мы получали данные по чеку, но API работало не стабильно. Более половины запросов зависало, приходилось отправлять заново. Недокументарованное API – нормальное решение для экспериментов или личных проектов, но для бизнеса оно не подходит. Мы не можем делать проект, в котором пользователям будут приходить отказы в регистрации, т.к. сервер ФНС не отдает ответ. Репутация стоит дороже.

В конце прошлого года ФНС выпустила официальное API для разработчиков с документацией и поддержкой. Процесс получения API длился несколько месяцев. Необходимо объяснить чиновникам как и зачем вы хотите использовать API, написать заявление, подкрепив его электронной подписью, отправить копию в центральный аппарат ФНС в Москву и ждать решения. После прохождения всех формальностей мы получили доступ к данным. Сейчас Акти обрабатывает поступающие заявки от участников в автоматическом режиме.

Мы обновили раздел заявок и решили использовать метод Inbox Zero.

Все новые заявки отображаются в разделе «На проверке». Акти отправляет запрос в ФНС, после получения данных запускается проверка на соответствие условиям акции. После этого заявка автоматически переносится в «Подтвержденные» или «Заблокированные». Оператору нужно следить, чтобы раздел «На проверке» всегда оставался пустым. Если какая-то заявка зависла в разделе на проверке в течении дня, необходимо посмотреть почему она «зависла» и промодерировать вручную. Такое случается, когда ФНС не отдает данные по чеку или есть проблемы с доступностью сервера.

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

Метод «Inbox zero» помогает не пропустить неотмодерированные заявки. В Акти розыгрыш не может быть запущен, если «На проверке» есть хотя бы одна заявка.

В акции «Открой вкус Японии» для торговой сети «Бристоль» — Акти автоматически проверяет все заявки. Организатор точно знает, где был приобретен товар и купил ли участник нужное количество промотоваров, чтобы участвовать в розыгрыше.

Если вы также хотите начать получать данные от ФНС, начните с получения токена. Для этого посмотрите инструкцию по выдаче токена.

Ваш проект написан на Ruby?
Можете воспользоваться нашей библиотекой для работы с API ФНС совершенно бесплатно.

June 4, 2019
Акти