Описание метода 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" Данный метод лучше...
- Website Uptime Monitoring APIs by CleanTalkHow to Use the CleanTalk APIs for Website Uptime Monitoring We offer our APIs for managing Website...
- CleanTalk API методыCleanTalk API методы В этой статье описываются общедоступные...