Покрокова інструкція: інтеграція з Честним Знаком на 1С-Бітрікс
Ми часто стикаємося із завданням інтеграції з Честним Знаком на Бітріксі. Обов'язкове маркування товарів торкається багатьох категорій: ліки, тютюн, взуття, одяг, молочну продукцію. Технічна сторона — отримувати коди Data Matrix від постачальників, зберігати їх і передавати в ГІС МТ при продажу. Помилки на будь-якому етапі загрожують блокуванням обігу товарів. Офіційна документація API Честного Знака Оцінимо ваш проєкт за 1 день і запропонуємо оптимальне рішення. Маркування чесний знак бітрікс вимагає правильної інтеграції. Маємо понад 7 років досвіду та 30+ успішних інтеграцій — гарантія якості.
Кроки налаштування інтеграції
- Аудит поточної схеми — перевіряємо, як зараз зберігаються та передаються коди.
- Проєктування структури — створюємо таблицю для зберігання кодів в Бітріксі.
- Реалізація обміну — налаштовуємо імпорт з 1С або розробляємо клієнт API.
- Налаштування обробників — підключаємо події оплати для виведення з обігу.
- Тестування — перевіряємо на тестовому контурі ГІС МТ.
- Документація та навчання — передаємо менеджерам інструкції.
Вартість проєкту від 15 000 грн, термін — від 5 днів. Точна вартість залежить від обсягу товарів: від 15 000 до 30 000 грн. Економія на штрафах може скласти до 50 000 грн на місяць. Середня вартість інтеграції 20 000 грн.
Які проблеми вирішує інтеграція з Честним Знаком?
Перша і головна проблема — неузгодженість форматів. Коди маркування надходять від постачальників у різних видах: XML, CSV, а іноді й вручну. Потрібно уніфікувати завантаження та перевірку кодів через API markirovka.nalog.ru. Друга — зберігання мільйонів унікальних кодів у Бітріксі. Стандартні властивості інфоблоків не розраховані на таке навантаження. Третя — своєчасне повідомлення ГІС МТ про виведення з обігу товару. Затримка або помилка при відправці — і товар значиться в обігу, що загрожує штрафом до 50 000 грн. Прямий API у 5-10 разів ефективніший за обмін через 1С.
Інтеграція через модуль 1С + Бітрікс
Стандартний шлях для більшості інтернет-магазинів: облік маркованих товарів ведеться в 1С, Бітрікс виступає вітриною. Синхронізація через штатний модуль обміну bitrix:catalog.import.1c (CommerceML).
При такому підході коди маркування (Data Matrix) зберігаються в 1С, передаються в Бітрікс разом із залишками через XML-вивантаження. У XML CommerceML поля для кодів маркування не стандартизовані — їх передають як додаткові реквізити товару:
<ЗначениеРеквизита> <Наименование>КодМаркировки</Наименование> <Значение>010460406000600021N4N57RSCBUZTJZ</Значение> </ЗначениеРеквизита> У Бітріксі налаштовуєте властивість каталогу MARKING_CODE та мапінг реквізиту в налаштуваннях обміну.
Пряма інтеграція з API Чесного Знака
Для інтернет-магазинів, що працюють напряму з ГІС МТ без 1С, потрібна пряма інтеграція через API markirovka.nalog.ru. API використовує OAuth2 авторизацію з УКЕП (кваліфікований електронний підпис). Для авторизації потрібен УКЕП сертифікат.
Основні методи API, які зачіпає e-commerce:
-
POST /api/v3/facade/identifyDocument— перевірка коду маркування -
POST /api/v3/facade/send— повідомлення про виведення товару з обігу при продажу
У Бітріксі реалізуєте сервісний клас для роботи з API:
namespace Local\MarkingCode; class ChestnyZnakClient { private string $apiUrl = 'https://markirovka.nalog.ru/api/v3'; private \Bitrix\Main\Web\HttpClient $http; public function verifyCode(string $code): array { $this->http->setHeader('Authorization', 'Bearer ' . $this->getToken()); $response = $this->http->post($this->apiUrl . '/facade/identifyDocument', ['code' => $code]); return json_decode($response, true); } } Токен отримуєте через УКЕП — це вимагає криптографічної бібліотеки (КриптоПро CSP) на сервері.
Як зберігати коди маркування в Бітріксі?
Кожен екземпляр товару має унікальний код маркування. Зберігання у властивості елемента каталогу (b_iblock_element_prop_m*) не підходить — в одного товару сотні екземплярів із різними кодами.
Створюєте окрему таблицю через ORM D7:
class MarkingCodeTable extends \Bitrix\Main\Entity\DataManager { public static function getTableName() { return 'b_local_marking_code'; } public static function getMap() { return [ new \Bitrix\Main\Entity\IntegerField('ID', ['primary' => true, 'autocomplete' => true]), new \Bitrix\Main\Entity\IntegerField('PRODUCT_ID'), new \Bitrix\Main\Entity\StringField('CODE', ['size' => 200]), new \Bitrix\Main\Entity\StringField('STATUS'), // 'active', 'sold', 'returned' new \Bitrix\Main\Entity\DatetimeField('CREATED_AT'), ]; } } При продажу товару (подія OnSaleOrderPaid) змінюєте статус коду з active на sold і відправляєте повідомлення в ГІС МТ.
Що робити при продажу товару?
При успішній оплаті замовлення потрібно повідомити систему маркування про виведення товару з обігу. Це асинхронна операція — не блокуйте процес оформлення замовлення очікуванням відповіді від API.
Реалізуйте через агент або чергу: при OnSaleOrderPaid записуєте задачу у власну таблицю b_local_marking_queue, агент з інтервалом 1 хвилина обробляє чергу та відправляє запити в ГІС МТ.
Порівняння підходів: через 1С vs прямий API
| Критерій | Через 1С (CommerceML) | Прямий API |
|---|---|---|
| Швидкість оновлення | Залежить від регламенту 1С (зазвичай раз на годину) | Реальний час, у 5–10 разів швидше |
| Складність налаштування | Середня (налаштування мапінгу) | Висока (розробка клієнта) |
| Залежність від 1С | Повна | Немає |
| Надійність | При збої 1С дані не синхронізуються | Висока, але потрібен handling помилок |
| Підтримка УКЕП | Не потрібна (1С зберігає коди) | Обов'язково |
Пряма інтеграція через API швидша за обмін з 1С у 5–10 разів, але потребує більше розробки. Ми рекомендуємо її, якщо у вас >10 000 товарів і мінімальна затримка критична.
Що входить у налаштування?
- Аудит поточної схеми обліку товарів та обміну з постачальниками
- Проєктування структури зберігання кодів (ORM-таблиця)
- Реалізація інтеграції з API Чесного Знака (або налаштування обміну з 1С)
- Налаштування обробників подій (OnSaleOrderPaid)
- Тестування на тестовому контурі ГІС МТ
- Документація з підтримки та список контактів
- Навчання менеджерів роботі з маркуванням
При фіскалізації 54-ФЗ коди маркування передаються до ОФД. ОФД чесний знак забезпечує передачу даних про продаж.
Ми працюємо з Бітріксом понад 7 років і виконали 30+ інтеграцій з Честним Знаком. Зв'яжіться з нами — отримайте консультацію з налаштування маркування для вашого магазину. Вартість проєкту від 15 000 грн, термін — від 5 днів.
Чек-лист для самоперевірки
- [ ] Коди маркування завантажуються в окрему таблицю
- [ ] Налаштовано мапінг реквізитів з 1С (якщо використовується)
- [ ] Реалізовано сервісний клас для API
- [ ] Налаштовано обробники подій оплати
- [ ] Агент для асинхронного відправлення працює
- [ ] Проведено тестування на тестовому контурі
Отримайте консультацію — оцінимо ваш проєкт і запропонуємо оптимальне рішення.







