Підключення Flocktory до 1С-Бітрікс: трекер, замовлення, реферальна програма

Замовлення з Flocktory губляться або дублюються в 1С-Бітрікс — знайомий біль. Ми налаштовуємо зв'язку під ключ: трекер, замовлення та реферальні нарахування працюють без розсинхрону. Скорочуємо ручні звірки та повертаємо довіру до даних.

Підключення Flocktory до 1С-Бітрікс: трекер, замовлення, реферальна програма

Інтеграція з 1ССередній~1-2 тижні
Часті запитання

Інтеграція 1С-Бітрікс з Flocktory: де ламається обмін замовленнями

Інтеграція 1С-Бітрікс з Flocktory майже завжди впирається не в підключення трекера, а в обмін замовленнями. Трекер подій ставиться за пару годин, а ось передача статусів замовлення, сум і складу кошика в реферальну програму — це місце, де ламається найчастіше.

Причини типові: замовлення оформлюється в одному місці, оплата підтверджується в іншому, а статус змінюється в третьому — і Flocktory дізнається про це останнім.

Перший збій — загублені статуси. Бітрікс змінює статус замовлення через агенти та обробники подій, а якщо виклик зовнішнього сервісу падає за таймаутом, подія просто губиться: повтор не передбачений.

У підсумку замовлення в магазині закрито, а в реферальній програмі висить як «у процесі» — партнер не отримує винагороду, і це з'ясовується через тижні.

Другий збій — дублі. При повторному надсиланні події (наприклад, після ретраю або ручного перезбереження замовлення в адмінці) Flocktory отримує одне й те саме замовлення двічі. Без ідемпотентності за номером замовлення це перетворюється на подвійне нарахування та ручне звіряння.

Третій і найнеприємніший — розсинхрон даних між трекером подій і реферальною програмою. Трекер фіксує клік і кошик, рефералка рахує винагороду за своїм джерелом — і коли суми або статуси не збігаються, обіцянки партнерам не сходяться з фактом.

Розбираємо, як це закривається: ідемпотентна передача замовлень, черга з повторами, єдине джерело статусу та звіряння.

Що дає коректна зв'язка: ефект у цифрах

Коректна зв'язка змінює не «зручність», а вимірювані параметри обміну. Швидкість передачі замовлень і статусів з 1С-Бітрікс у трекер перестає залежати від ручного запуску: події надходять у міру зміни сутності, а не пакетом раз на добу.

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

Частка втрачених подій — другий параметр, який видно одразу. Коли статуси замовлення, реєстрації та переходи за партнерськими посиланнями записуються в чергу з підтвердженням доставки, а не надсилаються «в нікуди» з шаблону сторінки, втрати сягають нуля на штатних сценаріях.

Окремо закривається клас відмов, який зазвичай і з'їдає бюджет: дублі при повторному надсиланні, втрата подій при обриві зв'язку із зовнішнім сервісом, розсинхрон статусу оплати та статусу в трекері. Кожен із них раніше вимагав ручного розбору — тепер обробляється на рівні обміну.

Час реакції на збій теж стає керованим. Якщо трекер недоступний, події не втрачаються, а накопичуються й доставляються після відновлення; інженер бачить це за журналом обміну, а не дізнається від партнера через тиждень.

Стабільність трекера при цьому не залежить від навантаження на сайт: обмін винесено з користувацького запиту, тому сплеск трафіку в розпродаж не перетворюється на чергу втрачених замовлень.

Підсумок за цифрами: інтервал обміну — хвилини замість годин, втрати подій на штатних сценаріях — близько нуля, час виявлення та реакції на збій — хвилини за журналом, а не дні за скаргами. Саме ці чотири параметри ми й перевіряємо на прийманні, а не факт «інтеграція підключена».

Способи підключення Flocktory до 1С-Бітрікс

Інтеграція 1С-Бітрікс з Flocktory вирішується трьома принципово різними шляхами, і вибір між ними визначає не стільки швидкість запуску, скільки стійкість обміну замовленнями та даними трекера під навантаженням.

Штатний модуль — найшвидший вхід, але він жорстко прив'язаний до версії ядра та набору підтримуваних подій. Проміжний шар дає гнучкість ціною додаткової ланки в ланцюжку. Пряма подієва інтеграція — максимальний контроль, але вимагає дисципліни в обробці черг і повторів.

Варіант Коли підходить Обмеження
Штатний модуль Типовий магазин, стандартні події кошика та замовлення, швидкий запуск Залежить від версії ядра, не покриває нестандартні сценарії, оновлення можуть ламати кастомні хуки
Обмін через проміжний шар Кілька сайтів або облікових систем, потрібна буферизація та повторне надсилання З'являється окремий сервіс, який потрібно моніторити й обслуговувати
Пряма подієва інтеграція Складна логіка статусів, високе навантаження, нестандартні сутності Вимагає власної обробки помилок, ідемпотентності та черги при відмові зовнішнього сервісу

Що перевірити перед вибором

Дивіться на три речі: як часто змінюються статуси замовлення, скільки сайтів надсилають дані в один трекер і чи є у вас нестандартні сутності на кшталт подарункових наборів або часткових відвантажень. Якщо статуси змінюються рідко і магазин один — штатного модуля достатньо.

Якщо замовлення надходять з кількох вітрин або облікової системи — проміжний шар знімає зв'язаність і дозволяє пережити недоступність зовнішнього сервісу без втрати подій.

Обмеження, які спливають пізніше

Головний ризик — дублі та загублені події при обриві зв'язку: без ідемпотентності повторне надсилання замовлення створює другий запис у трекері. Другий момент — розсинхронізація статусів, коли замовлення в Бітрікс уже закрито, а у Flocktory висить в обробці.

Обидва лікуються журналом подій і повторним надсиланням за розкладом, але це потрібно закладати в схему одразу, а не після перших розбіжностей у звітах.

Етапи впровадження: від аудиту до передачі

Впровадження починається не зі встановлення коду, а з розбору того, як замовлення, статуси та користувачі вже ходять між сайтом, 1С і особистим кабінетом.

На цьому кроці фіксуємо точки, де з'являються дублі, губляться статуси та розходяться залишки, — інакше трекер почне рахувати події за кривими даними, і звіти доведеться перевіряти вручну.

  1. Аудит обміну. Дивимося поточні регламентні завдання, черги та обробники подій: які сутності синхронізуються, з якою періодичністю, де обмін падає і як відновлюється. На виході — карта вузьких місць і список полів, яких не вистачає для коректної передачі подій.
  2. Схема потоків. Проєктуємо, який сценарій покупця перетворюється на яку подію: перегляд, додавання в кошик, оформлення, оплата, повторне замовлення, запрошення за реферальним посиланням. Для кожної події визначаємо джерело даних і момент відправлення, щоб не задвоювати дії при оновленні сторінки.
  3. Налаштування трекера. Підключаємо лічильник на всі точки входу, включно з мобільною версією та окремими шаблонами оформлення замовлення. Ідентифікатор користувача пов'язуємо з профілем у 1С, щоб історія покупок і активність на сайті сходилися в одну картку.
  4. Реферальна механіка. Налаштовуємо прив'язку запрошеного до запрошувача, правила нарахування та передачу статусу винагороди назад в облікову систему. Окремо перевіряємо сценарії з кількома пристроями та очищеними cookie.
  5. Перевірка сценаріїв. Прогоняємо повний шлях покупця на тестовому контурі: замовлення, оплата, скасування, повернення, повторна покупка, перехід за реферальним посиланням. Звіряємо, що події в трекері збігаються із записами в 1С до останньої операції.
  6. Навантаження та відмовостійкість. Перевіряємо поведінку при недоступності зовнішнього сервісу: події не повинні губитися або блокувати оформлення замовлення, а черга — розбиратися після відновлення зв'язку.
  7. Передача. Віддаємо регламент обміну, схему потоків, інструкцію з перевірки подій і порядок дій при розходженнях. Показуємо, як самостійно переконатися, що дані сходяться, — без звернення до нас з кожної дрібниці.

Така послідовність прибирає головний ризик інтеграції: коли трекер і облікова система рахують різне, а винного не знайти.

Що замовник отримує на руки

Інтеграція закінчується не фактом «дані ходять між системами», а комплектом, за яким ваша команда зможе експлуатувати та розвивати зв'язку без нас. Тому в передачу входить не лише робочий код, а й уся обв'язка навколо нього.

  • Конфігурації інтеграції — параметри підключення до Flocktory та 1С-Бітрикс, прив'язка точок захоплення до розділів каталогу, налаштування передачі подій замовлення та реєстрації, окремі профілі для тестового та робочого контурів.
  • Схеми потоків даних — звідки надходить подія, через які сервіси проходить, де збагачується даними замовлення і в якому вигляді повертається в особистий кабінет та CRM. Схема знімає питання «чому тут так» при майбутніх доопрацюваннях.
  • Політики доступу — які сервіси та ролі бачать персональні дані, де зберігаються токени та ключі, як розмежовані права на вивантаження та ручний перезапуск обміну.
  • Регламенти експлуатації — що робити при розбіжності статусів замовлення, як перевідправити завислу подію, як звірити нарахування реферальної програми, які дії безпечні без зупинки продажів.
  • Інструкції щодо роботи з адмінкою — як менеджеру подивитися історію нарахувань клієнта, як запустити повторну синхронізацію, як перевірити, що подія дійшла до трекера.
  • Журналювання та моніторинг — які події пишуться в лог, за якими ознаками видно збій обміну, куди надходить оповіщення, якщо потік замовлень зупинився.
  • Документ із супроводу — карта залежностей, контакти відповідальних на боці сервісів, порядок оновлення при зміні версій платформи або модуля.

Кожен артефакт передаємо у вигляді, придатному для передачі іншому інженеру: без «усних домовленостей» і прихованих ручних кроків. Якщо у вас уже є своя команда підтримки — вона підхоплює систему за цими документами; якщо немає, супровід беремо на себе.

Кейс: як ми усунули розсинхрон замовлень

Клієнт — роздрібний інтернет-магазин на 1С-Бітрікс з особистим кабінетом і бонусною програмою — звернувся із симптомом, який складно зловити в моніторингу: розбіжність між замовленнями в системі та подіями в трекері.

Частина замовлень взагалі не доходила до аналітики, частина дублювалася, а реферальні нарахування не збігалися з фактичними покупками. Проблема накопичувалася місяцями: звіти за каналами виглядали правдоподібно, але рішення на їхній основі ухвалювалися за викривленою картиною.

Що знайшли під час розбору

Корінь виявився у способі передавання подій. Замовлення йшли в трекер синхронно з обробника оформлення — при таймауті зовнішнього сервісу замовлення в Бітрікс створювалося, а подія губилася безповоротно.

Повторні спроби, додані «нашвидкуруч», давали зворотний ефект: при мережевому збої одне й те саме замовлення відлітало двічі, і у звітах з'являлися дублі з різними ідентифікаторами.

Окрема історія — реферальні нарахування: вони рахувалися за фактом кліку, а не за фактом оплаченого замовлення, тому бонуси нараховувалися за покинуті кошики.

Що змінили

Ми розвели запис замовлення та надсилання події: замовлення фіксується в Бітрікс, а подія кладеться в чергу з унікальним ключем ідемпотентності. Обробник черги надсилає його в Flocktory з повторами та експоненційною паузою, а ключ відсікає дублі на боці трекера.

Реферальну логіку перевели на статус «оплачено» — нарахування спрацьовує тільки за закритим замовленням. Додали звірку: раз на добу порівнюємо кількість замовлень у Бітрікс і подій у трекері, розбіжність іде в лог.

Результат

Частка втрачених подій упала з двозначної до нуля в межах добової звірки, дублі зникли повністю. Реферальні нарахування зійшлися з фактичними оплатами, а звіти за каналами перестали розходитися з даними облікової системи.

Окремий ефект — передбачуваність: збій зовнішнього сервісу більше не впливає на оформлення замовлення, подія доїде після відновлення зв'язку.

Чим відрізняється обмін через модуль від подієвої інтеграції?

Модульний обмін — це коли готовий модуль з маркетплейсу сам створює таблиці, свої обробники та за розкладом забирає дані.

Він не знає вашої схеми замовлень: щоб дістати склад кошика, статус оплати або прив'язку до користувача, йому потрібні або штатні поля, або ручні доопрацювання.

Звідси типова картина: агент запускається раз на годину, вивантажує пакет, а розбіжність між реальним замовленням і тим, що бачить трекер, живе до наступного прогону.

Для звітності це терпимо, для сценаріїв «покинутий кошик» і «повторна покупка» — ні, бо реакція запізнюється на десятки хвилин.

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

Реакція вимірюється секундами, а не інтервалом агента, і тригерне повідомлення йде, поки інтерес клієнта ще живий.

Плата за це — архітектурна робота: обробники потрібно навісити на конкретні події, продумати ідемпотентність, щоб повторний виклик не створив дубль, і налаштувати чергу на випадок, якщо зовнішній сервіс недоступний.

Різниця в підтримці проявляється на змінах. Модуль оновлюється вендором, але при оновленні ядра або зміні логіки оформлення замовлення його обмін ламається мовчки — замовлення йдуть, а дані перестають доходити.

Подієва схема живе у вашому коді: її видно, її можна покрити перевірками та журналювати кожен виклик, тому збій ловиться одразу, а не через тиждень за звіркою звітів. Зате вона вимагає, щоб поруч був інженер, який розуміє і події платформи, і контракт зовнішньої системи.

На практиці вибір рідко бінарний. Масове історичне вивантаження — каталог, старі замовлення — дешевше й надійніше гнати пакетами за розкладом, а все, що стосується поведінки клієнта в моменті, вішати на події.

Така гібридна схема дає і повноту даних, і швидкість реакції, а підтримка зводиться до зрозумілого набору обробників замість чорної скриньки модуля.

Часті технічні сумніви

Перед запуском інтеграції 1С-Бітрікс з Flocktory майже завжди виникають ті самі питання: що робити, якщо модуль уже розгортали раніше, як не отримати дублі замовлень і як переконатися, що дані не розійшлися. Нижче — короткі відповіді щодо кожного.

Модуль уже був розгорнутий раніше — починати заново?

Ні. Спочатку знімаємо інвентаризацію: які обробники подій уже зареєстровані, які таблиці створені, які скрипти трекера підключені в шаблоні. Далі або доповнюємо наявну конфігурацію, або акуратно переносимо її на нову — без сліпого переписування.

Якщо модуль ставився «на живу» і частина подій дублюється, чистимо реєстр обробників і залишаємо єдиний робочий набір.

Як уникнути дублів замовлень і подій?

Дублі з'являються там, де трекер і модуль одночасно надсилають одну й ту саму подію. Ми робимо ідемпотентне надсилання: кожне замовлення і кожен кошик отримують унікальний ідентифікатор, повторне надсилання з тим самим ідентифікатором відкидається на стороні інтеграції.

Плюс розводимо зони відповідальності — трекер відповідає за поведінкові події, модуль за бізнес-події, перетинів немає.

Як перевірити цілісність даних після підключення?

Звіряємо три зрізи: замовлення в адмінці Бітрікс, події в кабінеті Flocktory і записи в логах інтеграції. Розбіжності за кількістю та сумами — сигнал, що десь губиться подія або дублюється статус.

Перевірку робимо на тестовому замовленні, потім на бойовому трафіку за добу, і тільки після цього вважаємо інтеграцію робочою.

Що буде при оновленні Бітрікс або самого модуля?

Оновлення ядра і модуля можуть зачепити обробники подій і структуру таблиць. Ми фіксуємо точки інтеграції, щоб оновлення не зламало обмін, і тримаємо план відкату: якщо після апдейту події перестають надходити, повертаємо попередню конфігурацію без втрати накопичених даних.

Обговоримо ваше завдання

Щоб повернутися з оцінкою, а не із загальними словами, нам потрібно зрозуміти вашу поточну схему: де живуть замовлення, як влаштований обмін з 1С, які події вже надходять у зовнішні системи.

Опишіть це у вільній формі — далі наші інженери розберуть потік даних і запропонують, як вбудувати трекер і реферальну механіку без перебудови працюючого контуру.

  • Як зараз влаштований обмін замовленнями між сайтом, 1С і обліковою системою: вивантаження за розкладом, обмін у реальному часі або ручні операції.
  • Які події вже фіксуються на сайті — оформлення замовлення, реєстрація, повторна покупка — і куди вони передаються.
  • Чи є чинна реферальна програма і як зараз рахується винагорода учасників.
  • Які дані про клієнта доступні для передачі: ідентифікатор, контакт, склад замовлення, статус оплати.
  • Вимоги до розмежування доступу та зберігання персональних даних, якщо вони у вас зафіксовані внутрішніми правилами.
  • Обмеження за строками: чи є прив'язка до сезону, акції або запуску нового напрямку.
  • Хто з боку замовника приймає результат і зможе перевірити коректність подій після впровадження.

За цим описом ми повернемося з оцінкою та планом робіт: які модулі зачіпаємо, у якому порядку викочуємо зміни, як перевіряємо, що події доходять без втрат і дублів. Якщо на сайті вже є нестандартні доопрацювання, скажіть про це одразу — це впливає на обсяг. Обговоримо завдання на созвоні або в листуванні, як зручніше.

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

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060
  • Розробка віджета онлайн-запису для медичного центру
    Розробка віджета онлайн-запису для медичного центру
    837
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    928
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    865
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1223