Интеграция 1С-Битрикс с системой Меркурий: автоматизация эВСД

Интеграция 1С-Битрикс с системой Меркурий — обязательное условие для легальной торговли продуктами животного происхождения. Каждый день через ФГИС проходят миллионы эВСД, и ручная обработка ведёт к задержкам и штрафам до $1.4k–1.9k. Мы автоматизируем обмен, используя REST API и асинхронные очере
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Интеграция 1С-Битрикс с системой Меркурий: автоматизация эВСД
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1425
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1004
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    742
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    867
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    780
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1144

Интеграция 1С-Битрикс с системой Меркурий — обязательное условие для легальной торговли продуктами животного происхождения. Каждый день через ФГИС проходят миллионы эВСД, и ручная обработка ведёт к задержкам и штрафам до $1.4k–1.9k. Мы автоматизируем обмен, используя REST API и асинхронные очереди, сокращая время приёмки одной партии в 5 раз. Оценим ваш проект за 2 дня — просто свяжитесь с нами.

Интеграция 1С-Битрикс с Меркурием

Меркурий предоставляет REST API (https://api.vetrf.ru/schema/platform/v2/). Авторизация — через API-ключ, который выдаётся после регистрации предприятия. Основные операции: получение входящих документов, погашение эВСД (extinguish), запрос статусов заявок. Важно учитывать асинхронность: каждый запрос создаёт заявку, которую нужно обработать отдельным вызовом. Согласно документации ФГИС Меркурий, на один API-ключ допускается до 10 запросов в минуту. Поэтому мы реализуем очередь с ретраями.

Дополнительные детали работы с API Запросы к Меркурий должны включать заголовок `apiKey` и корректный `Content-Type`. Ответы приходят в формате JSON с полем `application`, содержащим `applicationId` для отслеживания. При погашении документа важно передать точное количество товара и единицы измерения.

Типичный lifecycle документа:

Поставщик → отгрузил товар с эВСД в Меркурий → Магазин получает товар → гасит входящий эВСД (acceptVetDocument) → Хранение на складе: учётная единица с ID эВСД → Заказ оформлен → продажа физлицу → Списание через транзакцию возврата (transferReceiptTransaction) 

При продаже конечному потребителю-физлицу оформлять новый эВСД не нужно — достаточно погасить документ в части проданного количества.

Реализация клиента на PHP:

class MerkuryClient { private string $apiUrl = 'https://api.vetrf.ru/schema/platform/v2'; private string $apiKey; private string $issuerId; public function __construct(string $apiKey, string $issuerId) { $this->apiKey = $apiKey; $this->issuerId = $issuerId; } public function getIncomingDocuments(string $enterpriseGuid): array { return $this->request('GET', "/enterprises/{$enterpriseGuid}/vetDocuments", ['status' => 'CONFIRMED', 'type' => 'INCOMING'] ); } public function extinguishDocument( string $enterpriseGuid, string $vetDocId, float $quantity, string $unit ): string { $response = $this->request('POST', "/enterprises/{$enterpriseGuid}/vetDocuments/{$vetDocId}/extinguish", [ 'returnedQuantity' => $quantity, 'returnedUnit' => $unit, 'operatorId' => $this->issuerId, ] ); return $response['application']['applicationId']; } public function processTransaction( string $enterpriseGuid, string $transactionId ): array { return $this->request('POST', "/enterprises/{$enterpriseGuid}/applications/{$transactionId}/process" ); } private function request(string $method, string $path, array $params = []): array { // ... HTTP-запрос с заголовком 'apiKey: {KEY}' } } 

Хранение эВСД в Битрикс

Каждая партия товара на складе привязана к одному или нескольким эВСД. Мы храним их в отдельной ORM-таблице:

class VetDocumentTable extends \Bitrix\Main\ORM\Data\DataManager { public static function getTableName(): string { return 'local_merkury_vet_docs'; } public static function getMap(): array { return [ new \Bitrix\Main\ORM\Fields\IntegerField('ID', ['primary' => true, 'autocomplete' => true]), new \Bitrix\Main\ORM\Fields\IntegerField('PRODUCT_ID'), // товар в каталоге new \Bitrix\Main\ORM\Fields\StringField('VET_DOC_ID'), // UUID документа в Меркурий new \Bitrix\Main\ORM\Fields\StringField('ENTERPRISE_GUID'), // GUID предприятия new \Bitrix\Main\ORM\Fields\FloatField('QUANTITY'), // остаток на складе new \Bitrix\Main\ORM\Fields\StringField('UNIT'), // ед. изм: kg, piece new \Bitrix\Main\ORM\Fields\StringField('STATUS'), // 'active', 'extinguished' new \Bitrix\Main\ORM\Fields\DatetimeField('EXPIRE_DATE'), // срок годности ]; } } 

При поступлении партии — создаётся запись с ID эВСД и количеством. При продаже — количество уменьшается, при исчерпании — статус меняется на extinguished.

Автоматизация погашения

Если погашать вручную, легко пропустить срок — тогда сертификат аннулируется, и товар считается нелегальным. Штрафы за оборот без эВСД — до $1.4k–1.9k. Автоматизация исключает человеческий фактор и укладывается в требования 54-ФЗ. Кроме того, Меркурий API работает асинхронно: запрос создаёт заявку, которую нужно обработать отдельным вызовом. Мы реализуем очередь с ретраями, чтобы ни один документ не потерялся.

Сравнение ручного и автоматизированного подхода

Параметр Ручной режим Автоматизация
Время приёмки одной партии 15 мин 3 мин
Погашение эВСД при продаже Вручную (часто забывают) Автоматически, с очередью
Риск ошибок Высокий (человеческий фактор) Минимальный
Соответствие 54-ФЗ Требует дополнительного контроля Встроено
Затраты времени в месяц (при 250 заказах) ~40 часов ~8 часов

Приведённые данные показывают: автоматизация ускоряет процесс в 5 раз и снижает операционные риски.

Кейс из нашей практики: магазин фермерских продуктов

Наш клиент — интернет-магазин мяса и молочной продукции от 15 фермерских хозяйств. Объём — ~250 заказов в неделю. До нас приёмка одной партии занимала 15 минут ручного ввода в Меркурий, а погашение при продаже не делали вовсе — рисковали.

Решение: автоматизировали приёмку (через админку Битрикс: кладовщик вводит ID прихода, система сама находит входящие эВСД от поставщика за последние сутки и предлагает погасить). Для отгрузки — двухшаговая модель: при оформлении заказа создаётся заявка на погашение, cron-обработчик каждые 2 минуты дёргает processTransaction. Синхронизация остатков раз в час.

Показатель До После
Время оформления приёмки (1 партия) 15 мин (ручной ввод в Меркурий) 3 мин (подтверждение)
Погашение эВСД при продаже Не производилось (нарушение) Автоматически
Проверки Россельхознадзора Предписание Без замечаний

Экономия времени на приёмке составила 80% — это около 40 часов в месяц. Дополнительно исключены штрафы за отсутствие погашений.

Синхронизация остатков

Периодическая сверка — обязательная часть. Остатки в таблице local_merkury_vet_docs сравниваются с остатками на предприятии в Меркурий (GET /enterprises/{guid}/stockEntries). Расхождения пишутся в лог и уведомляют администратора. Это дополнительная страховка от рассинхронизации.

Что входит в интеграцию под ключ

  • Регистрация в Меркурий, получение API-ключа (сопровождаем на всех этапах)
  • Разработка PHP-клиента: работа с входящими документами, погашение, обработка заявок
  • Таблица хранения эВСД в Битрикс с привязкой к товарам
  • Интерфейс приёмки в административном разделе (быстрая, с подсказками)
  • Автопогашение при отгрузке с очередью и автоматическими ретраями
  • Синхронизация остатков по расписанию (cron), мониторинг расхождений
  • Документация по эксплуатации, обучение сотрудников, поддержка после запуска

Сроки: от 6 до 10 недель в зависимости от числа поставщиков и сложности учёта. У нас за плечами 5+ лет интеграций Битрикс с гос. системами, более 50 успешных проектов. Закажите аудит вашего проекта — получите план интеграции за 2 дня.