Как отправить лид из контактной формы в Bitrix24
Для того, чтобы из контактной формы автоматически создавались лиды в Bitrix24, нужно настроить на стороне сервиса интеграцию. Для этого нужно зайти в раздел “Разработчикам”

Выбрать “Интегрировать с внешними системами”

Выбрать “Добавить лиды”

В появившемся окне скопировать вебхук и записать во врменный файл, она понадобится чуть позже

После этого в дочерней теме в файл functions.php нужно добавить такой код. И в переменной $webhook указать ранее сохраненное значение вебхука
add_action( 'wpbox/contact_form/submit', function ( $data ) {
$webhook = 'заполнить это поле';
if ( ! is_array( $data['submitted'] ) ) {
return;
}
$fetch_value = function ( $name ) use ( $data ) {
foreach ( $data['submitted'] as $item ) {
if ( ! empty( $item['name'] ) && $item['name'] == $name ) {
return $item['value'] ?? '';
}
}
return null;
};
$name = $fetch_value( 'contact-name' );
$email = $fetch_value( 'contact-email' );
if ( empty( $name ) || empty( $email ) ) {
return;
}
$lead = [
'FIELDS' => [
'TITLE' => 'Пользователь из контактной формы',
'NAME' => $name,
'EMAIL' => [
[
'VALUE' => $email,
'VALUE_TYPE' => 'WORK',
],
],
'COMMENTS' => 'Контактная форма',
],
];
$response = wp_remote_post( rtrim( $webhook, '/' ) . '/crm.lead.add.json', [
'timeout' => 15,
'headers' => [
'Content-type' => 'application/json',
],
'body' => json_encode( $lead ),
] );
if ( is_wp_error( $response ) ) {
$error_message = $response->get_error_message();
// todo log error
}
} );
Теперь, если в контактной форме есть поля почты и имени, они будут автоматически попадать в Bitrix24.
Вам помог ответ?