Втрата заявок через ручне перенесення лідів з сайту в CRM — системна проблема бізнесу, що зростає. Інтеграція Мегаплану з сайтом через API дозволяє автоматично передавати ліди у Мегаплан, створювати угоди та налаштовувати вебхуки. Інтернет-магазин із 500 заявками на день після впровадження інтеграції знизив час обробки з 2 годин до 30 секунд. API інтеграція краща за ручне перенесення у 50 разів за швидкістю — замість годин очікування менеджери отримують лід за секунди. Менеджери витрачають до 30% робочого часу на копіювання даних, а помилки перенесення сягають 10%. Мегаплан — одна з популярних CRM для малого та середнього бізнесу, але без автоматизації ефективність падає. Ми вирішуємо це завдання безпосередньо через REST API та webhooks, прискорюючи обробку лідів у 50 разів та виключаючи людський фактор.
Які дані передаються з сайту в Мегаплан
Для інтеграції Мегаплану з сайтом через API передаються дані лідів, що дозволяє синхронізувати Мегаплан і сайт без затримок. З форми заявки зазвичай передаються ім'я, телефон, email та коментар. Ці поля маппяться на стандартні атрибути угоди та контакту. Можна також передавати кастомні поля — наприклад, UTM-мітки, джерело трафіку, обраний товар. Для інтернет-магазинів корисно передавати склад замовлення, суму та статус оплати. Все це лягає у відповідні поля Мегаплану, а для нестандартних даних використовуються extraFields. Підтримується передача до 50 кастомних полів на угоду.
Як налаштувати API Мегаплану?
Мегаплан надає REST API v3. Авторизація Мегаплану API відбувається через Bearer-токен, який отримують обміном логіна/пароля або через API-ключ у налаштуваннях акаунту. Приклад коду Мегаплану для отримання токена:
$response = Http::post("https://{$this->domain}.megaplan.ru/api/v3/auth/access_token", [ 'username' => env('MEGAPLAN_LOGIN'), 'password' => env('MEGAPLAN_PASSWORD'), 'grant_type' => 'password' ]); $token = $response['access_token']; $refreshToken = $response['refresh_token']; // Хранить токен в кеше, обновлять через refresh_token Токен живе близько години, тому зберігайте його в Redis та оновлюйте за розкладом. Кожен запит із простроченим токеном поверне 401 Unauthorized. Для безпечного зберігання використовуйте змінні оточення, а не вставляйте логін і пароль у код.
Як створити угоду із заявки?
Створення угоди Мегаплану: коли відвідувач надсилає форму, ми створюємо угоду в потрібній воронці. Ось приклад на Laravel (Laravel Мегаплан інтеграція):
$response = Http::withToken($this->getToken()) ->post("https://{$this->domain}.megaplan.ru/api/v3/deal/create", [ 'data' => [ 'contentType' => 'Deal', 'name' => "Заявка с сайта: {$request->subject}", 'programId' => ['contentType' => 'DealProgram', 'id' => $this->pipelineId], 'responsible' => ['contentType' => 'Employee', 'id' => $this->defaultManagerId], 'contractor' => ['contentType' => 'Client', 'id' => $contactId], 'extraFields' => [ 'Cf12345' => $request->message, ] ] ]); Перед створенням угоди потрібно переконатися, що клієнт вже є в системі. Використовуйте пошук за email або телефоном, щоб уникнути дублів.
Як знайти або створити контакт?
Пошук контакту Мегаплану:
// Поиск существующего контакта $search = Http::withToken($this->getToken()) ->post("https://{$this->domain}.megaplan.ru/api/v3/contractor/list", [ 'data' => [ 'contentType' => 'ContractorFilter', 'email' => $request->email ] ]); if ($search['data']['meta']['totalCount'] > 0) { $contactId = $search['data']['list'][0]['id']; } else { // Создать нового $contact = Http::withToken($this->getToken()) ->post("https://{$this->domain}.megaplan.ru/api/v3/client/create", [...]); $contactId = $contact['data']['id']; } Такий підхід гарантує, що кожен клієнт буде унікальним, а угоди прив’яжуться до його картки.
Webhooks з Мегаплану
Мегаплан вміє надсилати HTTP-сповіщення при зміні статусів угод. Це дозволяє оновлювати статус заявки на сайті: коли менеджер переводить угоду в «Успішно реалізовано», сайт може показати користувачеві подяку. Webhooks налаштовуються в інтерфейсі Мегаплану — потрібно вказати URL вашого ендпоінта. При отриманні webhook-запиту перевіряйте підпис HMAC, щоб уникнути підробок. Ось приклад обробки Webhook на Laravel:
// В контроллере public function handleWebhook(Request $request) { $signature = $request->header('X-Megaplan-Signature'); $payload = $request->getContent(); if (!hash_equals($this->computeSignature($payload), $signature)) { abort(401, 'Invalid signature'); } // Логика обновления статуса заявки } Рекомендується логувати вхідні webhook-запити для налагодження.
Як інтеграція з Мегапланом прискорює обробку лідів у 50 разів?
| Критерій | Ручне введення | Через API |
|---|---|---|
| Час на лід | 2-5 хвилин | 0.2-0.5 секунди |
| Помилки перенесення | 5-10% | 0% |
| Затримка | Години/дні | Миттєво |
Результат — прискорення обробки лідів у 50 разів, виключення помилок людського фактора. Наприклад, при 1000 лідів на місяць економія на зарплаті менеджерів може сягати 1.5 млн грн на рік.
Наші досягнення
Понад 10 років на ринку веб-розробки, понад 50 успішних інтеграцій з CRM, 100+ реалізованих проектів. Ми гарантуємо стабільну роботу інтеграції та оперативне усунення інцидентів.
Типові помилки інтеграції
| Помилка | Причина | Рішення |
|---|---|---|
| 401 Unauthorized | Прострочений токен | Оновлювати токен через refresh_token |
| 409 Conflict | Дублікат контакту | Перевіряти існування контакту перед створенням |
| 429 Too Many Requests | Перевищення ліміту API | Впровадити чергу запитів та кешування |
При дублікатах контактів завжди перевіряйте існування клієнта перед створенням. Використовуйте індекс за email у своїй базі. Для прискорення пошуку можна кешувати ID контактів у Redis за email. Якщо API відповідає повільно (200–500 мс), всі запити ставте в чергу (через Laravel Queue або RabbitMQ). Для частих даних (довідники, воронки) налаштуйте кешування. Зберігайте кожен запит і відповідь у таблицю crm_logs — це рятує при налагодженні: метод, URL, тіло запиту, код відповіді, тіло відповіді, час виконання.
Що входить в роботу
- Аналіз поточних форм та бізнес-логіки.
- Налаштування API-підключення та отримання токенів.
- Розробка модуля передачі лідів з маппінгом полів.
- Налаштування webhook-сповіщень для зворотного зв’язку.
- Тестування всіх сценаріїв (успіх, помилка, дублі).
- Документація з інтеграції.
- Супровід протягом 30 днів після запуску.
Процес роботи
- Аналітика — розбираємо вашу воронку, джерела лідів, потрібні поля.
- Проектування — погоджуємо схему даних, REST-ендпоінти, обробку помилок.
- Реалізація — пишемо код, налаштовуємо черги, кешування.
- Тестування — перевіряємо всі сценарії, включаючи крайові випадки (порожні поля, спецсимволи).
- Деплой — розміщуємо на бойовому сервері, налаштовуємо моніторинг.
Строки та вартість
Базова інтеграція (ліди + контакти + угоди) займає від 3 до 4 робочих днів. Вартість базової інтеграції стартує від 30 000 грн. Складні проекти з webhooks, кастомними полями та зворотною синхронізацією — до 2 тижнів. Вартість розраховується індивідуально після аналізу ваших завдань. Залиште заявку — ми запропонуємо оптимальне рішення.
Наш досвід: понад 10 років розробки веб-додатків, понад 50 успішних інтеграцій з CRM. Гарантуємо стабільну роботу інтеграції та оперативне усунення інцидентів. Отримайте консультацію інженера — розкажемо, як автоматизувати вашу CRM.







