Hook Formit. CallTouch + MODX
Всем привет!
Поступила задача на интеграцию форм с calltouch.ru/

На сайте есть информация Как подключить заявки с сайта к отслеживанию Calltouch
Мы же выберем решение в виде хука для Formit.
1. Переходим в раздел Передача данных через API, Webhooks в ЛК Calltouch и активируем пункт Передавать данные по API. Ниже указанные данные для интеграции. Пока не закрываем окно, нам понадобится информацияю
2. Создаем сниппет sendCallTouch и в него добавляем следующий код:
3. Сохраняем
4. Переходим к форме, которую будем интегрировать. В поле с указанием хуков добавляем наш новый хук:
5. Тестим

6. Профит
Поступила задача на интеграцию форм с calltouch.ru/

На сайте есть информация Как подключить заявки с сайта к отслеживанию Calltouch
Мы же выберем решение в виде хука для Formit.
1. Переходим в раздел Передача данных через API, Webhooks в ЛК Calltouch и активируем пункт Передавать данные по API. Ниже указанные данные для интеграции. Пока не закрываем окно, нам понадобится информацияю
2. Создаем сниппет sendCallTouch и в него добавляем следующий код:
<?php
$call_value = (int) $_COOKIE['_ct_session_id']; // ID сессии Calltouch, полученный из cookie
if (empty($call_value)) { return true; }
$ct_node_id = 99; // Вместо 99 подставляем номер Сервера
$ct_site_id = XXX; // Вместо XXX подставляем ID личного кабинета
$url = 'https://api-node' . $ct_node_id . '.calltouch.ru/calls-service/RestAPI/requests/' . $ct_site_id . '/register/';
$values = $hook->getValues();
// Тут указываем соответствие ключ - поле в форме
$fields = [
'fio' => $values['name'],
'comment' => $values['text'] ?: $values['package'],
'email' => $values['email'],
'phoneNumber' => $values['phone'],
'subject' => 'Заявка с сайта',
'sessionId' => $call_value,
];
// $modx->log(modX::LOG_LEVEL_ERROR, print_r($fields, 1));
try {
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_POST => 1,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => http_build_query($fields),
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded",
"charset: utf-8"
],
]);
$response = curl_exec($curl);
$modx->log(modX::LOG_LEVEL_INFO, $response);
} catch (Exception $e) {
$modx->log(modX::LOG_LEVEL_ERROR, $e);
}
return true;3. Сохраняем
4. Переходим к форме, которую будем интегрировать. В поле с указанием хуков добавляем наш новый хук:
&hooks=`sendCallTouch,sendlead,FormItSaveForm,email`5. Тестим

6. Профит
Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
в документации есть такое
и