---
title: "Создание материалов Joomla с пользовательскими полями по REST API (webservice) - WebTolk"
description: "Структура данных для создания материала Joomla с пользовательскими полями через Joomla REST API. Joomla 4, Joomla 5 webserivice. Структура данных, пример кода."
url: "https://web-tolk.ru/blog/sozdanie-materialov-joomla-s-polzovatelskimi-polyami-po-rest-api-webservice"
date: "2025-04-06T10:12:51+00:00"
language: "ru-RU"
---

# Создание материалов Joomla с пользовательскими полями по REST API (webservice)

 Автор: Сергей Толкачев Создано: 06 апреля 2025 Обновлено: 01 сентября 2025 Просмотров: 945    ![](https://web-tolk.ru/blog/images/blog/sozdanie-materialov-joomla-s-polzovatelskimi-polyami-po-rest-api-webservice/header.webp)

Может я где проглядел, но те немногие источники, с которыми я бегло знаком, в основном рассказывают о том как в принципе создать материал в Joomla 4 / Joomla 5 с помощью REST API. А про пользовательские поля ничего не сказано: как в Joomla REST API к материалу добавить ещё и пользовательские поля?

**Контекст:** переношу с одного сайта на другой материалы: из Joomla 3 в Joomla 5. Для этого пишу CLI-скрипт (командная строка). Скрипт создаёт материалы на сайте-приёмнике через REST API Joomla. Собственно, похожий пример был в статье французского разработчика Александра Элизе (Alexandre Elisé), где он приводил пример консольного плагина Jiji ([статья в JCM](https://magazine.joomla.org/all-issues/april-2021/jiji-your-new-joomla-4-console-friend), [GitHub](https://github.com/alexandreelise/plg_system_jiji)).

Большая часть старых полей не нужна, поэтому обрезаем их в процессе импорта. Некоторые старые поля переходят в новые.

**Секрет со структурой данных REST API Joomla прост: нужно воссоздать структуру данных такую же, как в форме редактирования материала в админке.**

```
<?php

$this->apiUrl->setPath('/api/index.php/v1/content/articles');

$data = [
  'title'       => 'How to add an article to Joomla via the API?',
  'alias'       => 'how-to-add-article-via-joomla-api',
  'articletext' => 'I have no idea...',
  'catid'       => 12,
  'language'    => '*',
  'metadesc'    => '',
  'com_fields'     => [
    'multicategory' => 15,
    'pole-wt-yandex-map' => '55.752502,37.623095',
  ],
];

$this->sendRequest($this->apiUrl->toString(), $data);
```

Чтобы по REST API к материалу Joomla добавились ещё и поля, нужно создать элемент `com_fields`, а в него уже положить массив вида **системное имя поля => значение поля**. В примере кода выше `multicategory` - это системное имя (как-бы алиас) пользовательского поля, а 15 - его значение.

**Upd. 25.04.2025:** Всё же полезную серию статей я нашёл в Joomla Community Magazine:

- [Playing with the Joomla Web Services (API) - part 1](https://magazine.joomla.org/all-issues/march-2023/playing-with-the-joomla-api-part-1)
- [Playing with the Joomla Web Services (API) - part 2](https://magazine.joomla.org/all-issues/april-2023/playing-with-the-joomla-api-part-2)

- [Пост в Telegram](https://t.me/webtolkru/549)
- [Коллекция Joomla Web Services (Joomla REST API) Postman](https://documenter.getpostman.com/view/7443864/2s9YywfKez#dae52fb7-d932-4299-8845-90495030df7c)

## Об авторе

![Толкачев Сергей Юрьевич](https://web-tolk.ru/images/uslugi/sergey-tolkachyov-apr-2023.webp)

### Толкачев Сергей Юрьевич

Joomla-разработчик. [Контрибьютер ядра Joomla](https://github.com/joomla/joomla-cms/pulls?q=is%3Apr+author%3Asergeytolkachyov+). Один из ведущих Telegram-канала русскоязычного Joomla-сообщества [JoomlaFeed](https://t.me/joomlafeed), один из модераторов [чата русскоязычного Joomla-сообщества](https://t.me/joomlaru). Мои расширения в официальном маркетплейсе расширений Joomla - [Joomla Extensions Directory](https://extensions.joomla.org/profile/profile/details/528051/). Имею публикации в [официальном журнале международного Joomla-сообщества - Joomla Community Magazine](https://magazine.joomla.org/authors/sergeytolkachyov) и на [официальном сайте русскоязычного Joomla-сообщества](https://joomlaportal.ru/users/sergey-tolkachyov).

Муж. Отец 3 детей.

Россия, Саратов.

## JSON-LD Schema

```json
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "item": {
                "@id": "https://web-tolk.ru/",
                "name": "Главная"
            }
        },
        {
            "@type": "ListItem",
            "position": 2,
            "item": {
                "@id": "https://web-tolk.ru/blog",
                "name": "Блог"
            }
        },
        {
            "@type": "ListItem",
            "position": 3,
            "item": {
                "name": "Создание материалов Joomla с пользовательскими полями по REST API (webservice)"
            }
        }
    ]
}
```

```json
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://web-tolk.ru/#/schema/Organization/base",
            "name": "WebTolk",
            "url": "https://web-tolk.ru/",
            "logo": {
                "@type": "ImageObject",
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo",
                "url": "images/webtolk-1080p.jpg",
                "contentUrl": "images/webtolk-1080p.jpg",
                "width": 1920,
                "height": 1080
            },
            "image": {
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo"
            },
            "sameAs": [
                "https://github.com/WebTolk",
                "https://github.com/sergeytolkachyov",
                "https://vk.com/web_tolk",
                "https://vk.com/webtolkru",
                "https://tenchat.ru/sergeytolkachyov",
                "https://t.me/sergeytolkachyov",
                "https://t.me/webtolkru"
            ]
        },
        {
            "@type": "WebSite",
            "@id": "https://web-tolk.ru/#/schema/WebSite/base",
            "url": "https://web-tolk.ru/",
            "name": "WebTolk",
            "publisher": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            }
        },
        {
            "@type": "WebPage",
            "@id": "https://web-tolk.ru/#/schema/WebPage/base",
            "url": "https://web-tolk.ru/blog/sozdanie-materialov-joomla-s-polzovatelskimi-polyami-po-rest-api-webservice",
            "name": "Создание материалов Joomla с пользовательскими полями по REST API (webservice) - WebTolk",
            "description": "Структура данных для создания материала Joomla с пользовательскими полями через Joomla REST API. Joomla 4, Joomla 5 webserivice. Структура данных, пример кода.",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebSite/base"
            },
            "about": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            },
            "inLanguage": "ru-RU",
            "breadcrumb": {
                "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17"
            }
        },
        {
            "@type": "Article",
            "@id": "https://web-tolk.ru/#/schema/com_content/article/131",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebPage/base"
            }
        }
    ]
}
```
