Інтеграція відрізняється від решти коду однією властивістю: Ви не керуєте другою стороною. Платіжна система, CRM, служба доставки чи державний реєстр можуть відповісти повільно, відповісти неправильно або не відповісти взагалі. Продукт мусить поводитися розумно в кожному з цих випадків, інакше чужий збій перетворюється на Ваші втрачені гроші та клієнтів.
Це сьомий етап стратегії розробки застосунку. Нижче: що підключаємо, що Ви отримуєте, скільки коштує інтеграція платіжної системи, CRM і зовнішніх сервісів і чому головне питання тут не «як підключити», а «що робити в разі відмови».
Що відбувається на етапі
- Підключення сторонніх API.
- Інтеграція платіжних систем.
- Інтеграція CRM, карт і зовнішніх сервісів.
- WebSockets для чатів і обміну даними в реальному часі.
До коду ми вивчаємо документацію другої сторони, її тестове середовище й обмеження тарифів. Іноді цей розбір змінює вибір постачальника ще до того, як витрачено гроші.
Що Ви отримуєте на виході
- Робочі зв'язки із зовнішніми системами в тестовому та бойовому режимі.
- Описані сценарії відмови: що робить продукт, якщо друга сторона недоступна або відповіла помилкою.
- Журнал обміну: що, коли і з яким результатом ішло назовні.
- Налаштування інтеграцій, які змінюються без правки коду там, де це передбачено ТЗ.
Які інтеграції ми робили
| Тип інтеграції | Що важливо продумати | Приклад із практики |
|---|---|---|
| Платіжні системи | статус платежу, повторні сповіщення, повернення, підписки | Stripe у Vorfahr і FitProt, підписка через WayForPay у Rapport |
| CRM | які дані передаються, що робити, якщо CRM недоступна | заявки з лендингу FitProt в AmoCRM, окрема CRM у Prime EVA |
| Карти | геолокація, об'єкти, маршрути | OpenStreetMap і Leaflet в Інтернет-місті |
| Зовнішні та державні сервіси | документація, тестове середовище, електронний підпис | eHealth в Evrika, держінтеграція та КЕП у Taxer |
| Обмін у реальному часі | перепідключення, порядок і доставка повідомлень | внутрішні чати та сповіщення в NorthWest |
Скільки коштує інтеграція платіжної системи та інших сервісів
У прайсі Ingello етап інтеграцій коштує від $0 до $4700 і вмикається за потреби: якщо продукту не потрібні зовнішні системи, етап не тарифікується. Ціну фіксуємо до початку робіт. Усередині діапазону її визначають:
- скільки зовнішніх систем підключається і в який бік ідуть дані;
- якість їхньої документації та наявність тестового середовища;
- складність грошових сценаріїв: разова оплата, підписка, повернення;
- вимоги до реального часу: чати, статуси, сповіщення;
- скільки сценаріїв відмови треба обробити й журналювати.
Головне питання інтеграції: що робити в разі відмови
Платіж пройшов, а відповідь не дійшла. Замовлення створено, а CRM недоступна. Саме ці сценарії визначають, чи втратить бізнес гроші, і саме їх зазвичай не описують у ТЗ. Тому ми піднімаємо їх ще на етапі технічного завдання, а не в момент першого інциденту.
Технічно відповідь зазвичай одна: черга й повтор замість негайної відмови, плюс журнал того, що йшло назовні. Повторний запит при цьому не має створювати другого платежу чи другого замовлення. Журналювання докладніше розібрано в матеріалі про подієве поглиблення.
Приклад: завод із сімома інтеграціями
Польський завод автомобільних килимків Prime EVA продає через інтернет-магазин, а програма компанії працює із зовнішніми сервісами. Серед них фулфілмент WAPI, поштові розсилки Microsoft, база моделей автомобілів, реєстр штрихкодів і окрема CRM. У кожного сервісу свої правила, свої збої і свій темп. Замовлення надходять одночасно, статуси змінюють виробництво й доставка, а частина задач має виконатися пізніше: лист клієнтові, оновлення статусу, повторний запит.
Ми зробили моніторинг процесів, щоб зависле замовлення чи інтеграція, що впала, були помітні одразу, а не зі скарги клієнта. Модуль доставки пов'язав замовлення з WAPI: етикетки, відвантаження, статуси посилки. Підсумок: збої, через які замовлення застрягали між магазином, виробництвом і доставкою, перестали тихо з'їдати клієнтів.
Обирати постачальника до коду
У проєкті платформи онлайн-тренувань XenFit найдорожчим шматком був відеозв'язок. До розробки ми порівняли дев'ять варіантів, від власного сервера на Jitsi до готових API. З'ясувалося, що десь групові дзвінки є лише на тарифі за пів тисячі доларів на місяць, десь сервіс відповідає тільки за сигналізацію і не зберігає записів, а десь безкоштовна конференція закінчується на 45-й хвилині, посеред тренування.
Що ламається, якщо заощадити
Продукт стає заручником чужої доступності. Падіння зовнішнього сервісу перетворюється на падіння Вашого бізнесу, а розбір інциденту неможливий, бо ніхто не записував, що саме надсилалося. Гроші списано, а замовлення не створено. Заявка пішла, а в CRM її немає. Кожен такий випадок розбирають вручну, і він коштує довіри клієнта.
Що потрібно від Вас
- Договори або заявки на підключення в платіжного провайдера та інших сервісів.
- Доступ до їхніх тестових середовищ і документації, контакт технічної підтримки.
- Рішення, які дані вважаються головними у Вашій системі, а які в зовнішній.
Куди далі
Далі серверна бізнес-логіка. Попередній крок: логіка інтерфейсів. Карта всіх етапів у стратегії розробки застосунку.
Потрібно підключити оплату, CRM чи державний сервіс? Обговоримо інтеграції на безкоштовній консультації з архітектором, а після неї Ви отримаєте розрахунок ціни та строків за етапами.