Как настроить приём заявок с сайта в CRM

Эта инструкция — о том, как сделать, чтобы заявки с форм на вашем сайте сами появлялись в CRM. Посетитель оставляет телефон на сайте — и в системе сразу создаётся заказ с нужным статусом и городом, а всё, что человек написал в форме, сохраняется в комментарии. Переносить заявки из почты руками больше не нужно, и ни одна не потеряется между письмами.

Подключение делается через вебхук — специальный адрес, на который конструктор сайта отправляет каждую заполненную форму. Подойдёт Тильда или любой другой конструктор, который умеет отправлять заявки на вебхук. Ниже мы подробно разбираем Тильду: на ней проверен весь порядок действий.

Как это работает

  1. Посетитель заполняет форму на вашем сайте.
  2. Конструктор сайта отправляет данные формы на адрес вебхука FriendClient.
  3. FriendClient проверяет ваш ключ доступа и то, что указанная CRM действительно ваша, — и создаёт в ней Договор.
  4. Конструктор получает ответ: заказ создан или что именно пошло не так.

Что понадобится перед началом

  • API-ключ — в личном кабинете FriendClient: в верхнем меню раздел «Интеграции» → кнопка «API». Если ключа там нет, нажмите «Обновить». Ключ выглядит примерно так: 3f1c2a9e-7b4d-4e21-9c0a-5d8e6f1b2c3a;
  • адрес вашей CRM — тот же, по которому вы открываете систему, но без https:// и без косой черты в конце. Например, vasha-firma.omiscrm.ru;
  • номер статуса, с которым заявка должна попадать в CRM, — обычно это первый статус, с которого вы начинаете работу с новым заказом. Подробнее о статусах — на странице Статус;
  • номер города, к которому относить заявки. Подробнее — на странице Город;
  • имя поля с телефоном в вашей форме. В Тильде по умолчанию это Phone.

Номера статуса и города — это внутренние числовые идентификаторы в CRM, а не названия. Посмотреть их можно так:

  1. В CRM откройте меню «Настройки» → «Статусы» (или «Города»).
  2. Откройте нужный статус или город.
  3. Посмотрите в адресную строку браузера: номер стоит в конце адреса, после id=. Например, в адресе https://vasha-firma.omiscrm.ru/backend/status/update?id=70 номер статуса — 70.

Берегите ключ. API-ключ даёт право создавать заказы от имени вашей компании. Не публикуйте его на страницах сайта и не пересылайте посторонним. Если ключ всё же попал в чужие руки, нажмите «Обновить» в разделе «Интеграции»: старый ключ сразу перестанет работать. После этого замените ключ во всех адресах вебхуков на сайте — иначе заявки перестанут приходить.

Шаг 1. Соберите адрес вебхука

Возьмите этот шаблон и подставьте свои значения вместо слов в угловых скобках:

https://friendclient.ru/crm/webhook?api_key=<API-ключ>&domain=<адрес CRM>&phone_field=Phone&crm[status_id]=<номер статуса>&crm[city_id]=<номер города>

Например, для CRM vasha-firma.omiscrm.ru, статуса с номером 1 и города с номером 12 адрес будет таким:

https://friendclient.ru/crm/webhook?api_key=3f1c2a9e-7b4d-4e21-9c0a-5d8e6f1b2c3a&domain=vasha-firma.omiscrm.ru&phone_field=Phone&crm[status_id]=1&crm[city_id]=12

Если поле телефона в вашей форме переименовано, вместо Phone укажите его имя — в Тильде оно задаётся в настройках поля как «Имя переменной». Большие и маленькие буквы здесь важны: Phone и phone — это разные поля.

Шаг 2. Добавьте вебхук в настройки сайта

  1. В Тильде откройте «Настройки сайта» → «Формы» (раздел «Подключенные сервисы»).
  2. Выберите «Webhook».
  3. Вставьте адрес из шага 1 и сохраните.

При сохранении Тильда отправит проверочный запрос. Если ключ и адрес CRM указаны верно, вебхук появится в списке подключённых сервисов — заказ при этой проверке не создаётся. Если Тильда показывает ошибку, значит, неверен ключ или адрес CRM: сверьте их ещё раз.

Шаг 3. Включите вебхук у каждой формы

Это шаг, который чаще всего пропускают. Вебхук в настройках сайта сам по себе к формам не подключается — его нужно включить у каждой формы, заявки с которой должны попадать в CRM:

  1. Откройте страницу с формой и у блока формы нажмите «Контент».
  2. В разделе «Подключенные сервисы» поставьте галочку у добавленного вебхука.
  3. Сохраните и опубликуйте страницу — без публикации изменения не заработают.

Формы без галочки продолжат работать как раньше, но их заявки в CRM не попадут.

Проверьте, что всё работает

Отправьте тестовую заявку с опубликованной страницы — так, как это сделал бы посетитель. Через несколько секунд в CRM должен появиться новый заказ в выбранном статусе. Если заказа нет, откройте в Тильде журнал заявок у формы: там виден ответ сервера с кодом ошибки. Что означает каждый код — в таблице в конце инструкции.

Что попадёт в CRM

Допустим, посетитель заполнил форму так:

  • Name — Иван Петров;
  • Phone — +7 (999) 123-45-67;
  • Comment — Перезвоните после 18:00.

В CRM появится заказ, в котором:

  • телефон — +79991234567: из номера убираются скобки, пробелы и дефисы, остаются только цифры и знак «+»;
  • статус и город — те, что вы указали в адресе вебхука;
  • комментарий — все поля формы, каждое с новой строки:

Name: Иван Петров
Phone: +7 (999) 123-45-67
Comment: Перезвоните после 18:00

Несколько деталей о комментарии:

  • буквы, цифры и обычные знаки препинания сохраняются, а эмодзи и разметка из текста удаляются;
  • API-ключ в комментарий не попадает;
  • служебные поля, которые конструктор добавляет сам (у Тильды это, например, formid и tranid), тоже окажутся в комментарии — это нормально.

Если заявки с разных форм нужно разводить

Бывает, что заявки с разных страниц должны попадать в разные статусы или города — например, у вас несколько филиалов, и у каждого своя страница на сайте. Тогда добавьте в подключённые сервисы Тильды несколько вебхуков — у каждого свой адрес со своими номерами статуса и города, — а у каждой формы отметьте галочкой нужный.

Так же решается случай, когда у вас несколько CRM: у каждой формы может быть свой вебхук со своим адресом CRM.

Кроме того, заказу можно сразу проставить Фильтры — например, отметить, что заявка пришла с сайта. Для этого в конец адреса вебхука добавляется параметр вида &crm[filters][source]=site, где source — имя фильтра, а site — его значение. Передавать можно любые фильтры вашей CRM, но формат значения зависит от типа фильтра: например, для фильтра с выпадающим списком нужно указать не название пункта, а его номер. Поэтому перед настройкой фильтров лучше уточнить у нас имена и значения для вашей системы.

Если что-то не получилось

  • Тильда не сохраняет вебхук — проверочный запрос проходит только с правильными ключом и адресом CRM. Скопируйте ключ заново из раздела «Интеграции» и сверьте адрес CRM буква в букву, без https://;
  • Вебхук сохранён, но заказы не появляются — проверьте, что у формы стоит галочка в «Подключенных сервисах» и страница опубликована заново. Затем посмотрите ответ сервера в журнале заявок Тильды. Чаще всего не совпадает имя поля телефона или указан неверный номер статуса либо города;
  • Появились одинаковые заказы — если CRM какое-то время отвечала медленнее обычного, конструктор мог решить, что отправка не удалась, и повторить её, хотя заказ уже был создан. Лишний заказ можно просто удалить;
  • После обновления ключа заявки перестали приходить — старый ключ перестаёт работать сразу. Замените ключ во всех адресах вебхуков в подключённых сервисах Тильды.

Справочник для того, кто настраивает

Этот раздел пригодится вашему разработчику или тому, кто подключает вебхук к другому конструктору.

Адрес и формат

Адрес вебхука — https://friendclient.ru/crm/webhook. Принимаются только запросы методом POST с обычной отправкой формы (application/x-www-form-urlencoded или multipart/form-data). Настройки передаются параметрами в адресе, данные заявки — в теле запроса.

Параметры адреса

Параметр Обязательный Что это
api_key да API-ключ из раздела «Интеграции». Можно передать и полем в теле запроса
domain да Адрес CRM без https:// и косой черты
phone_field да Имя поля формы с телефоном: латиница, цифры, дефис. Регистр важен
crm[status_id] да Номер статуса заказа (число)
crm[city_id] да Номер города (число)
crm[filters][<имя>] нет Фильтры заказа, можно указать несколько. Имя — латиница, цифры, пробелы; значение — латиница, кириллица, цифры, пробелы. Для фильтра-списка значение — номер пункта списка

Проверочный запрос

Многие конструкторы при подключении вебхука отправляют проверочный запрос и сохраняют вебхук, только если получили ответ 200. Тильда отправляет тело test=test. На такой запрос FriendClient проверяет ключ и адрес CRM и, если всё верно, отвечает {"status": "ok", "test": true} — заказ не создаётся. Если ключ или адрес неверны, вернётся ошибка, и конструктор не даст сохранить вебхук.

Ответы и коды ошибок

Ответ всегда приходит в JSON. При успехе — {"status": "ok", "contract_id": 12345}, где contract_id — номер созданного заказа. При ошибке — машинный код в поле error и пояснение в поле message.

Код HTTP подсказывает, есть ли смысл повторять отправку: при ошибках 4xx повтор бесполезен — запрос составлен неверно; при 5xx большинство конструкторов повторяют отправку сами.

HTTP error Причина Что делать
200 — Заказ создан или проверочный запрос прошёл —
401 api_key_required Ключ не передан Добавить api_key в адрес
401 api_key_invalid Ключ неверный или был обновлён Скопировать актуальный ключ из раздела «Интеграции»
404 crm_not_found У владельца ключа нет CRM с таким адресом Проверить написание адреса CRM
422 domain_required Не передан адрес CRM Пересобрать адрес вебхука
422 phone_field_required Не передано имя поля телефона Пересобрать адрес вебхука
422 phone_not_found В заявке нет поля с таким именем или оно пустое Сверить имя поля в форме и в phone_field, с учётом регистра
422 status_id_required Номер статуса не передан или это не число Пересобрать адрес вебхука
422 city_id_required Номер города не передан или это не число Пересобрать адрес вебхука
502 crm_unavailable CRM не ответила за 10 секунд Конструктор повторит отправку сам; если повторяется — проверить доступность CRM
502 crm_error CRM вернула ошибку Проверить, что статус и город с такими номерами существуют в CRM
500 internal_error Ошибка на стороне FriendClient Если повторяется — написать в поддержку

Что ещё умеет система и как она соединяется с другими сервисами, рассказано на странице Интеграции и API. А если вы только начинаете работать в CRM, загляните в инструкцию С чего начать работу в FriendClient — там описан путь заказа от приёма до выполнения.