---
title: "Двухсторонняя синхронизация пользователей Joomla и контактов AmoCRM - WebTolk"
description: "Как для всех контактов в AmoCRM создать профиль пользователя Joomla. Как для пользователей Joomla при регистрации на сайте создавать контакт в AmoCRM."
url: "https://web-tolk.ru/dev/biblioteki/wt-amo-crm-library/documentation/two-way-synchronization-of-joomla-users-and-amocrm-contacts"
date: "2026-06-19T05:14:39+00:00"
language: "ru-RU"
---

# Двухсторонняя синхронизация пользователей Joomla и контактов AmoCRM

WT Amo CRM library - Документация

**Категория:** [Библиотеки](https://web-tolk.ru/dev/biblioteki)

[Проект](https://web-tolk.ru/dev/biblioteki/wt-amo-crm-library)[Версии](https://web-tolk.ru/dev/biblioteki/wt-amo-crm-library/versions)[Документация](https://web-tolk.ru/dev/biblioteki/wt-amo-crm-library/documentation)[GitHub](https://github.com/WebTolk/WT-Amo-CRM-library-for-Joomla-4)

Как для всех контактов в AmoCRM создать профиль пользователя Joomla. Как для пользователей Joomla при регистрации на сайте создавать контакт в AmoCRM.

В комплект библиотеки WT AmoCRM входит плагин **Пользователь - WT AmoCRM user synс**, который предлагает базовые сценарии интеграции Joomla и AmoCRM в обе стороны.

Интеграция двух различных систем - процесс сложный, в котором нужно учитывать множество нюансов и логику конкретного бизнеса. Поэтому детали каждой конкретной интеграции могут порой сильно отличаться. Возможно, что в некоторых случаях проще создать несколько собственных плагинов для решения своих задач. Данный плагин не является абсолютно универсальным инструментом и может не полностью отвечать вашим запросам.

Включите плагин **Пользователь - WT AmoCRM user synс** в разделе **Система - Управление - Плагины**. Плагин можно найти в поиске по слогу **amo** или с помощью фильтров (параметры поиска).

 ![Как найти плагин интеграции Joomla с AmoCRM](https://web-tolk.ru/dev/biblioteki/wt-amo-crm-library/documentation/images/development/joomla/libraries/wt_amocrm/joomla-amocrm-user-synchronization/1-ru.webp)Как найти плагин интеграции Joomla с AmoCRM

## Создание контактов AmoCRM при регистрации или создании пользователя Joomla

**Источник данных:** Joomla. **Приёмник данных:** AmoCRM.

Настройки плагина:

 Создавать контакт в AmoCRM?Да или нет. При создании пользователя Joomla или его самостоятельной регистрации будет создан контакт в AmoCRM.Теги контактовВыпадающий список с тегами, которые загружаются из AmoCRM. Если выбрано, то новым контактам будут присвоены теги AmoCRM. ![Выбор тега AmoCRM для контакта при создании пользователя Joomla](https://web-tolk.ru/dev/biblioteki/wt-amo-crm-library/documentation/images/development/joomla/libraries/wt_amocrm/joomla-amocrm-user-synchronization/2-ru.webp)Выбор тега AmoCRM для контакта при создании пользователя JoomlaОбновлять данные контакта в AmoCRM при обновлении в Joomla?Да или нет. Если данные пользователя Joomla изменяются делать ли обновление данных в связанном контакте AmoCRM?Поле для ссылки пользователя JoomlaДля контакта AmoCRM можно создать поле типа **ссылка**, в которой будет храниться ссылка на пользователя Joomla для контакта AmoCRM. Удобно использовать для быстрого перехода между интерфейсами Joomla и AmoCRM.
 ![Поле профиля Joomla в интерфейсе контакта AmoCRM](https://web-tolk.ru/dev/biblioteki/wt-amo-crm-library/documentation/images/development/joomla/libraries/wt_amocrm/joomla-amocrm-user-synchronization/3.webp)Поле профиля Joomla в интерфейсе контакта AmoCRM На странице редактирования пользователя Joomla добавляется вкладка "AmoCRM", где можно найти прямую ссылку на контакт этого пользователя в AmoCRM.
 ![Ссылка на контакт AmoCRM в профиле пользователя Joomla](https://web-tolk.ru/dev/biblioteki/wt-amo-crm-library/documentation/images/development/joomla/libraries/wt_amocrm/joomla-amocrm-user-synchronization/4-ru.webp)Ссылка на контакт AmoCRM в профиле пользователя Joomla

## Настройка сопоставления полей пользователя Joomla и полей контакта AmoCRM

Настройте сопоставление полей контакта AmoCRM и пользователя Joomla. Вы можете хранить данные полей в свойстве `params` объекта пользователя (для разработчиков) или в пользовательских полях.

Эти настройки так же используются при работе входящих вебхуков из AmoCRM и плагином CLI-импорта контактов из AmoCRM **Console - WT Import AmoCRM contacts**.

 ![Сопоставление полей данных AmoCRM и Joomla](https://web-tolk.ru/dev/biblioteki/wt-amo-crm-library/documentation/images/development/joomla/libraries/wt_amocrm/joomla-amocrm-user-synchronization/5-ru.webp)Сопоставление полей данных AmoCRM и Joomla

### В чём отличия между пользовательскими полями и свойством `$user['params']`?

Главное отличие - это место хранения данных и возможности их редактирования и очистки.

### Хранение данных в пользовательских полях Joomla для пользователей

**Пользовательские поля Joomla** предварительно создаются вручную в панели администратора. После этого вы выбираете какое свойство контакта AmoCRM в какое поле пользователя Joomla попадёт. Значения полей технически хранятся в отдельной таблице в базе данных `#__field_values`. Поля Joomla используют `ACL` (Access Control List) - группы прав доступа. Это значит, что для разных уровней доступа вы можете управлять видимостью данных, полученных из AmoCRM. Вы можете изменять их, редактируя пользователя.

В коде для получения данных полей для пользователя используется `FieldsHelper`.

```
<?php
use Joomla\Component\Fields\Administrator\Helper\FieldsHelper;
 /**
     * @param   string             $context              The context of the content passed to the helper
     * @param   object|array|null  $item                 The item being edited in the form
     * @param   int|bool           $prepareValue         (if int is display event): 1 - AfterTitle, 2 - BeforeDisplay, 3 - AfterDisplay, 0 - OFF
     * @param   ?array             $valuesToOverride     The values to override
     * @param   bool               $includeSubformFields Should I include fields marked as Only Use In Subform?
     *
     * @return  array
     */
$fields = FieldsHelper::getFields('com_users.user', ['id' => $urser_id], true);

// Joomla uses Symfony vardamper
dump($fields );
```

**Из неочевидных минусов:** поскольку `FieldsHelper` использует ACL - ему нужна сессия для определения текущего пользователя. В некоторых случаях (внешние запросы без cookie например) сессия не создаётся и получить поле через `FieldsHelper` не представляется возможным.

### Хранение данных в свойстве `$user['params']` объекта пользователя.

`params` - это ячейка таблицы `#__users` в Joomla, где можно хранить нужные вам данные в **json** формате. Плюсы такого подхода в том, что вам не требуется использовать `FieldsHelper` для получения данных контакта AmoCRM. **Каждый раз, когда вы получаете объект пользователя - у вас уже есть эти данные сразу.** Это очень удобно в случаях больших и долгих циклов, где **не нужно делать отдельный запрос в базу на каждую итерацию** или строить дополнительные `JOIN` в SQL-запросах. Учитывая, что `FieldsHelper` использует ACL - это прибавляет ещё несколько `JOIN` и дополнительных запросов в таблицы с хранением прав доступа.

В своём коде вы получаете пользователя и просто обращаетесь к его свойству `params`. При этом `params` - это json-строка, которую можно преобразовать для удобства в объект `Registry` самостоятельно. Однако, вы можете обратиться к "готовому" свойству через метод `getParam($key, $default_value)`;

```
<?php
use Joomla\CMS\Factory;
use Joomla\CMS\User\User;

$app = Factory::getApplication();
$user = $app->getIdentity();

// Аналогично
$user_id = 17;
$user = new User($user_id );

$telegram = $user->getParam('amocrm.telegram', null);
```

**Минусы такого подхода:** эти данные нигде недоступны в панели администратора в стандартном исполнении. Управлять этими данными можно только в коде.

Выбор того или иного места хранения данных для каждого свойства контакта AmoCRM напрямую зависит от особенностей вашей интеграции и нюансов работы с данными.

Продолжение следует...

## 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/dev",
                "name": "Расширения Joomla"
            }
        },
        {
            "@type": "ListItem",
            "position": 3,
            "item": {
                "@id": "/dev/biblioteki",
                "name": "Библиотеки"
            }
        },
        {
            "@type": "ListItem",
            "position": 4,
            "item": {
                "@id": "/dev/biblioteki/wt-amo-crm-library",
                "name": "WT Amo CRM library"
            }
        },
        {
            "@type": "ListItem",
            "position": 5,
            "item": {
                "@id": "/dev/biblioteki/wt-amo-crm-library/documentation",
                "name": "Документация"
            }
        },
        {
            "@type": "ListItem",
            "position": 6,
            "item": {
                "name": "Двухсторонняя синхронизация пользователей Joomla и контактов AmoCRM"
            }
        }
    ]
}
```

```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/dev/biblioteki/wt-amo-crm-library/documentation/two-way-synchronization-of-joomla-users-and-amocrm-contacts",
            "name": "Двухсторонняя синхронизация пользователей Joomla и контактов AmoCRM - WebTolk",
            "description": "Как для всех контактов в AmoCRM создать профиль пользователя Joomla. Как для пользователей Joomla при регистрации на сайте создавать контакт в AmoCRM.",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebSite/base"
            },
            "about": {
                "@id": "https://web-tolk.ru/#/schema/TechArticle/base"
            },
            "inLanguage": "ru-RU",
            "breadcrumb": {
                "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17"
            }
        },
        {
            "@type": "TechArticle",
            "headline": "Двухсторонняя синхронизация пользователей Joomla и контактов AmoCRM",
            "url": "https://web-tolk.ru/dev/biblioteki/wt-amo-crm-library/documentation/two-way-synchronization-of-joomla-users-and-amocrm-contacts",
            "description": "Как для всех контактов в AmoCRM создать профиль пользователя Joomla. Как для пользователей Joomla при регистрации на сайте создавать контакт в AmoCRM.",
            "mainEntityOfPage": {
                "@type": "WebPage",
                "url": "https://web-tolk.ru/dev/biblioteki/wt-amo-crm-library/documentation/two-way-synchronization-of-joomla-users-and-amocrm-contacts"
            }
        }
    ]
}
```
