Автоматизація продажів з amoCRM: REST API, OAuth 2.0 та вебхуки для сайту

Заявки із сайту губляться між формою та відділом продажів, а керівник дізнається про це від незадоволених клієнтів. Ми налаштовуємо пряму інтеграцію amoCRM із сайтом під ключ: звернення потрапляє у воронку за секунди, з відповідальним і джерелом. Скорочуємо ручну обробку та робимо потік замовлень прозорим.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Автоматизація продажів з amoCRM: REST API, OAuth 2.0 та вебхуки для сайту
Середній
~2-3 дні
Часті запитання

Чому інтеграція amoCRM із сайтом втрачає заявки

Заявка з сайту проходить не одну точку: браузер, обробник форми, зовнішній сервіс, API CRM. Розрив на будь-якій ділянці виглядає однаково — клієнт бачить «Дякуємо, ми зв'яжемося», а у воронці порожньо.

Тому втрата заявок із сайту майже ніколи не пов'язана із самою формою: вона ціла, ламається обмін даними після неї.

Перший типовий збій — форма зворотного зв'язку надсилає лист на пошту, а менеджер переносить дані вручну. Між відправленням і створенням угоди минає від півгодини до доби, частина листів потрапляє в спам, частина залишається в скриньці співробітника, що звільнився.

Другий — прострочений токен доступу: інтеграція amoCRM авторизується за OAuth 2.0, і якщо оновлення за refresh token не реалізовано, обмін мовчки зупиняється. Помилка не спливає в інтерфейсі, заявки пишуться в лог і лежать там.

Дублі угод — окрема історія. Відвідувач натискає кнопку двічі, мобільна мережа віддає таймаут, сервер повторює запит — без ключа ідемпотентності на кожен виклик створюється нова угода.

Воронка роздувається, менеджери телефонують одній людині тричі, а конверсія за етапами перестає щось означати.

Нарешті, обрив обміну даними на вебхуках: якщо приймач недоступний, а черга й повторні спроби не налаштовані, подія втрачається безповоротно — витягти її з CRM уже не можна. Далі розбираємо, як кожен із цих розривів закривається.

Що дає прямий зв'язок сайту й CRM: вимірювані ефекти

Перше, що змінюється, — час потрапляння заявки у воронку. Раніше звернення чекало в пошті, поки менеджер до нього дійде, і втрачалися години; за прямого зв'язку угода в amoCRM створюється в момент відправки форми, а відповідальний отримує сповіщення відразу.

Частка ручних операцій падає до поодиноких випадків: не потрібно переносити контакти, заводити картки, перевіряти дублі й підтверджувати отримання листом. Кожна така дія — це не лише час менеджера, а й місце, де з'являється друкарська помилка або пропуск.

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

Контроль джерела заявки перестає залежати від того, наскільки акуратно менеджер заповнив поле вручну.

Надійність передачі даних тримається не на одному запиті, а на черзі з повторами: якщо CRM недоступна або відповідає помилкою, заявка стає на повторне відправлення, і в журналі видно її стан. Клас відмов «клієнт написав, а звернення немає ні в CRM, ні в пошті» зникає зовсім.

Підсумок вимірюваний: секунди замість годин на потрапляння у воронку, поодинокі ручні операції замість десятків за зміну, втрачених звернень — нуль.

Інтеграція amoCRM: три схеми підключення та їхні межі

Пряме відправлення форми в amoCRM — найшвидший шлях, але впирається в ліміти платформи: обмеження частоти запитів, обов'язковий OAuth 2.0 з оновленням токена, відсутність черги під час сплеску трафіку.

Під рекламним потоком частина заявок відпадає на відповіді 429, а ключі доступу опиняються в розмітці сторінки.

Схема Коли підходить Обмеження
Пряме підключення форми через REST API Один сайт, потік у кілька заявок за хвилину, потрібен швидкий старт Ключі на клієнті, немає повторів при збої, стеля частоти запитів платформи
Проміжний шар на власному сервері Кілька джерел заявок, хвильове навантаження, потрібні повтори й журнал Власна точка відмови, хостинг і супровід, синхронізація довідників
Вебхуки й опитування Двосторонній обмін, статуси угод, дозапис даних у картку Вебхук приходить повторно або не приходить — потрібен ідемпотентний прийом

Схема обміну даними обирається не за смаком, а за профілем навантаження. Якщо джерел більше одного або заявки йдуть хвилями, проміжний шар знімає навантаження з платформи й дає журнал доставки: за ним видно, що саме пішло в CRM, що повернулося і на якому кроці загубилося.

Документовані обмеження amoCRM — частота запитів на акаунт, термін життя токена, відсутність гарантії одноразової доставки вебхука.

Тому в будь-якій із трьох схем ми закладаємо ідемпотентність за зовнішнім ідентифікатором заявки й опитування як страховку: повторний вебхук не створює дубль, а пропущений не втрачає угоду.

Етапи робіт: від розбору форм до передачі доступів

Інтеграція amoCRM починається не з коду, а з розбору того, що реально йде із сайту: у кожної форми свої поля, приховані параметри та правила перевірки. Пропустиш цей крок — частина заявок губиться на стику, а частина плодить дублі у воронці, і розбиратися доводиться за фактом.

  1. Аудит форм і полів. Збираємо всі точки захоплення — основні форми, спливаючі вікна, опитувальники — і фіксуємо, які поля йдуть, які обов'язкові, що лежить у прихованих параметрах: джерело, мітка, сторінка входу.
  2. Схема потоків даних. Описуємо маршрут заявки: прийом, перевірка, створення або оновлення запису, постановка завдання відповідальному. Тут же правила склеювання за телефоном і поштою, щоб повторне звернення не створювало другу угоду.
  3. Налаштування обміну. Піднімаємо авторизацію доступу без зберігання пароля у відкритому вигляді, серверні обробники, повтори при збоях і журнал операцій. Кожен запит позначається ідентифікатором — повторна доставка не дублює угоду.
  4. Приймальні сценарії. Проганяємо реальні випадки: звичайна заявка, повторна, невалідний телефон, спам-бот, недоступність зовнішнього сервісу. Звіряємо, що дійшло до воронки, що стало завданням, а що пішло в резервну чергу.
  5. Передача доступів і навчання. Віддаємо облікові записи та права зі зрозумілою схемою володіння, показуємо співробітникам, де дивитися історію обміну і як діяти при збої.

На виході — не «працює в нас на тесті», а відтворюваний процес: зрозуміла схема, журнал і регламент на випадок помилок.

Налаштування, схеми потоків і регламенти на виході

Інтеграція вважається зданою не коли перша угода з'явилася у воронці, а коли замовник може експлуатувати її сам і передати іншому підряднику. Тому разом із працюючим обміном ми віддаємо шар документації — те, що залишається у вас після завершення проєкту.

  • Конфігурація інтеграції — де зберігаються адреси прийому даних, ключі й токени доступу, які параметри змінюються без правки коду: воронка, етапи, відповідальні, інтервал повторних спроб.
  • Карта відповідності полів — таблиця «поле форми → поле угоди → правило перетворення»: обов'язкові й необов'язкові, нормалізація телефону, розбір складеного імені, значення за замовчуванням.
  • Політики доступу — хто зі співробітників і сервісів які сутності читає та пише; окремий обліковий запис для обміну замість особистого акаунта адміністратора; журнал дій щодо кожної зміни.
  • Документація обміну — опис сценаріїв, формати запитів і відповідей, розбір кодів помилок і що кожен із них означає для бізнес-логіки, схема шляху даних від форми до угоди.
  • Регламент на збій — що робити при недоступності зовнішньої системи: черга з повторним відправленням, сповіщення відповідального, ручний дозапуск, порядок звірки пропущеного за період.
  • Інструкція для команди — як перевірити обмін після правок на сайті, де дивитися журнал, як тимчасово вимкнути обмін без втрати накопичених даних.
  • Порядок передачі — доступи, репозиторій, тестовий контур, права на об'єкти в акаунті.

Такий комплект знімає залежність від автора інтеграції: зміни у воронці або на сайті вносяться за документом, а не з пам'яті, а інцидент розбирається за регламентом, а не в листуванні.

Кейс: як перестали втрачати заявки в потоці замовлень

До цього заявки із сайту, дзвінки й повідомлення з месенджерів сходилися в загальну скриньку й розбиралися вручну. Близько п'ятої частини звернень не отримували відповіді в першу добу, медіана першої відповіді трималася на 4 годинах і залежала від завантаження зміни. Поле джерела заповнювалося рідко — було незрозуміло, які канали справді приводять клієнтів.

Що змінили

Сайт підключили до amoCRM через REST API і вебхуки: відправлення форми, кнопка зворотного дзвінка й чат одразу створюють угоду з проставленим джерелом і мітками кампанії.

Авторизацію винесли на сервісний обліковий запис з автоматичним продовженням токена — зв'язок не відпадає при зміні співробітників. Повтори склеюються за телефоном і адресою пошти, щоб один клієнт не перетворювався на три картки.

Що контролюємо

У CRM задано правило за часом: немає відповіді 10 хвилин — завдання відповідальному, немає 30 — сповіщення керівнику. Перша відповідь фіксується автоматично за фактом дзвінка або листа, а не зі слів менеджера.

Що отримали

Кожна заявка прив'язана до відповідального, втрачених звернень у потоці більше немає. Медіана першої відповіді скоротилася з 4 годин до 12 хвилин, частка заявок із заповненим джерелом зросла з 40% до 99%. Пішов цілий клас відмов — «заявка є, але незрозуміло, звідки вона й хто її веде».

Що робити, якщо CRM уже розгорнута й зберігає дані

Йдеться не про чисту установку, а про інтеграцію amoCRM у вже наявний процес продажів: угоди ведуться, відповідальних призначено, накопичено історію за кілька періодів. Завдання звучить не «впровадити», а «підключитися так, щоб воронка не стала й звітність не поїхала». На практиці обирають одну з трьох схем.

Варіант Коли підходить Обмеження
Підключення поверх Воронка й поля влаштовують, потрібен лише обмін із сайтом Потрібна звірка полів і дублів; частина даних залишається в ручному режимі
Поетапне перенесення бази Змінюються етапи й поля, історія потрібна для звітів Потрібні правила зіставлення статусів, відповідальних і джерел
Паралельна робота Іде активний потік угод, зупинка неприпустима Подвійне введення й звірка розбіжностей на період запуску

Ключове рішення — доля історичних даних. Переносимо не все підряд: спочатку довідники контактів і компаній, потім угоди зі збереженням дат створення й закриття, щоб звітність за минулі періоди залишилася зіставною. Угоди без руху виносимо в окремий статус — інакше вони спотворюють конверсію за етапами.

Поетапний запуск іде по одному напряму за раз, з контрольною звіркою: число угод і суми за етапами до й після мають збігтися. Відкат продумуємо заздалегідь — попередня база залишається доступною для читання, поки нова не відпрацює повний цикл угоди.

Що вибрати, вирішують обсяг історії та темп нових угод: при спокійному потоці перенесення проходить за один прохід, при активних продажах безпечніша паралельна робота. Опишіть поточну воронку — повернемося з оцінкою та планом поетапного запуску.

Технічні сумніви: ліміти, надійність, доступи

Ліміти звернень до amoCRM — не абстрактне обмеження, а параметр проєктування. Ми тримаємо вихідну чергу й розносимо відправлення в часі, тому пакетне вивантаження заявок іде частинами, зі збереженням порядку, і не впирається у відмову на піку активності. Якщо сайт віддає сплеск трафіку, частина запитів чекає в черзі — їх не втрачаємо.

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

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

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

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

Як зберігаються ключі доступу і чи захищені дані?

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

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

Обговоримо завдання й повернемося з оцінкою та планом

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

  • Схема воронки та етапів угоди — як заявка йде від першого дотику до оплати, де етап змінюється вручну, а де автоматично.
  • Склад об'єктів і полів у amoCRM — які сутності задіяні, які поля кастомні й обов'язкові, як зараз шукається клієнт і що робити з дублями.
  • Точки інтеграції на сайті — форми, кошик, особистий кабінет, зворотний дзвінок: за якою подією створюється лід, які дані йдуть із ним і що відбувається при повторній заявці.
  • Доступи й права — тестовий контур, окремий користувач для інтеграції, область OAuth-доступу, хто підтверджує підключення; чи потрібен окремий контур для перевірок перед запуском.
  • Бізнес-правила — розподіл відповідальних, автозавдання, сповіщення, зміна етапу за подією, строки реакції; що вважається успішним сценарієм.
  • Суміжні системи та відомі збої — телефонія, склад, розсилки, ліміти звернень до API; які заявки губилися й чи є журнали помилок — це скорочує діагностику.

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

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060