Главная > API
https://www.postman.com/statusnick/workspace/public
В спойлерах приведены примеры использования сервиса с запросом к API. Такой код пока что не тестировался (кроме PHP, JS, Python) и приведен для ускорения написания.
// Пример класса с проверкой
class Check
{
public function run(string $main_token, string $source_token, string $api_version, string $point, string $endpoint, string $text)
{
// Параметры проверки текста
$query_details = [
'source_token' => $source_token,
'text' => $text,
'dictionaries' =>
[
'rus' => [
'heavy',
'expletive',
'weapon',
'terrorism',
'sex',
],
'eng' => [
'heavy',
]
],
'deep_check' => 'yes',
'translit_check' => 'yes',
'stylized_check':'yes'
];
// Формируем набор POST-данных
$send_data['main_token'] = $main_token;
$send_data['api_version'] = $api_version;
$send_data['query_details'] = $query_details;
// Определяем узел для запроса
$url = 'https://lf.statusnick.com/api/' . $point . '/' . $endpoint;
$curl = curl_init();
curl_setopt_array(
$curl,
[
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url,
CURLOPT_POSTFIELDS => json_encode($send_data),
CURLOPT_HTTPHEADER => array("Content-Type: application/json"),
]
);
$result = curl_exec($curl);
$result_json = json_decode($result, 1);
curl_close($curl);
return $result_json;
}
}
// Пример использования
$checker = new Check();
$check_result = $checker->run('main_token', 'source_token', 'v1', 'text', 'check', 'content for check');
// Если обнаружены запрещенные слова
if (!empty($check_result['result']['final']['check']['check_result'])) :
// Делаем что-то
endif;
function check(main_token, source_token, api_version, point, endpoint, text) {
// Параметры проверки текста
var query_details = {
source_token: source_token,
text: text,
dictionaries: {
rus: ['heavy', 'expletive', 'weapon', 'terrorism', 'sex'],
eng: ['heavy']
},
deep_check: 'yes',
translit_check: 'yes',
stylized_check:'yes'
};
// Формируем набор POST-данных
var send_data = {
main_token: main_token,
api_version: api_version,
query_details: query_details
};
// Определяем узел для запроса
var url = 'https://lf.statusnick.com/api/' + point + '/' + endpoint;
// Выполняем AJAX-запрос
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var result_json = JSON.parse(xhr.responseText);
// Пример использования результата
if (result_json.result.final.check.check_result) {
// Делаем что-то
}
}
};
xhr.send(JSON.stringify(send_data));
}
// Пример использования
check('main_token', 'source_token', 'v1', 'text', 'check', 'content for check');
import requests
import json
def check(main_token, source_token, api_version, point, endpoint, text):
# Параметры проверки текста
query_details = {
'source_token': source_token,
'text': text,
'dictionaries': {
'rus': ['heavy', 'expletive', 'weapon', 'terrorism', 'sex'],
'eng': ['heavy']
},
'deep_check': 'yes',
'translit_check': 'yes',
'stylized_check':'yes'
}
# Формируем набор POST-данных
send_data = {
'main_token': main_token,
'api_version': api_version,
'query_details': query_details
}
# Определяем узел для запроса
url = f'https://lf.statusnick.com/api/{point}/{endpoint}'
# Выполняем POST-запрос
headers = {'Content-Type': 'application/json'}
response = requests.post(url, data=json.dumps(send_data), headers=headers)
# Пример обработки результата
result_json = response.json()
return result_json
# Пример использования
res = check('main_token', 'source_token', 'v1', 'text', 'check', 'content to check')
if res.get('result', {}).get('final', {}).get('check', {}).get('check_result'):
print(res)
else:
print('OK')
API v1
Первая версия.
API v1_up_limits
Дубликат первой версии с повышенными границами лимитов и другой стоимостью. Подходит для проверки больших текстов, не подходит для частых запросов и проверки коротких текстов. Поскольку по логике это дубликат API v1, то удобно в коде переключаться с одной версии проверки на другую всего лишь меняя один параметр в зависимости от длины текста. Также можно компоновать множество коротких текстов в один большой, чтобы добиться ускорения обработки.
Перейти к описанию API v1_up_limits
Словари создаются под каждую градацию API и постоянно пополняются в зависимости от логики API даже спустя 2 года после создания проекта.
Действующие (28.05.24) словари для API v1
и v1_up_limits
:
Язык | Описание | Применение в API |
---|---|---|
Русский | Тяжелые маты, очень грубая нецензурная лексика. | heavy |
Русский | Ругательства, обзывательства, в том числе не являющиеся нецензурными. | expletive |
Русский | Словарь, связанный с террористической деятельностью, в частности: название организаций, опасных веществ. | terrorism |
Русский | Словарь оружейный, включает в себя названия частей и типов оружия (шомпол, пуля, коллиматорный и т.д.), некоторых веществ. | weapon |
Русский | Словарь, направленный на ограждение лиц до 18 лет от запрещенной тематики вроде ЛГБТ, наркотиков, курения, алкоголя. | sex |
Русский | Слова, связанные с экономикой. В большинстве своем представлены запрещенными организациями, вроде названий он-лайн казино, финансовыми пирамидами. | economic |
Русский | Набор для поиска оскорбительных высказываний по национальному, социальному, религиозному признакам. Словарь внедрен 28.05.24 и находится в стадии тестирования. Это означает, что на дату внедрения словарь сравнительно небольшой и идет отработка пересечения с обычными словами. | politic |
Английский | Тяжелые маты, очень грубая нецензурная лексика. | heavy |