Включите в настройках пространства секцию "Веб-формы" (Лендинги, точное название на русском не знаю). Добавьте новую форму. У нее есть поле со скриптом. Его содержание нужно скопировать на вашу страницу с формой и заменить "css-selector" на Id input'ов (проще всего type="text") вашей формы. Пример:
Для того, чтобы ее данные попали в систему нужно после нее вставить скрипт, приведенный на карточке нового лендинга и в нем заменить 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 желательно в секцию добавить следующее:
Извините что туплю недавно начал работать с bpm, непонятен момент "Включите в настройках пространства секцию "Веб-формы" (Лендинги, точное название на русском не знаю). Добавьте новую форму. У нее есть поле со скриптом." - Это следует на сайте добавить?
В настройках есть раздел "Настройки раздела Лендинги" в нем три пункта :
1.URL сервиса приёма данных со страниц лендингов - здесь нужно указать адрес URL страницы с формой?.
2.URL api создания лидов - в нем указан адрес скрипта.
3.Шаблон автогенерируемого скрипта на странице лендинга - в нем указан шаблон который Вы отправили.
Если есть возможность можно со скринами.
400 bad request - запрос не проходит. Видимо, что-то не так. Например - landingId: "469b233f-4648-4ed4-824c-9616eabe9c28", должен соответствовать вашему, urlы должны соответствовать тем, которые в описании формы bpmonline прописаны, вместо http://bpm78ed.asproduction.cz/0/ServiceModel/GeneratedWebFormService.s… должен быть ваш адрес (там где система стоит) и т.д.
ну еще как вариант неверные названия полей. Или если используете справочники - нет в названии поля Id. Вставьте сюда (или на почту мне пошлите) скрипт целиком - надо посмотреть.
Как стало известно после анализа проблемы, ошибка заключалась в том, что в продукте Sales в таблице Lead нет колонки BpmSessionId (отсутствует пакет Event Tracker), о чем не было указано в документации.
Решением будет:
В коде Лэндинга на посадочной странице заменить строку
Если Вы сгенерировали форму генерации лидов для внешних ресурсов, вставили код на сайт, а лиды не регистрируются, следует сначала проверить системные настройки: "Имя пользователя для регистрации лидов из внешних ресурсов"
и
"Пароль пользователя для регистрации лидов из внешних ресурсов"
Эта настройка нужна для авторизации запросов к сервису, соответсвенно, все лиды будут созданы от имени этого пользователя.
Без установки корректных имени/пароля запросы будут отклоняться как неавторизированные, и лиды создаваться не будут.
UPD: составил список наиболее часто встечающихся кейсов:
Неправильные имя пользователя/пароль для регистрации лидов.
Некорректно указан адрес сайта, на котором размещена форма.
Сервисы bpm’online недоступны в поле видимости сайта, на котором расположена форма.
На сайте подключен jquery.min не той версии, которая требуется для формы. Нужная версия подключается на самой форме строкой:
У пользователя, учетная запись которого используется для регистрации лидов с внешних ресурсов нет прав на добавление объекта «Лиды».
Также могут быть проблемы, если запросы идут через прокси-сервер и фактически приходят не с того адреса, на котором расположена форма. Чтобы разрешить отправку запросов с любого адреса, необходимо в настройках формы указать адрес сайта "*.*".
Ошибка при загрузке исходного кода. Поробуйте изменить название самой формы на строку, содержащую только символы латинского алфавита, например "MyForm".
Здравствуйте, Владимир!
Чтобы отправлялись запросы, нужно разместить форму на сайте и указать адрес этого сайта в соответствующее поле в BPMonline при регистрации формы.
Добрый день!
BPMOnline 7.4.1 Sales.
При сохранении Лида через внешнюю форму генерируется номер, который необходимо вернуть сайту. На данный момент базовый вебсервис GeneratedWebFormService возвращает только сообщение об успешном сохранении. Как можно изменить данный метод, что вебсервис возвращал еще и номер нового Лида? Пробовал делать override класса GeneratedWebFormService и использовать свою функцию для сохранения данных из формы.
В коде самой формы изменил url
Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.
Добрый день. Попробуйте сначала создать свой вебсервис, который будет генерить лиды, и возвращать номер. А затем подправить сгененированную форму на созданный вами вебсервис.
Адрес страницы с формой в BPMonline указал, саму страницу переместил даже непосредственно в папку с bpm, адрес тоже указан верно, jquery.min подключён.
Подскажите, пожалуйста, куда смотреть?
В системных настройках имя/пароль для регистрации с внешних ресурсов указал, но тогда вопрос: эта пара логин-пароль должна же указываться в веб-форме, правильно?
В подавляющем большинстве случаев ошибка будет отображаться в консоли браузера (детальнее на вкладке Network). Если причину возникновения ошибки через консоль установить не получается, лучше создать обращение в поддержку, и мы попробуем проанализировать Ваш кейс.