Command Palette

Search for a command to run...

Провайдер Модуля интеграций

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

Что такое провайдер Модуля интеграций

Провайдер Модуля интеграций объявляет интеграцию: её параметры, их группировку в секции настроек и необязательную проверку соединения. Администратор магазина настраивает её в Admin, без правок и без повторного развёртывания.

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

Каждый провайдер, зарегистрированный в параметре Модуля интеграций, представлен в базе данных моделью данных .

Создание собственного провайдера Модуля интеграций

Провайдер Модуля интеграций представляет собой модуль, чей сервис расширяет , импортированный из . Как и у других провайдеров Medusa, один модуль может регистрировать несколько сервисов провайдера Модуля интеграций, каждый со своим , и каждый становится отдельным провайдером.

объявляет следующие члены класса:

Вот минимальная форма провайдера со всеми членами класса из таблицы выше, кроме тех, что уже реализует базовый класс:

providers/integration-my/services/my-integration.ts
1import { AbstractIntegrationProvider } from "@gorgo/medusa-integration"
2
3class MyIntegrationProvider extends AbstractIntegrationProvider {
4 static identifier = "my"
5
6 static validateOptions(options: Record<string, unknown>) {
7 // необязательная fail-fast проверка
8 }
9
10 get descriptor() {
11 return descriptor
12 }
13}
14
15export default MyIntegrationProvider

здесь представляет собой результат . Все поля, которые он принимает, смотрите на странице Дескриптор провайдера интеграций. и в примере не показаны: уже реализует оба метода через аргумент конструктора, поэтому подкласс добавляет только , и, опционально, .

Полный пошаговый пример с кодом смотрите в разделе Как создать провайдер Модуля интеграций.

Регистрация провайдеров Модуля интеграций

Настройка провайдеров Модуля интеграций

Модуль интеграций принимает параметр , в котором вы настраиваете провайдеры, зарегистрированные в вашем приложении, а также параметр , используемый для секретных полей модуля. Точную структуру смотрите в шаге 4 руководства «Как создать провайдер Модуля интеграций».

Регистрация при старте приложения

При старте приложения Medusa Модуль интеграций регистрирует каждый провайдер из параметра . Для каждой записи он объединяет класса провайдера с записи в ключ . Это тот же формат, что используется для этого инстанса в базе данных. Затем он создаёт провайдер через .

Модель данных

Инстанс зарегистрированного провайдера Модуля интеграций представлен в приложении Medusa моделью данных .

Внимание: 

Собственный модели служит лишь её внутренним идентификатором записи, таким же, как у любой другой модели данных Medusa. Это не то же самое, что , поле, которое хранит ключ из раздела Инстансы и их идентификаторы.

Удаление провайдера Модуля интеграций

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

Внимание: 

Удалите интеграцию из Admin, прежде чем убирать провайдер из , а не наоборот. Как только провайдер исчезает из конфигурации, его запись становится недостижима, в том числе через сам роут удаления, и остаётся в базе данных без возможности удалить её из Admin. Обычный порядок удаления описан в разделе Удаление интеграции.

Чтобы временно прекратить использование провайдера, сохранив его настройки и возможность быстро вернуть его обратно, отключите интеграцию из Admin вместо удаления провайдера из . См. Включение и отключение интеграции.

Материалы

Изменено 25 сентября 2026 г.·Редактировать страницу