Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

Інтеграція Tripoli.land з KeyCRM: автоматизація роботи з базою понад 100 000 агропідприємств

🎯 Цільова вибірка: 100 454 підприємства категорії «Зернові та технічні»

🛠 Ключовий стек: KeyCRM API, Tripoli.land API, PHP, Cron, MySQL кешування

📌 Завдання та виклики

Клієнту було потрібно перенести в KeyCRM велику базу агропідприємств із сервісу Tripoli.land та зробити ці дані придатними для подальшої роботи відділу продажів.

На перший погляд задача виглядає як звичайний імпорт даних. Але коли йдеться про десятки тисяч компаній, простого перенесення через CSV або Excel вже недостатньо.

Що потрібно було зробити:

  • Перенести компанії та пов’язані з ними контакти;
  • Зберегти ЄДРПОУ, регіон, район, адресу, керівника, площу земель та напрямки діяльності;
  • Коректно передати декілька телефонів однієї компанії;
  • Не створювати дублікати під час повторних запусків;
  • Не втрачати підприємства, у яких відсутній ЄДРПОУ;
  • Забезпечити автоматичну роботу інтеграції без участі менеджера;
  • Підготувати систему не лише до первинного імпорту, а й до подальшого оновлення даних.

⚠️ Чому звичайного імпорту було недостатньо

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

Наприклад, одна компанія в Tripoli.land може містити декілька телефонів і контактних осіб. Частина підприємств не має ЄДРПОУ, деякі контакти містять нестандартно заповнені поля, а значення окремих довідників можуть бути відсутні в KeyCRM.

Якщо просто створювати записи один за одним, виникають:

  • Дублікати компаній та контактів;
  • Втрачені номери телефонів;
  • Некоректні або неповні картки;
  • Помилки під час повторного імпорту.
Тому ми розробили не одноразовий скрипт перенесення, а окремий повноцінний сервіс синхронізації Tripoli.land → KeyCRM.

🛠 Як реалізували інтеграцію

Інтеграція розроблена на PHP та працює безпосередньо на сервері. Система отримує дані через API Tripoli.land, обробляє їх відповідно до заданої бізнес-логіки та передає в KeyCRM.

1. Захист від дублів

Для кожної компанії виконується послідовна перевірка:

  1. Пошук за ЄДРПОУ;
  2. Якщо збіг не знайдений — пошук за внутрішнім Tripoli ID;
  3. Якщо ЄДРПОУ відсутній — використовується Tripoli ID.
Завдяки цьому компанії без ЄДРПОУ також потрапляють до CRM, а повторний запуск інтеграції не створює їх заново. Якщо інформація в Tripoli.land змінюється, існуюча картка оновлюється замість створення нової.

2. Коректна передача контактів

Окремо опрацювали структуру телефонів і контактних осіб. Кожен контакт із телефоном створюється в KeyCRM як окремий покупець і прив’язується до відповідної компанії.

При цьому система:

  • Прибирає точні дублікати номерів та нормалізує українські телефонні номери;
  • Передає ПІБ та посаду;
  • Зіставляє e-mail із відповідним контактом;
  • Враховує декілька телефонів однієї компанії.

3. Обробка нестандартних даних

Під час інтеграції виявили особливість API Tripoli.land: у частині записів ПІБ контактної особи знаходився не в стандартному полі імені, а в коментарі. Ми додали окреме правило обробки таких випадків, щоб реальні імена контактів не втрачалися під час перенесення.

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

⚡ Стабільна робота з великою базою

Одноразово обробити понад 100 тисяч компаній одним запитом неможливо та небезпечно. Тому імпорт розбито на невеликі пакети.

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

Додатково реалізовано:

  • Локальний кеш компаній і контактів;
  • Контроль швидкості звернень до API та повторні запити при тимчасових помилках;
  • Детальний журнал (лог) роботи інтеграції;
  • Блокування паралельного запуску декількох процесів;
  • Автоматичний запуск через Cron (працює автономно 24/7).

📊 Результати міграції

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

На контрольній точці під час основної міграції було передано:

  • 100 454 — повна цільова база підприємств
  • 26 181 — компаній (на проміжному зрізі)
  • 46 921 — контактів (на проміжному зрізі)
  • 0 — технічних помилок імпорту
Після первинного перенесення архітектура інтеграції дозволяє використовувати окрему регулярну синхронізацію для автоматичного оновлення змінених даних.

💼 Що отримує бізнес

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

Готову базу вже використовують для:

  • Активної роботи менеджерів із потенційними клієнтами;
  • Глибокої сегментації та побудови воронок продажів;
  • Зручного розподілу компаній між менеджерами;
  • Телефонних та e-mail комунікацій;
  • Подальшої автоматизації процесів продажів.

🚀 Потрібна подібна інтеграція?

Ми розробляємо індивідуальні інтеграції CRM, інтернет-магазинів, зовнішніх баз даних, телефонії та сторонніх API.

Якщо у вас є дані в зовнішньому сервісі, Excel-файлах, власній CRM або іншій системі — їх можна автоматично передавати, оновлювати та синхронізувати з KeyCRM чи іншими бізнес-системами.

Опишіть вашу задачу
— ми проаналізуємо API та запропонуємо оптимальний варіант інтеграції під ваші бізнес-процеси!