Описание метода API CleanTalk Anti-Spam "frontend_data"
Этот метод собирает данные о посетителях сайта в фоновом режиме. Сохраненные данные идентифицируются значением event_token.
- Соберите данные с веб-формы..
- Отправьте данные JSON через запрос POST на https://moderate.cleantalk.org/api3.0/fronted_data
- Проанализируйте ответ и используйте полученный event_token далее в методах check_bot, check_newuser или check_message.
Метод лучше использовать с нашим скриптом https://moderate.cleantalk.org/ct-bot-detector-wrapper.js который должен быть включён в код сайта
<script src="https://moderate.cleantalk.org/ct-bot-detector-wrapper.js"></script>
Запрос
Пример данных JSON
{
"js_event": "js event name",
"page_url": "visitor viewed page url",
"event_token": "previously_received_token",
"data": {},
"method_name": "frontend_data"
}
Обработка данных
Необходимая информация об обработке данных.
| Параметр | Объяснение |
|---|---|
| HTTP метод | POST |
| Формат даных | JSON |
| URL | https://moderate.cleantalk.org/api3.0/frontend_data |
Обязательные параметры
Данные параметры обязательны.
| Параметр | Объяснение |
|---|---|
| method_name | Имя метода, должно быть "frontend_data". |
| js_event | Имя JS-события. Не более 32 символов. |
| page_url | URL посещённой страницы. |
| data | Объект с действиями посетителя на сайте. |
Дополнительные параметры
Использование данных параметров улучшает качество фильтрации.
| Параметр | Объяснение |
|---|---|
| event_token | Параметр используется для привязки всех собранных пользовательских данных посетителя к запросу. Эти данные собираются с помощью специального скрипта https://moderate.cleantalk.org/ct-bot-detector-wrapper.js который должен быть добавлен в разметку страницы. |
Ответ
Пример ответа
Ответ сервера не зависит от платформы.
{
"event_token": "5...5",
"data": {
"operation_status": "SUCCESS"
},
"error_no": 0,
"error_message": ""
}
Разъяснение ответов
| Ключ | Объяснение |
|---|---|
| event_token | Токен сохраненных данных. Вы можете использовать его повторно для сохранения изменений данных в том же токене. |
| error_no | Ноль в случае успеха или целочисленный код ошибки. |
| error_message | Пустое поле в случае успеха или краткого описания ошибки. |
| data | JSON-строка с дополнительными данными. В случае успеха у нее будет "operation_status": "SUCCESS" |
Примеры кода
Используя Wget
Пример CLI
wget -O- --post-data='{"js_event":"submit","page_url":"http://wp-clean.talk/different-link-to-stuff/","data":{"agent":"bot_detector_1.1.19","timestamp":1721209824},"method_name":"frontend_data"}' https://moderate.cleantalk.org/api3.0/frontend_data
Используя PHP
PHP бакенд
Мы хотели бы подчеркнуть, что вам не нужно интегрировать этот метод на стороне сервера, и все взаимодействия должны осуществляться во внешнем интерфейсе, однако, если есть необходимость в интеграции метода на стороне сервера, вот простой пример того, как выполнить вызов.
<?php
use Cleantalk\CleantalkRequest;
class FrontendData {
protected $_apiUrl = 'https://moderate.cleantalk.org/api3.0/frontend_data';
private $_authKey = 'your_auth_key';
function run() {
$data = [
'auth_key' => $this->_authKey,
'method_name' => 'frontend_data',
'page_url' => 'https://wordpress.demo1.cleantalk.me/contact-form-7/',
'js_event' => 'submit',
'sender_ip' => '1.1.1.1',
'data' => json_decode('{
"agent": "bot_detector_3.1.22",
"REFFERRER": "https://wordpress.demo1.cleantalk.me/contact-form-7/",
"has_input_focused": true,
"headless": false,
"page_hits": 3,
"cookies_enabled": true,
"REFFERRER_PREVIOUS": "https://wordpress.demo1.cleantalk.me/",
"screen_info":
{
"visibleHeight": 922,
"fullWidth": 886,
"visibleWidth": 886,
"fullHeight": 3938
},
"mouse_moved": true,
"user_agent": "Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0",
"timestamp": "2024-07-29 15:29:39",
"has_scrolled": true,
"typo":
[
{
"fieldType": "INPUT",
"isUseBuffer": false,
"isAutocomplete": false,
"speedDelta": 62,
"label": "Your name*\n",
"countOfKey": 3,
"firstKeyTimestamp": "2024-07-29 15:29:34",
"isAutocompleteExist": false,
"lastDelta": 21,
"lastKeyTimestamp": "2024-07-29 15:29:34",
"fieldName": "your-name"
},
{
"lastDelta": 0,
"fieldName": "apbct__email_id__search_form_48184",
"lastKeyTimestamp": "1970-01-01 05:00:00",
"isAutocompleteExist": false,
"countOfKey": 0,
"firstKeyTimestamp": "1970-01-01 05:00:00",
"speedDelta": 0,
"label": "48184",
"isAutocomplete": false,
"isUseBuffer": false,
"fieldType": "INPUT"
}
],
"pointer_data":
[
[
267,
703,
105
],
[
784,
130,
12890
]
],
"has_key_up": true
}', true),
];
// Convert to JSON
$data = json_encode($data);
echo $data . "\n\n";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->_apiUrl);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$result = curl_exec($ch);
curl_close($ch);
}
}
(new FrontendData())->getAction()->run();
Используя HTML
Обычный способ интегрировать метод frontend_data - это включить наш скрипт https://moderate.cleantalk.org/ct-bot-detector-wrapper.js на ваш сайт.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://moderate.cleantalk.org/ct-bot-detector-wrapper.js"></script>
</head>
<body>
<form method="post" action="check_bot.php">
<label for="search_field">What do you search?</label>
<input type="text" name="search_field" id="search_field" /> <br />
<input type="submit" />
</form>
</body>
</html>
Будет так же интересно
- CleanTalk Анти-Спам. API Метод check_messageОписание API метода CleanTalk Anti-Spam "check_message" Данный метод лучше...
- Как установить универсальное антиспам расширение от CleanTalk Важное замечание Начиная с 1 ноября 2024, разработка универсального...
- CleanTalk Анти-Спам. API метод check_newuser Описание метода API CleanTalk Anti-Spam "check_newuser" Этот API метод лучше...