Dismiss Notice
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Dle openapi 17.1-19.1 [beta-free] [by t-modules]

Discussion in 'Модули DLE' started by T Modules, Apr 18, 2026.

18.04.26 в 12:40
23.04.26 в 14:24
4
695
0
  1. TopicStarter Overlay
    T Modules

    T Modules Зелёный

    Joined:
    Feb 9, 2026
    Messages:
    24
    Best Answers:
    0
    Ratings:
    +9 / 0 / -0
    T-API v3.1.6 — OpenAPI / REST API для DLE 17.1–19.1
    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 принимает запросы через:

    Code:
    /api/v1/
    или альтернативно:

    Code:
    /index.php?do=tapi&route=api/v1
    Дальше плагин сам определяет нужный маршрут, обращается к данным DLE, нормализует ответ и отдает клиенту готовый JSON.
    За счёт этого DLE можно использовать не только как CMS, но и как backend для любых внешних интерфейсов.

    Работа с дополнительными полями (xfields)

    Одна из ключевых возможностей T-API — нормальная выдача дополнительных полей DLE во внешнем API.

    Вместо внутреннего формата хранения DLE клиент получает уже подготовленный JSON-объект:

    Code:
    "xfields": {
      "subtitle": "Краткий подзаголовок",
      "genre": "Фантастика",
      "country": "Россия",
      "year": "2026"
    }
    
    Это удобно потому что:
    • не нужно вручную разбирать формат DLE
    • фронтенд сразу получает готовые данные
    • xfields легко использовать в карточках, списках и фильтрах
    • упрощаются интеграции с ботами, приложениями и внешними сервисами

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

    Проверка статуса API

    Code:
    GET /api/v1/system/status
    
    Code:
    {
        "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"
            }
        }
    }
    
    Получение списка материалов

    Code:
    GET /api/v1/titles?page=1&limit=2
    
    Code:
    {
      "success": true,
      "data": [
        {
          "id": 101,
          "title": "Первая новость",
          "xfields": {
            "subtitle": "Краткое описание",
            "country": "Россия",
            "year": "2026"
          }
        },
        {
          "id": 102,
          "title": "Вторая новость",
          "xfields": {
            "subtitle": "Еще одно описание",
            "country": "США",
            "year": "2025"
          }
        }
      ]
    }
    
    Получение материала по ID

    Code:
    GET /api/v1/titles/101
    
    Code:
    {
      "success": true,
      "data": {
        "id": 101,
        "title": "Первая новость",
        "short_story": "Краткий текст",
        "full_story": "Полный текст материала",
        "xfields": {
          "subtitle": "Краткое описание",
          "genre": "Фантастика",
          "country": "Россия",
          "year": "2026"
        }
      }
    }
    
    Пример защищённого запроса

    Code:
    GET /api/v1/system/diagnostics
    X-Api-Key: your-api-key-here
    
    Code:
    {
      "success": true,
      "data": {
        "auth": "ok",
        "userId": 1
      }
    }
    



    Если есть идеи, баги, предложения и улучшения — пишите: @tmodulesbot


    upload_2026-4-18_13-5-3.png upload_2026-4-18_13-5-57.png upload_2026-4-18_13-7-28.png
     

    Attached Files:

    #1 T Modules, Apr 18, 2026
    Last edited: Apr 18, 2026
    • Полезно Полезно x 3
  2. Nimad

    Nimad Зелёный

    Joined:
    Dec 29, 2017
    Messages:
    14
    Best Answers:
    0
    Ratings:
    +2 / 0 / -0
    Всё хорошо, но нет главных скриншотов. В функционале, как устроена система, которая переписывает с дополнительными полями?
     
  3. TopicStarter Overlay
    T Modules

    T Modules Зелёный

    Joined:
    Feb 9, 2026
    Messages:
    24
    Best Answers:
    0
    Ratings:
    +9 / 0 / -0
    T-API при запросе материала читает значение дополнительных полей из стандартного поля DLE, затем парсит внутреннее представление xfields в набор пар ключ на значение и включает результат в JSON-ответ как отдельный объект xfields. То есть плагин не меняет способ хранения дополнительных полей в самом DLE, а выполняет их нормализацию на уровне API-выдачи, чтобы клиент получал уже структурированные данные в удобном для фронтенда и интеграций виде.

    В результате клиент получает:

    Code:
    "xfields": {
      "subtitle": "Краткий подзаголовок",
      "genre": "Фантастика",
      "country": "Россия",
      "year": "2026"
    }
    
     
    #3 T Modules, Apr 18, 2026
    Last edited: Apr 18, 2026
  4. iodjin

    iodjin Бывалый

    Joined:
    Jun 23, 2019
    Messages:
    143
    Best Answers:
    0
    Ratings:
    +27 / 9 / -0
    круто, но у вас в архиве же только обвязка
    это не готовый api

    вы пилите или хотите денег за полную версию?
     
  5. TopicStarter Overlay
    T Modules

    T Modules Зелёный

    Joined:
    Feb 9, 2026
    Messages:
    24
    Best Answers:
    0
    Ratings:
    +9 / 0 / -0
    Опенсорс.
    жду обратной связи здесь что бы пилить и исправить баги если таковые есть
     
Яндекс.Метрика