Общая справка по API
Требования:
- PHP 4.3 или выше.
- Расширение PHP CURL.
Есть два варианта ручного использования сервиса:
- Вы можете самостоятельно создать функцию отправки сообщения используя расширение PHP CURL. Пример вы можете посмотреть в этой статье https://cleantalk.org/help/api-without
- Или можете подключить API CleanTalk и использовать его. О чем и пойдет речь в этой статье. Мы настоятельно рекомендуем использовать именно этот вариант. Потому что он проще в реализации, вы просто подключаете класс и можете спокойно использовать его в любом месте вашего кода, плюс ко всему он содержит встроеные функции проверки входных данных, проверки сообщения на спам и разбора принятого сообщения. Скачать API вы можете на Github.com (ссылка находится внизу статьи)
Для того что бы начать использовать API CleanTalk вам необходимо подключить его к своему сайту:
Загрузите библиотеку CleanTalk здесь. Папку с библиотекой нужно поместить в ту же папку что и файл php.
Также вы можете установить библиотеку через composer.
session_start(); //Необходимо использовать механизм сессий require_once (dirname(__FILE__) . '/lib/Cleantalk.php'); require_once (dirname(__FILE__) . '/lib/CleantalkRequest.php'); require_once (dirname(__FILE__) . '/lib/CleantalkResponse.php'); require_once (dirname(__FILE__) . '/lib/CleantalkHelper.php');
Далее необходимо задать ключ и адрес запроса к сервису.
Получить ключ можно здесь: https://cleantalk.org/register?platform=api.
$config_url = 'http://moderate.cleantalk.org'; //адрес сервера для проверки на спам
$auth_key = 'access_key_here'; // Код доступа к сервису
Создать новый экземпляр класса в котором будут хранится параметры запроса:
$ct_request = new CleantalkRequest();
Следущий код должен модифицироваться автоматическим способом для каждого запроса:
$ct_request->auth_key = $auth_key; //Код доступа к сервису. Берется из ранее выставленной переменной.
$ct_request->message = 'stop_word'; //Тело сообщения для проверки.
$ct_request->method_name = 'check_message'; //Метод проверки, по умолчанию check_message так же есть check_newuser, send_feedback
$ct_request->sender_email = 'stop_email2@example.com'; //Email адрес для проверки.
$ct_request->sender_nickname = 'John Dow'; //Никнейм для проверки
$ct_request->example = str_repeat('Just text ', 10);
$ct_request->agent = 'php-api'; //Приложение которое отправляет на проверку. Надо оставить без изменений.
$ct_request->sender_ip = '178.32.183.43'; //IP адрес для проверки
$ct_request->js_on = 1; //Флаг JavaScript проверки.
$ct_request->submit_time = 12; //Время заполнения формы.
Если у вас не реализована проверка на JavaScript и по какой-то причине вы не можете её сделать, оставьте параметр $ct_request->js_on = 1; . Но делать так крайне не рекоммендуется, так как это важный фактор распознанавания спам-ботов. Подробнее об этом можно прочитать здесь https://cleantalk.org/help/api-without
Отправляем запрос:
$ct = new Cleantalk();
$ct->server_url = $config_url;
Проверка результата и вывод комментария сервера:
$ct_result = $ct->isAllowMessage($ct_request); if ($ct_result->allow == 1) { echo 'Comment allowed. Reason ' . $ct_result->comment; } else { echo 'Comment blocked. Reason ' . $ct_result->comment; }
Так же вы можете использовать дополнительные параметры класса $ct_request:
- sender_nickname - никнейм для проверки;
- sender_info - любая дополнительная информация о пользователе (должна быть закодирована в JSON).
Готовый пример для использования и API вы можете найти здесь:
https://github.com/CleanTalk/php-antispam
Рекомендуем прочитать отдельно про каждый метод проверки:
- check_message - Проверка сообщения/комментария.
- check_newuser - Проверка регистрации.
- send_feedback - Метод обратной связи.
- spam_check - Метод для массовой проверки IP и e-mail.
- backlinks_check- Массовая проверка обратных ссылок в спам комментариях.
- Анти-спам модуль для Nginx - проверяет все POST запросы на предмет спама.
- Универсальный антиспам плагин - этот плагин может быть установлен на любой веб сайт или CMS.
Если остались вопросы, то Вы всегда можете связаться со службой технической поддержки, создав обращение https://cleantalk.org/my/support/open