Етап 7. Інтеграції: платежі, CRM, карти та обмін даними в реальному часі

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

Етап 7. Інтеграції: платежі, CRM, карти та обмін даними в реальному часі
INGELLO / BUSINESS3031

Інтеграція відрізняється від решти коду однією властивістю: Ви не керуєте другою стороною. Платіжна система, 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 чи державний сервіс? Обговоримо інтеграції на безкоштовній консультації з архітектором, а після неї Ви отримаєте розрахунок ціни та строків за етапами.

Поширені питання

01Скільки коштує інтеграція платіжної системи в застосунок?

У прайсі Ingello етап інтеграцій коштує від $0 до $4700 і вмикається лише за потреби. Платіжна система входить у цей етап разом із CRM, картами та іншими зовнішніми сервісами. Ціну визначають кількість систем, якість їхньої документації та тестового середовища, складність грошових сценаріїв (разова оплата, підписка, повернення) і вимоги до реального часу. Точний розрахунок дають після безкоштовної консультації.

02Які платіжні системи Ingello вже підключала?

У кейсах Ingello є оплата через Stripe (сервіс QR-меморіалів Vorfahr, фітнес-застосунок FitProt, освітня платформа з яхтингу) і підписка через WayForPay у застосунку для психологів Rapport. Вибір провайдера залежить від країни бізнесу, валюти, моделі оплати й вимог еквайрингу, тому його обговорюють до розробки, на етапі технічного завдання.

03Що відбувається, якщо зовнішній сервіс недоступний під час замовлення?

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

04Чи можна інтегрувати застосунок із CRM, 1С або держсервісом?

Так, це звичайне завдання етапу інтеграцій. У кейсах Ingello є передача заявок з лендингу в AmoCRM, зв'язок заводської системи з окремою CRM і фулфілментом WAPI, аналіз інтеграції медичної системи з eHealth і держінтеграція з підписом КЕП у сервісі Taxer. Перед оцінкою потрібні документація другої сторони й доступ до її тестового середовища.

05Навіщо порівнювати зовнішні сервіси до початку розробки?

Бо обмеження тарифів і API дорого виявляти, коли код уже написано. У проєкті XenFit до розробки порівняли дев'ять сервісів відеозв'язку: в одних групові дзвінки доступні лише на тарифі близько $500 на місяць, інші відповідають тільки за сигналізацію й не зберігають записів, у третіх безкоштовна конференція обривається на 45-й хвилині. Такий розбір змінює вибір до витрат.