API Документация

Обзор

ruSpam API предоставляет доступ к нашей системе классификации спама через простые HTTP-запросы. API позволяет интегрировать функциональность обнаружения спама в ваши приложения и сервисы.

Все запросы к API требуют аутентификации с использованием токена API, который должен быть передан в заголовке запроса.

Базовый URL

https://ru-spam.ru

Аутентификация

Все запросы к API должны включать токен в заголовке token.

token: ваш_api_токен

Получение API токена

Для использования API вам необходим персональный токен доступа. Получить токен можно через Telegram бота:

@AntiSpam_moder_bot

Отправьте команду /apikey боту, чтобы получить персональный токен.

Пошаговая инструкция

  1. Откройте Telegram и найдите бота @AntiSpam_moder_bot
  2. Нажмите кнопку "Старт" или отправьте команду /start
  3. Отправьте команду /apikey
  4. Бот выдаст вам персональный токен и инструкции по его использованию
  5. Скопируйте полученный токен и используйте его в заголовке ваших API запросов

Важная информация

  • Каждый запрос к API расходует определенное количество токенов с вашего баланса
  • Стоимость запросов и актуальный прайс-лист доступны в боте @AntiSpam_moder_bot
  • Храните ваш токен в безопасности и не передавайте его третьим лицам

Эндпоинты API

POST

/classify

Классифицирует текст как спам или не спам с использованием нейросетевой модели.

Параметры запроса

Параметр Тип Описание
text string Текст для классификации

Пример запроса

{
  "text": "Привет! Как дела? Хочу предложить тебе выгодную инвестицию с доходностью 500% в месяц!"
}

Пример на Python

import requests
import json

# Настройки API
API_URL = "https://ru-spam.ru/classify"
API_TOKEN = "ваш_api_токен"

# Заголовки запроса
headers = {
    "Content-Type": "application/json",
    "token": API_TOKEN
}

# Данные для классификации
data = {
    "text": "Привет! Как дела? Хочу предложить тебе выгодную инвестицию с доходностью 500% в месяц!"
}

try:
    # Отправка запроса
    response = requests.post(API_URL, headers=headers, json=data)
    
    # Проверка статуса ответа
    if response.status_code == 200:
        result = response.json()
        
        print(f"Результат классификации:")
        print(f"Спам: {'Да' if result['is_spam'] else 'Нет'}")
        print(f"Уверенность: {result['confidence']:.2%}")
        print(f"Время обработки: {result['processing_time']:.3f} сек")
        print(f"Потрачено токенов: {result['tokens_used']}")
        print(f"Стоимость: {result['cost']} руб")
        print(f"Остаток на балансе: {result['remaining_balance']} руб")
    else:
        print(f"Ошибка: {response.status_code}")
        print(response.text)

except requests.exceptions.RequestException as e:
    print(f"Ошибка запроса: {e}")

Пример ответа

{
  "processing_time": 0.023,
  "tokens_used": 0.5,
  "cost": 0.03,
  "remaining_balance": 9.97,
  "is_spam": true,
  "confidence": 0.98
}
GET

/api_stats

Возвращает статистику использования API для указанного токена за последние N дней.

Параметры запроса

Параметр Тип Описание
days integer Количество дней для статистики (по умолчанию 30)

Пример на Python

import requests

# Настройки API
API_URL = "https://ru-spam.ru/api_stats"
API_TOKEN = "ваш_api_токен"

# Заголовки запроса
headers = {
    "token": API_TOKEN
}

# Параметры запроса (опционально)
params = {
    "days": 30  # статистика за последние 30 дней
}

try:
    # Отправка GET запроса
    response = requests.get(API_URL, headers=headers, params=params)
    
    # Проверка статуса ответа
    if response.status_code == 200:
        stats = response.json()
        
        print(f"Статистика API за {stats['days']} дней:")
        print(f"Текущий баланс: {stats['current_balance']} руб")
        print(f"")
        print(f"Общая статистика:")
        print(f"- Всего запросов: {stats['summary']['total_requests']}")
        print(f"- Потрачено токенов: {stats['summary']['total_tokens']}")
        print(f"- Найдено спама: {stats['summary']['total_spam']}")
        print(f"- Не спам: {stats['summary']['total_non_spam']}")
        print(f"- Общая стоимость: {stats['summary']['total_cost']} руб")
        
        print(f"")
        print(f"Последние дни:")
        for day_stat in stats['daily_stats'][-5:]:  # Показать последние 5 дней
            print(f"- {day_stat['date']}: {day_stat['requests_count']} запросов, {day_stat['total_cost']} руб")
    else:
        print(f"Ошибка: {response.status_code}")
        print(response.text)

except requests.exceptions.RequestException as e:
    print(f"Ошибка запроса: {e}")

Пример ответа

{
  "token": "ваш_api_токен",
  "current_balance": 9.83,
  "days": 30,
  "daily_stats": [
    {
      "date": "2023-07-01",
      "requests_count": 120,
      "total_tokens": 1500,
      "spam_count": 45,
      "non_spam_count": 75,
      "total_cost": 0.9
    },
    // ...другие дни
  ],
  "summary": {
    "total_requests": 3500,
    "total_tokens": 42000,
    "total_spam": 1200,
    "total_non_spam": 2300,
    "total_cost": 25.2
  }
}

Коды ошибок

Код Описание
401 Отсутствует или неверный токен API
403 Недостаточно средств на балансе
500 Внутренняя ошибка сервера