Підключення WebHook

Універсальний спосіб передачі даних з будь-якого вашого джерела замовлень у CRM-систему
Написано LeadBox
Оновлено 2 місяці тому

Webhook - це адреса для передачі даних з вашого ресурсу (сайту) в сервіс LeadBox, для подальшої обробки та передачі у вашу CRM-систему. 

Підключення прийняття заявок через Webhook відбувається в 3 кроки: 

1 КРОК: Створення Webhook в LeadBox. 

  1. Зайдіть в розділ інтеграції
  2. Натисніть “Додати інтеграцію”
  3. З переліку інтеграцій, що з’явився, обираєте “Webhook” і натискаєте на нього
  4. Прописуєте назву інтеграції (так щоб потім зрозуміти, що є що з підключених інтеграцій)
    Створення webhook на стороні LeadBox

2 КРОК: Налаштування відправка даних з форми вашого сайту/сервісу на webhook. 

Після того як ви зберегли інтеграцію із назвою у вас відкривається сторінка налаштування даної інтеграції у LeadBox. Першим пунктом після назви йде адреса webhook.

Скопіюйте webhook натиснувши на нього.
Далі на цей webhook потрібно відправити дані з форми (або ж з форм, якщо вони мають однакову структуру).

  • Якщо ваш сайт чи форма знаходяться на сервісі, який вже має пред налаштовану можливість відправки даних на webhook, то як саме налаштувати цю відправку ви можете дізнатися у тех.підтримки сервісу або ж з документації. 
  • Якщо ж ваш сайт було розроблено певним спеціалістом, то необхідно йому передати даний webhook із запитом налаштувати відправку даних з форми на адресу webhook.
Метод передачі даних має бути при цьому: POST 
Формат даних: JSON
Приклад: 
{

    “name”: “Іван”,
     “phone”: “(099) 123-45-67”,
      “email”: “test@gmail.com”
}

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

Після встановлення webhook на стороні сайту/форми, відправляємо тестову заявку. Вона має з’явитися в LeadBox у розділі Реєстр як масив інформації. Щоб розгорнути отримані дані, необхідно натиснути на стрілку в першій колонці переліку.  Вам ці дані будуть потрібні для співставлення полів у наступному кроці.

Щоб зручніше було орієнтуватися, обираєте відображення даних JSON: 
Перегляд даних, що надійшли на webhook

3 КРОК: Налаштування webhook та передачі  інформації в CRM на стороні LeadBox.

Переходимо в створену інтеграцію webhook в LeadBox і проходимо по блоках налаштування. 

  • Зв’язка з - обираємо CRM, в яку будуть передаватися заявки, для цього CRM вже має бути попередньо підключена до LeadBox. 
Як підключити CRM до LeadBox читайте тут.
    • Співставлення полів. 
      В блоці співставлення полів колонка зліва відповідає за вибір полів у CRM, які будуть заповнюватись. А колонка справа - за вибір даних прийнятих на webhook.
      Співставлення полів Дані, які можна обрати в колонці "Ключ параметру" (що відповідає за поля в CRM) можна побачити натиснувши на поле. Розшифровка значення цих параметрів надана у підказці нижче "Подивитись підказку співставлення полів". 

    name - буде заповнювати стандартне поле Ім’я в карточці контакту CRM;
    phone - буде заповнювати поле телефон в картці контакту CRM (обов’язкове якщо немає email);
    email - буде заповнювати поле ел. пошта в картці контакту CRM (обов’язкове якщо немає phone); 
    deal_name - буде заповнювати назву угоди тим, що потрапить в значення. Якщо потрібно стале значення, то не використовуйте {{}} для поля справа; 
    deal_sum - буде заповнювати суму угоди; 
    source_id - буде заповнювати дані щодо джерела трафіку в KeepinCRM. Для переадчі даних далі в Uspacy - це буде параметр source. У випадку Pipedrive - це буде кастомне поле, (параметр для якого описано нижче deal_cf_xxxxxxx)
    responsible_user_id - id відповідального менеджера, на якого має падати заявка. Якщо таке ID вказане, то незалежно від будь-яких інших налаштування розподілення заявок в рамках налаштування цієї лід-форми чи CRM - загалом, заявки будуть падати тільки на обраного менеджера;
    message - буде додавати примітку з обраним текстом або ж значеннями з форми в угоду (або в Клієнта у випадку KeepinCRM);
    status_id - вказуєте ID певного етапу воронки, в яку хочете передавати заявку. Якщо не вкажете нічого, то заявка буде передаватися в перший етап першої воронки продажів. 

    contact_cf_XXXXXX - кастомне поле контакту де XXXXXX - API ключ поля. Шукається так само як і ключ API для угоди;
    deal_cf_XXXXXXX - кастомне поле угоди де XXXXXX - API ключ поля (ID поля).

    Для інтеграцій Uspacy є додаткові правила співставлення:
    1) Якщо з отриманих на Webhook даних має сформуватися НЕ угода + контакт, тоді у співставленні полів, ви маєте обов'язково прописати таке: 
    entity - lead. Якщо ж потрібно створювати Угоду + Контакт, тоді просто НЕ вказуєте це у співставленні. 

    2) Якщо ви обрали створювати лід (тобто в співставленні полів прописали entity - lead, то всі інші поля ви співставляєте без використання deal_cf_xxxxxx чи contact_cf_xxxxxxx. Просто вказуєте ID поля з розділу налаштувань . 

    3) Якщо у вас має створюватися Угода + Контакт, то для кастомних та системних полів, які мають заповнитися ТІЛЬКИ в Угоді ви вказуєте в назві параметру deal_cf_xxxxxx, якщо ТІЛЬКИ в Контакті, то відповідно назву прописуєте як contact_cf_xxxxxxx. Якщо просто вкажете ID поля, то поля, які присутні і в Контакті і в Угоді заповняться і там і там (Це наприклад UTM мітки).

    4) Щоб заповнити системне поле Джерело в Uspacy, потрібно в колонці зліва прописати source, а в колонці справа (в значені параметру) вказати без дужок потрібне джерело (дослівно з урахуванням регістру букв, скопіювати із можливих варіантів налаштованого в Uspacy поля Джерело)

     Дані, які вносимо в колонку "Значення" (дані, отримані з форми на Webhook) забираємо з першої тестової заявки, яка надійшла з webhook в LeadBox у розділ Реєстр.
    Щоб їх підставити у співставлення полів переведіть відображення даних у в JSON формат і орієнтуйтесь на значення в кожному рядку до двокрапки:
    Масив даних, що отримуєте на webhook
    Якщо ці дані мають вкладеність (як наприклад data_source з прикладу вище є вкладеною у масив ga_utm), тоді ви копіюєте через крапку обидва значення
    ga_utm.data_source - для цього ж прикладу. 
    Зручно перевіряти таку багато рівневу вкладеність і формувати шлях до параметру через інструмент-валідатор

    Всі значення, які змінюються в залежності від того, хто заповнив форму ми проставляємо у поле "Значення" загорнутими у {{}}. Там де нам необхідно передати стале значення, таке як ми вкажемо, незалежно від того, що заповнив лід, ми прописуємо без {{}}.
    Приклад заповнення співставлення полів з масиву ось таких даних:
    {
       "fields": {
         "short_text": {
           "title": "Name",
           "value": "Олена",
           "type": "text"
         },
        "contactForm_phoneNumber": {
         "title": "Phone",
         "value": "+380933333334",
         "type": "phone"
         },
       "contactForm_email": {
          "title": "Email",
          "value": "test@gmail.com",
          "type": "email"
         }
       }
    }
    Приклад співставлення полів
    За таким співставленням у нас завжди буде створюватися угода з назвою "Заявка з LeadBox тариф Standart" і контактними даними, які будуть змінюватися під заповнені клієнтом дані з форми, яка надійшла на Webhook
    Особливості співставлення полів для передачі даних в окремі системи - тут
    • Список відповідальних. Налаштування для розподілення замовлень саме з цього джерела між різними менеджерами. Для налаштування обираєте заздалегідь створену колекцію менеджерів.
    Як створити колекцію для розподілу читайте тут, а інформацію щодо загалом розподіл лідів через LeadBox знайдете тут.
    Пріоритетним над цим налаштуванням є налаштування розподілу нових лідів у блоці співставлення полів (за параметром responsible_user_id - пояснення вище), але в блоці співставлення полів розподіл можна зробити тільки на одного відповідального менеджера
    • Правила інтеграції.
      В стандартному налаштуванні LeadBox перевіряє наявність в CRM контакту та активної угоди до нього. Якщо такі є - ставить задачу на відповідального в угоді. Якщо є контакт, але немає угоди - створює угоду на відповідального, що закріплений в контакті. Якщо немає ні контакта ні угоди - створює і те і те на відповідального обраного у налаштуваннях розподілу.
      Якщо такий формат підходить, то даний розділ не варто змінювати, але якщо необхідний інший алгоритм то можете поставити відповідні галочки:
      - Заборонити створювати угоду в будь якому випадку - не буде створювати угоду, якщо немає ні контакту, ні угоди в CRM. Тільки оновить дані в існуючих угодах / контакті
      - Заборонити створювати задачу на повторну угоду - якщо активний даний пункт, то LeadBox не буде створювати задачу на відповідального у повторній угоді.
      - Оновити всі поля - оновить в контакті та уже існуючий активній угоді всі поля відповідно до тої інформації, що передасть із нового ліда. 
      - Оновити тільки пусті поля - оновить тільки ті поля, які були пусті у контакті / угоді, новою інформацією з ліда (наприклад Джерело трафіку)
    Детальніше про правила інтеграції та створення повторних угод читайте тут.
    Інформація про особливості вибору правил інтеграції для передачі даних в KeepinCRM - тут
    • Налаштування фільтру необхідне у разі якщо не всі ліди з даного підключення вам необхідні.
    Окремо про налаштування фільтру можно подивитися тут
    • Стандартизація номеру. 
      В стандартизації номера апріорі обрано формат Українського номера, але можно проставити інший код і змінити перевірку кількості знаків в номері для заявок з іншої країни. 
      Стандартизація налаштовується тільки на один формат. Тож якщо у вас різні країни є, краще робити під них різні лід-форми і в кожній окремо проставляти необхідні налаштування номеру.
    Для коректної роботи пошуку Контакту чи Ліда за номером телефону в Uspacy, в інтеграції має бути обов'язково активними даний блок Стандартизації номеру

     

     




    Чи була наша стаття корисною?