В этом справочнике перечислены методы , основного сервиса Модуля интеграций. Код с доступом к контейнеру Medusa, например API-роут, подписчик, запланированная задача или шаг воркфлоу, получает его по ключу :
src/api/admin/my-integration/route.ts1import type { MedusaRequest, MedusaResponse } from "@medusajs/framework/http"2import { INTEGRATION_MODULE, IntegrationModuleService } from "@gorgo/medusa-integration"34export async function GET(req: MedusaRequest, res: MedusaResponse) {5 const integrationModuleService: IntegrationModuleService = req.scope.resolve(INTEGRATION_MODULE)67 const { integrations } = await integrationModuleService.listIntegrationsOverview({ category: "payment" })89 res.json({ provider_ids: integrations.map((integration) => integration.provider_id) })10}
возвращает все зарегистрированные платёжные инстансы с их состоянием, а роут отдаёт их ключи. Провайдер в изолированном контейнере своего модуля так получить сервис не может, поэтому читает параметры через , подробнее в руководстве Чтение параметров.
Меняйте настройки только через воркфлоу модуля. Методы управления данными сервиса, например , записывают данные как есть. Они не проверяют значения и не шифруют секреты, не отправляют событие , поэтому потребители продолжают получать параметры из кэша, и не оставляют записи в истории изменений.
| Метод | Возвращает | Описание |
|---|---|---|
| Расшифрованные и проверенные параметры инстанса с подставленными значениями по умолчанию в виде или , если интеграция не настроена, выключена или не заполнена. Бросает обычный , а не , если под этими идентификатором и инстансом не зарегистрирован ни один провайдер. Бросает , если сохранённый секрет не удаётся расшифровать. Результат кэшируется на срок до 60 секунд. | ||
| Сбрасывает кэш параметров одного инстанса или, без аргумента, всех инстансов. |
| Метод | Возвращает | Описание |
|---|---|---|
| Зарегистрирован ли провайдер под этим ключом инстанса. | ||
| Дескриптор провайдера вместе с и . | ||
| Дескриптор, подготовленный для Admin, с секциями, полями и раскладкой. | ||
| То же для всех зарегистрированных инстансов. | ||
| Идентификаторы секретных параметров провайдера. | ||
| Данные npm-пакета, из которого пришёл провайдер, или значения , если их не удалось найти. |
описывает , который возвращает , с , и дескриптора, его i18n-ключами и иконкой, раскладкой, и с их . Корень пакета экспортирует его вместе с и , типами секции и поля.
Корень пакета экспортирует , и , типы метода .
Методы , , и расшифровывают сохранённые секреты, и нужен им, только если в записи есть значение, которое нужно расшифровать. Они бросают с типом , если не задан, если это не тот ключ, с которым секрет сохранили, или если секрет хранится в версии формата, которую установленный модуль не знает. Сообщения об ошибках и то, как сохранить ключ неизменным, описаны в разделе Параметры Модуля интеграций. Как эти методы читают значение, сохранённое до смены флага у параметра, читайте на странице Дескриптор провайдера интеграций.
| Метод | Возвращает | Описание |
|---|---|---|
| Выполняет проверку соединения провайдера с итоговыми параметрами. Результаты, которые модуль формирует сам, перечислены в разделе Воркфлоу Модуля интеграций. Не сохраняет и не отправляет . Оба действия выполняет . Если сохранённый секрет не удаётся расшифровать, не бросает ошибку, а сообщает с её текстом. |
| Метод | Возвращает | Описание |
|---|---|---|
| содержит пользователей Admin, которые вносили изменения, в виде объектов с email из их последнего изменения. показывает, вносил ли изменения кто-то ещё. | ||
| Все идентификаторы и ключи меток параметров, которые упоминаются в истории, в виде , включая параметры и интеграции, которых уже нет. | ||
| Сохраняет одну запись истории и возвращает её идентификатор. имеет тип , который экспортируется из корня пакета. Обязательны , (, , , или ) и (). Необязательны , (), и , по умолчанию это текущее время. Никогда не бросает исключений. При ошибке пишет предупреждение в лог и возвращает . Воркфлоу модуля вызывают его через . |
Чтобы прочитать сами записи, используйте сгенерированные методы ниже. Они возвращают сохранённые строки как есть. В отличие от API-роутов Admin, они не скрывают значения параметров, которые стали секретными после записи изменения. Корень пакета экспортирует и .
| Метод | Возвращает | Описание |
|---|---|---|
| Каталог интеграций с и для каждой записи, зарегистрированной в проекте. | ||
| Последний результат проверки лицензии каждой платной интеграции Gorgo. | ||
| Сразу проверяет лицензии и возвращает свежие результаты. |
Элемент каталога типа представляет собой запись каталога Gorgo с полями , , , , и другими, к которым добавлены и . Запись о лицензии типа представляет собой вердикт по одному npm-пакету с полями , , , , и провайдеров, которые поставляет пакет. Корень пакета экспортирует оба типа. Admin API возвращает те же структуры, его роуты описаны в разделе Каталог и лицензии.
Сервис расширяет из Medusa, который генерирует методы управления данными для обеих моделей данных:
Для чтения используйте методы и . Они возвращают записи типов и , которые экспортируются из корня пакета. В сохранённых записи секреты хранятся зашифрованными. Параметры этих методов описаны в справочнике по фабрике сервисов Medusa.