Добавление через API (curl / скрипт)
Инструменты можно добавлять не только через форму, но и напрямую через POST-запрос — удобно для скриптов и автоматизации.
Эндпоинт
POST /catalog/api/tool/submit/
Аутентификация
Для API-запросов используйте свой токен. Его можно найти в профиле (раздел API-токен).
Передавайте токен заголовком:
X-Api-Token: ваш-uuid-токен
или
Authorization: Token ваш-uuid-токен
Способ 1: JSON body
curl -s -X POST https://yoursite.com/catalog/api/tool/submit/ \
-H "Content-Type: application/json" \
-H "X-Api-Token: ВАШ_ТОКЕН" \
-d '{
"name": "nmap",
"description": "Утилита для сканирования сетей и аудита безопасности.",
"installation": "sudo apt install nmap",
"tags": "network, scanning, recon"
}'
Способ 2: JSON-файл
Создайте файл tool.json:
{
"name": "nmap",
"description": "...",
"installation": "sudo apt install nmap",
"tags": "network, scanning"
}
Отправьте:
curl -s -X POST https://yoursite.com/catalog/api/tool/submit/ \
-H "X-Api-Token: ВАШ_ТОКЕН" \
-F "file=@tool.json"
Ответ API
Обычный пользователь — заявка идёт на модерацию:
{"success": true, "auto_approved": false, "message": "Заявка отправлена на модерацию", "submission_id": 42}
Доверенный пользователь / стафф — инструмент создаётся сразу:
{"success": true, "auto_approved": true, "tool_slug": "nmap", "tool_url": "/catalog/tool/nmap/"}
Поддерживаемые поля
| Поле |
Обязательно |
Описание |
name |
Да |
Название инструмента |
slug |
Нет |
URL-идентификатор (авто из name) |
description |
Нет |
Описание |
installation |
Нет |
Инструкция установки |
tags |
Нет |
Теги через запятую |
category |
Нет |
Slug категории |