Начало работы v200.1.1
Что такое DLE API: REST /api/v2, ключи и OAuth, для кого, быстрый старт и карта документации.
Описание плагина
DLE API — HTTP-слой для DataLife Engine: внешние приложения, мобильные клиенты, Postman и другие сайты ходят на https://ваш-сайт/api/v2/… с пропуском Bearer. В админке DevCraft вы заводите ключи, OAuth-клиенты и уровни доступа; сам обмен данными идёт через REST.
Пакет ставится как сателлит к DevCraft Admin (нужна оболочка ≥ 200.4.1). В каталоге api/ живут Slim, OAuth2 и OpenAPI. Таблицы api_* создаёт Cycle ORM Admin при первом заходе в модуль.
Версия 200.1.1 — текущая ветка 200.* для DLE 20+. Важно: in-process SDK (DcApi) с этой версии лежит в DevCraft Admin (devcraft/src/sdk/dle/), а не в ZIP API. HTTP-контракт /api/v2 от этого не меняется; DcApi можно вызывать из PHP сайта даже без установленного DLE API.
Исходники: GitHub.
Возможности
- REST
/api/v2: новости, пользователи, плагины, универсальный CRUD/table/{имя}/, загрузка файлов, переписки, доп. поля. - Доступ к ресурсам только с
Authorization: Bearer <access_token>(сырой ключ на/tableне принимают). - Выдача токена: по API-ключу, логину DLE, OAuth-клиенту или классическим
grant_type(код, refresh, client credentials, password). - Уровни доступа и синхронизация с группами DLE; заявки на ключ с публичного профиля.
- Настройки в DevCraft: TTL, HMAC, письма, блок в профиле; флаги
DEMO_MODE/DLEAPI_SECUREв корневом.env. - OpenAPI / Swagger и проверка в Postman; связка с XenForo (DLE как сервер или клиент).
- На том же PHP, что сайт:
DcApiиз Admin — без HTTP и без Bearer (модули, хуки, сателлиты).
Для кого
Владельцы сайта и админы
Ставите Admin, затем DLE API, в панели заводите ключи и уровни, при необходимости блок «запросить ключ» в профиле. Следите за .env (DEMO_MODE=false, если нужны настоящие токены) и за правами групп. Сами URL /api/v2 «железят» разработчики интеграций.
Разработчики интеграций (HTTP)
Пишете клиент к чужому или своему сайту DLE: получаете Bearer, вызываете sugar-эндпоинты (POST /post/) или /table/…. Смотрите авторизацию, эндпоинты и OpenAPI.
Разработчики модулей на этом сайте (SDK)
Нужны новости/пользователи из PHP без HTTP — берите SDK / DcApi из Admin. DLE API как плагин для этого не обязателен; он нужен, когда снаружи должен быть именно REST.
Почему не «свой» ajax и не API v1. Один стабильный /api/v2 с OAuth и уровнями проще сопровождать, чем набор скриптов с разными ключами. v1 снят; переезд: миграция v1 → v2.
Требования
| Что | Минимум |
|---|---|
| DataLife Engine | 20.0+ |
| PHP | 8.3+ |
| DevCraft Admin | ≥ 200.4.1 |
| MySQL / MariaDB | InnoDB (внешние ключи) |
| Composer | в каталоге api/ (composer install) |
Полный чеклист: Установка.
Дерево структуры
Корень сайта DLE после установки пакета. В скобках — зачем папка. SDK (DcApi) лежит в Admin, не в ZIP API.
Кратко:
api/— публичный REST и Composer HTTP-слоя.devcraft/src/modules/DleApi/— экраны ключей и OAuth в админке.devcraft/src/sdk/dle/—DcApi(поставляется Admin, не пакетом API).engine/inc/dleapi.php+ шаблоны профиля — вход DLE и публичный блок заявки.
Быстрый старт
Поставьте Admin и DLE API
Сначала DevCraft Admin, затем этот плагин. В api/ выполните composer install. Откройте модуль DLE API в админке — создадутся таблицы api_*. Подробности: Установка.
Проверьте .env
В корне сайта для рабочих токенов: DEMO_MODE=false. Иначе access_token будет null. См. Инструкция .env.
Ключ и токен
В DevCraft создайте API-ключ (и при необходимости OAuth-клиент). Обменяйте credentials на Bearer — Авторизация.
Первый запрос
Например GET /api/v2/me или список через /table/…. Как думать про адреса: Эндпоинты. Сценарии: создание новости, пользователь.
Руководства (подробнее)
| Руководство | О чём |
|---|---|
| Авторизация | Bearer, /me, обмен ключа на токен |
| OAuth-клиенты / OAuth-сервер | Приложения и grant’ы |
| Эндпоинты | Sugar vs /table/, ответы и ошибки |
| Инструкция .env | DEMO_MODE, DLEAPI_SECURE |
| Новости / пользователи / плагины | Практические HTTP-сценарии |
| SDK | DcApi в процессе PHP (Admin) |
| Настройки / уровни / шаблоны | Панель и публичный профиль |
| Безопасность | Что закрыто и как не прострелить ногу |
| Postman / XenForo | Проверки и соседние CMS |
| Миграция v1 → v2 | Если ещё тянется старый клиент |
Разделы документации
Установка
Admin, Composer в api/, таблицы, nginx
Руководства
Auth, CRUD, настройки, SDK
HTTP /api/v2
Сводка путей и фильтров
SDK (DcApi)
Фасады in-process API
OpenAPI
Спецификация для клиентов
История изменений
Что изменилось в 200.1.1
Дальше
- Установить плагин и зависимости
api/. - Пройти быстрый старт выше.
- Для внешнего клиента — auth → endpoints; для кода на сайте — SDK.