Как настроить регистрацию лидов с внешних ресурсов? есть ли какая документация или может кто описать поподробней как это делается.

Нравится

11 комментариев

Добрый день, какой у Вас продукт?

Здравствуйте Дмитрий, bpmonline sales 7.8

Включите в настройках пространства секцию "Веб-формы" (Лендинги, точное название на русском не знаю). Добавьте новую форму. У нее есть поле со скриптом. Его содержание нужно скопировать на вашу страницу с формой и заменить "css-selector" на Id input'ов (проще всего type="text") вашей формы. Пример:

Допустим, у вас есть форма:

<form>
<label>Компания</label><input type=text id="CompanyName">
<label>Контакт</label><input type=text id="ContactName">
<label>Телефон</label><input type=text id="CompanyPhone">
<input type="submit">
</form>

Для того, чтобы ее данные попали в систему нужно после нее вставить скрипт, приведенный на карточке нового лендинга и в нем заменить css-placeholder на ваши:

<script>
 
var config = {
    fields: {
        "Name": "#ContactName", 
        "MobilePhone": "#CompanyPhone", 
        "Company": "#CompanyName", 
    },
    landingId: "469b233f-4648-4ed4-824c-9616eabe9c28",
    serviceUrl: "http://bpm78ed.asproduction.cz/0/ServiceModel/GeneratedWebFormService.svc/SaveWebFormLeadData",
    redirectUrl: ""
};
 
function createLead() {
    landing.createLeadFromLanding(config)
}
</script>

После этого в ваш исходный тег формы

<form>

добавить обработку submit onSubmit="createLead(); return false", т.е. он будет в нашем примере выглядеть так:

<from onSubmit="createLead(); return false">

ну и на странице с формой в HTML желательно в секцию добавить следующее:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://webtracking-v01.bpmonline.com/JS/track-cookies.js"></script>
<script src="https://webtracking-v01.bpmonline.com/JS/create-lead.js"></script>

все :smile:

Еще момент - в настройках формы в bpmonline нужно указать точный URL страницы с формой и страницы с сообщением о успешной отправке данных.

Извините что туплю недавно начал работать с bpm, непонятен момент "Включите в настройках пространства секцию "Веб-формы" (Лендинги, точное название на русском не знаю). Добавьте новую форму. У нее есть поле со скриптом." - Это следует на сайте добавить?
В настройках есть раздел "Настройки раздела Лендинги" в нем три пункта :
1.URL сервиса приёма данных со страниц лендингов - здесь нужно указать адрес URL страницы с формой?.
2.URL api создания лидов - в нем указан адрес скрипта.
3.Шаблон автогенерируемого скрипта на странице лендинга - в нем указан шаблон который Вы отправили.
Если есть возможность можно со скринами.

Все сделал как в документации в console выходит 400 bad request.
Если кто то сталкивался этой проблемой отпишитесь.

400 bad request - запрос не проходит. Видимо, что-то не так. Например - landingId: "469b233f-4648-4ed4-824c-9616eabe9c28", должен соответствовать вашему, urlы должны соответствовать тем, которые в описании формы bpmonline прописаны, вместо http://bpm78ed.asproduction.cz/0/ServiceModel/GeneratedWebFormService.s… должен быть ваш адрес (там где система стоит) и т.д.

Проверил, все выставлено правильно. Проблема не исчезла.

ну еще как вариант неверные названия полей. Или если используете справочники - нет в названии поля Id. Вставьте сюда (или на почту мне пошлите) скрипт целиком - надо посмотреть.

Та же самая ситуация, кстати. На тестовую bpm (on-demand) без проблем посылается, на локальную (on-site) - 400 возвращает..

Владимир, добрый день!

Решение данного вопроса будет предоставлено в рамках обращения 0397137, которое было создано Вами.

По результатам анализа мы опубликуем здесь решение.

Добрый день!

Как стало известно после анализа проблемы, ошибка заключалась в том, что в продукте Sales в таблице Lead нет колонки BpmSessionId (отсутствует пакет Event Tracker), о чем не было указано в документации.

Решением будет:
В коде Лэндинга на посадочной странице заменить строку

https://webtracking-v01.bpmonline.com/JS/create-lead.js

на

http://ajax-lib.bpmonline.com/marketing/7.6.0/create-lead.js

Это ссылка на предыдущий код создания Лида, в котором не использовался BpmSessionId для создания Лида.

Эта ошибка исправлена в последней релизной версии.

Показать все комментарии

Если Вы сгенерировали форму генерации лидов для внешних ресурсов, вставили код на сайт, а лиды не регистрируются, следует сначала проверить системные настройки:
"Имя пользователя для регистрации лидов из внешних ресурсов"
и
"Пароль пользователя для регистрации лидов из внешних ресурсов"

Эта настройка нужна для авторизации запросов к сервису, соответсвенно, все лиды будут созданы от имени этого пользователя.
Без установки корректных имени/пароля запросы будут отклоняться как неавторизированные, и лиды создаваться не будут.

UPD: составил список наиболее часто встечающихся кейсов:

  1. Неправильные имя пользователя/пароль для регистрации лидов.
  2. Некорректно указан адрес сайта, на котором размещена форма.
  3. Сервисы bpm’online недоступны в поле видимости сайта, на котором расположена форма.
  4. На сайте подключен jquery.min не той версии, которая требуется для формы. Нужная версия подключается на самой форме строкой:
    script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">script>
  5. У пользователя, учетная запись которого используется для регистрации лидов с внешних ресурсов нет прав на добавление объекта «Лиды».
  6. Также могут быть проблемы, если запросы идут через прокси-сервер и фактически приходят не с того адреса, на котором расположена форма. Чтобы разрешить отправку запросов с любого адреса, необходимо в настройках формы указать адрес сайта "*.*".
  7. Ошибка при загрузке исходного кода. Поробуйте изменить название самой формы на строку, содержащую только символы латинского алфавита, например "MyForm".

Нравится

Поделиться

9 комментариев

Добрый день, Андрей!

а что делать если получаю ошибку:

XMLHttpRequest cannot load http://localhost:9999/0/ServiceModel/GeneratedWebFormService.svc/SaveWe…. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

???

Здравствуйте, Владимир!
Чтобы отправлялись запросы, нужно разместить форму на сайте и указать адрес этого сайта в соответствующее поле в BPMonline при регистрации формы.

Добрый день!
BPMOnline 7.4.1 Sales.
При сохранении Лида через внешнюю форму генерируется номер, который необходимо вернуть сайту. На данный момент базовый вебсервис GeneratedWebFormService возвращает только сообщение об успешном сохранении. Как можно изменить данный метод, что вебсервис возвращал еще и номер нового Лида? Пробовал делать override класса GeneratedWebFormService и использовать свою функцию для сохранения данных из формы.
В коде самой формы изменил url

ServiceModel/GeneratedWebFormService.svc/SaveWebFormLeadData

на имя своего класса и своей функции. Но тогда вообще ничего не происходит, а форма сразу возвращает statusText : "error"

Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.

Добрый день. Попробуйте сначала создать свой вебсервис, который будет генерить лиды, и возвращать номер. А затем подправить сгененированную форму на созданный вами вебсервис.

Добрый день,
Словил примерно такую же ошибку, как у первого комментатора:

Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://crmserv:8082/0/ServiceModel/GeneratedWebFormService.svc/SaveWebF…. Это может быть исправлено путем перемещения ресурса в тот же домен или включением CORS.

Адрес страницы с формой в BPMonline указал, саму страницу переместил даже непосредственно в папку с bpm, адрес тоже указан верно, jquery.min подключён.
Подскажите, пожалуйста, куда смотреть?
В системных настройках имя/пароль для регистрации с внешних ресурсов указал, но тогда вопрос: эта пара логин-пароль должна же указываться в веб-форме, правильно?

Спасибо, уже сам разобрался.

А если в консоли ошибок не появляется, то есть ли какие-то логи, чтобы понять, что и где не происходит?

Добрый день, Владимир!

В подавляющем большинстве случаев ошибка будет отображаться в консоли браузера (детальнее на вкладке Network). Если причину возникновения ошибки через консоль установить не получается, лучше создать обращение в поддержку, и мы попробуем проанализировать Ваш кейс.

Приятной работы.

Показать все комментарии