Інтеграція CRM-системи з мобільним додатком: BFF, офлайн, push

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

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Інтеграція CRM-системи з мобільним додатком: BFF, офлайн, push
Середній
~1-2 тижні
Часті запитання

Інтеграція CRM з мобільним застосунком: де розривається обмін

Обрив зв'язку в ліфті чи метро — клієнт оформлює заявку, натискає «Надіслати» й бачить підтвердження. В обліковій системі заявки немає: запит пішов у момент, коли з'єднання вже розпалося, а повтору не було.

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

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

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

Третє — статуси. Менеджер переводить замовлення в «Відвантажено», застосунок ще годину показує «Збирається», бо обмін іде за розкладом, а не за подією.

Розбіжність статусів замовлення дає зайві звернення до підтримки й підриває довіру до застосунку сильніше, ніж будь-яка помилка інтерфейсу.

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

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

Усунені класи відмов і швидкість роботи менеджера

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

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

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

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

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

Схему ми збирали і для Битрикс24, і переносимо на будь-яку CRM з відкритим програмним інтерфейсом. Час обробки заявки на виїзді скорочується в рази, бо шлях від запису до картки в системі стискається до однієї дії.

Варіанти зв'язки: прошарок на сервері, прямий доступ, шина

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

Серверний прошарок тримає облікову систему закритою: застосунок отримує лише підготовлені відповіді під конкретний екран і не знає про її внутрішній устрій.

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

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

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

Як іде впровадження: від розбору даних до передачі

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

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

Що залишається у вас: схеми обміну, правила, регламенти

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

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

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

Кейс: як заявки перестали губитися під час обриву зв'язку

Сервісна компанія з виїзними бригадами приймала заявки через мобільний застосунок, а диспетчер вів їх у Битрикс24. Під час обриву зв'язку картка створювалася на пристрої, але відповідь сервера не доходила — застосунок позначав відправку невдалою і повтору не робив.

За зміну губилося до 14% звернень, і про частину з них диспетчер дізнавався від клієнта телефоном, а не із системи.

Впровадили офлайн-чергу: заявка зберігається локально й повторно йде при відновленні мережі, а кожна отримує ключ, за яким сервер відкидає дублі. Між застосунком і CRM поставили шар-посередник з єдиним контрактом — застосунок не залежить від того, як перейменували поля в CRM. Статуси йдуть назад push-повідомленнями, тому оператор не дзвонить уточнювати, чи прийнято заявку.

Що змінилося за перший місяць роботи:

  • частка загублених звернень — 14% → 0,4%;
  • середній час обробки звернення — 26 → 9 хвилин;
  • звернень на оператора за зміну — 40 → 65 без розширення штату;
  • частка клієнтів, які телефонують уточнити статус, — 31% → 6%.

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

Що робити, якщо облікова система вже розгорнута і нею користуються?

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

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

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

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

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

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

Часті технічні сумніви перед стартом

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

Хто джерело правди — CRM чи мобільний застосунок?

Джерело правди — CRM. Застосунок і проміжний серверний шар лише читають дані й надсилають правки, а сам запис проходить перевірку на сервері. Тому застаріла копія на пристрої не перезапише актуальний стан.

Що якщо один запис правлять з двох боків одночасно?

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

Як захищені дані клієнтів?

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

Чи можна змінювати правила обліку без перевстановлення застосунку?

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

Що відбувається при слабкому зв'язку?

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

Обговоримо задачу й повернемося з оцінкою та планом

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

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

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

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

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

  • Розробка мобільного додатка для компанії FEEDME
    Розробка мобільного додатка для компанії FEEDME
    1010
  • Розробка мобільного додатку для компанії XOOMER
    Розробка мобільного додатку для компанії XOOMER
    903
  • Розробка мобільного додатку для компанії RHL
    Розробка мобільного додатку для компанії RHL
    1332
  • Розробка мобільного додатку для компанії ZIPPY
    Розробка мобільного додатку для компанії ZIPPY
    1180
  • Розробка мобільного додатку для компанії Affhome
    Розробка мобільного додатку для компанії Affhome
    1107
  • Розробка мобільного додатку для компанії FLAVORS
    Розробка мобільного додатку для компанії FLAVORS
    714