Створення CRM системи з урахуванням 3х сервісів

Завдання і вимоги

Суть проекту - це створення CRM системи під послугу, яка має свій БП (БізнессПроцесс). Вимоги до проекту: розробити систему на основі умовно безкоштовних сервісів і технологій, які популярні на ринку.

Research and Development

Робота починається з формування ТЗ і плану робіт.

  1. Вивчення БП клієнта
  2. Створення плану автоматизації взаємодії між сервісами, якими користується клієнт
  3. Створення моделі взаємодії через центральний сервіс
  4. Складання покрокового плану реалізації проекту

Створення центрального сервісу

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

Отримання і відправка даних по API

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

Два способи отримувати / відправляти дані:

  1. CRON або будь-який інший планувальник завдань
  2. Webhooks (ВебХукі)

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

Взаємодія з HubSpot CRM через API і ВебХукіv

Так як в основі проекту лежав уже існуючий бізнес процес і завданням була автоматизація, то була відтворення логічна структура WorkFlow, яку була налаштували HubSpot CRM і використовувалася для ведення лидов і угод.

Взаємодія з TeamGantt через API і ВебХукі

Процес надання послуги від початку до кінця включав розгалужений тех.процесс, який був сформований за принципом блокуючих завдань. Суть роботи з Гант була в копіюванні шаблону проекту в моментк коли в HubSpot CRM зазначалося що проект в роботі. Таким чином можна було розділити відділи і не мати сполучна ланка.

Таким же самим чином при виконанні всіх стадій надання послуги необхідно було зазначити в HubSpot CRM, що послуга надана.

Взаємодія з Google.Disk через API і Google.AppS script

В процесі надання послуги по досягненню певних етапів в TeamGantt необхідно було створювати проект з набором папок зумовленої структури в Google.Disk від певного облікового запису.

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

BestPractice

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

Результат нашої роботи

Клієнт отримав автоматизацію свого бізнесу. Нові можливості в розподілі ответсвтенності і зниженні необхідної комунікації між підрозділами.

Клиент получил автоматизацию своего бизнеса. Новые возможности в разделении ответсвтенности и снижении необходимой коммуникации между подразделениями:

  1. HubSpot
  2. TeamGantt
  3. Google.Drive

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

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

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

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