T-API v3.1.6 — OpenAPI / REST API для DLE 17.1–19.1
Beta-free релиз от T-Modules
Beta-free релиз от T-Modules
T-API превращает сайт на DLE в полноценный источник структурированных данных.
Плагин добавляет единый REST API, автоматически формирует OpenAPI-документацию, поддерживает дополнительные поля (`xfields`), разделяет публичные и защищённые методы и позволяет использовать DLE как backend для внешних проектов.
Подходит для:
- SPA и мобильных приложений
- Telegram-ботов
- внешних сервисов и парсеров
- AI-интеграций
- headless-проектов на базе DLE
Что умеет T-API
- Единый маршрут ` /api/v1/* `
- Поддержка DLE 17.1, 17.2, 17.3, 18.0, 18.1, 19.0, 19.1
- 127 путей, 295 операций, 56 групп реестра
- OpenAPI 3.0 документация
- Работа с материалами: список, карточка, batchGet
- Поддержка `xfields` и связанных данных
- Системные методы: `status`, `openapi`, `schema`, `diagnostics`
- Авторизация через `X-Api-Key`
- Удобная админ-панель: Обзор, Маршруты, Ключи, Объекты, OpenAPI
Как это работает
T-API принимает запросы через:
Код:
/api/v1/
или альтернативно:
Код:
/index.php?do=tapi&route=api/v1
Дальше плагин сам определяет нужный маршрут, обращается к данным DLE, нормализует ответ и отдает клиенту готовый JSON.
За счёт этого DLE можно использовать не только как CMS, но и как backend для любых внешних интерфейсов.
Работа с дополнительными полями (xfields)
Одна из ключевых возможностей T-API — нормальная выдача дополнительных полей DLE во внешнем API.
Вместо внутреннего формата хранения DLE клиент получает уже подготовленный JSON-объект:
Код:
"xfields": {
"subtitle": "Краткий подзаголовок",
"genre": "Фантастика",
"country": "Россия",
"year": "2026"
}
Это удобно потому что:
- не нужно вручную разбирать формат DLE
- фронтенд сразу получает готовые данные
- xfields легко использовать в карточках, списках и фильтрах
- упрощаются интеграции с ботами, приложениями и внешними сервисами
Примеры запросов и ответов
Проверка статуса API
Код:
GET /api/v1/system/status
Код:
{
"state": [
{
"status": "ok",
"time": "1.68 ms"
}
],
"data": {
"service": "tapi",
"version": "3.1.6",
"routeBase": "/api/v1",
"dleVersion": "19.1",
"time": 1776543103,
"resources": 56,
"security": {
"apiKeyHeader": "X-Api-Key"
}
}
}
Получение списка материалов
Код:
GET /api/v1/titles?page=1&limit=2
Код:
{
"success": true,
"data": [
{
"id": 101,
"title": "Первая новость",
"xfields": {
"subtitle": "Краткое описание",
"country": "Россия",
"year": "2026"
}
},
{
"id": 102,
"title": "Вторая новость",
"xfields": {
"subtitle": "Еще одно описание",
"country": "США",
"year": "2025"
}
}
]
}
Получение материала по ID
Код:
GET /api/v1/titles/101
Код:
{
"success": true,
"data": {
"id": 101,
"title": "Первая новость",
"short_story": "Краткий текст",
"full_story": "Полный текст материала",
"xfields": {
"subtitle": "Краткое описание",
"genre": "Фантастика",
"country": "Россия",
"year": "2026"
}
}
}
Пример защищённого запроса
Код:
GET /api/v1/system/diagnostics
X-Api-Key: your-api-key-here
Код:
{
"success": true,
"data": {
"auth": "ok",
"userId": 1
}
}
Если есть идеи, баги, предложения и улучшения — пишите: @tmodulesbot

Вложения
Последнее редактирование: