DevCraft Документации
Гайды

Доп. поля и новости v200.1.0

Каталог xfields, encode в строку DLE, запись в новость и фильтр xf[].

Доп. поля новости в DLE хранятся одной строкой в колонке xfields. API умеет: посмотреть каталог полей, собрать строку из JSON и отфильтровать новости по полю.

Создание новости без деталей xfields: posts-create. Поиск: posts-search.

Что нужно заранее

  • Bearer — auth
  • Права на post и работу с /xfields/post/

1. Каталог полей

GET /api/v2/xfields/post/
Authorization: Bearer <access_token>

scope бывает post или user. Одно поле: GET /xfields/post/{name}.

2. Собрать строку: encode

curl -sS -X POST 'https://ВАШ_САЙТ/api/v2/xfields/post/encode' \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Content-Type: application/json' \
  -d '{"fields":{"linked_data":"значение","note":"a|b"}}'

Ответ: { "raw": "…", "parsed": { … }, "scope": "post" }. Поле raw кладите в новость.

3. Записать в новость

Как в posts-create, добавьте "xfields": "<raw из encode>" в тело POST /post/ или в PUT /table/post/{id}.

4. Найти по доп. полю

GET /api/v2/post/?xf[linked_data]=значение
Authorization: Bearer <access_token>

Подробнее про остальные фильтры: posts-search.

5. Прочитать разобранные поля

GET /post/{id} часто отдаёт xfields как { "raw": "…", "parsed": { … } } и иногда xfields_schema.

Через SDK

DcApi::news()->withXfield('foo', 'bar')->create() и DcApi::modifyXfield('post')SDK.

См. также

На этой странице