В этом справочнике перечислены API-роуты, которые Модуль интеграций добавляет в . Medusa Admin пользуется ими на всех страницах интеграций, а ваши скрипты и собственные виджеты тоже могут ими пользоваться.
Как и любые роуты Medusa в , они требуют аутентифицированного пользователя Admin или секретный ключ API. Роут с отвечает с типом и сообщением , если под этим ключом не зарегистрирован ни один провайдер.
Роуты, которые принимают тело или параметры запроса, проверяют их строго. На неизвестный ключ или значение вне допустимого диапазона они отвечают с сообщением, которое начинается с . Тело проверяется раньше провайдера, поэтому на неверное тело для неизвестного провайдера роут тоже отвечает .
Роуты, которые меняют настройки, передают в воркфлоу аутентифицированного автора, а также IP-адрес, клиент и ID запроса, чтобы в истории изменений был указан автор.
принимает такие параметры запроса:
Роут возвращает . Каждый элемент содержит , , и инстанса, i18n-ключи и , , данные пакета , и , флаги , , и , а также . перечисляет категории всех зарегистрированных инстансов независимо от фильтров.
принимает тело с такими полями:
Например, чтобы сохранить секцию с учётными данными интеграции :
1curl -X POST "http://localhost:9000/admin/integrations/int_my" \2 -H "Authorization: Bearer {token}" \3 -H "Content-Type: application/json" \4 --data '{ "section_id": "credentials", "values": { "apiKey": "sk_test_123", "sandbox": true } }'
В ответ приходит , сохранённая запись без секретов. из запроса упоминается в ней только по имени, в . Если значение не проходит валидацию, роут отвечает , а в сообщении каждая проблема записана как . На неизвестный роут тоже отвечает с типом и сообщением .
принимает тело с обязательным булевым полем и возвращает . Для зарегистрированного провайдера, у которого ещё ничего не сохранено, роут отвечает с типом и сообщением . Если установить состояние, в котором интеграция уже находится, роут ответит и ничего не запишет в историю изменений.
не принимает тело и возвращает , где содержит ключ инстанса. Роут отвечает , даже если ничего не было сохранено.
не принимает тело и для зарегистрированного провайдера всегда отвечает с , где равно , или . Для интеграции, которая не настроена, выключена или не завершена, роут возвращает с сообщением , а если тест выбросил ошибку, то с сообщением этой ошибки. Если в дескрипторе нет проверки соединения, результат с сообщением .
, и роут возвращают сохранённую запись в таком виде. Значения секретов сервер никогда не отдаёт.
Medusa Admin показывает этот объект в секции JSON на странице интеграции.
оборачивает её в . равно до первого сохранения, а содержит дескриптор, подготовленный для Admin, с секциями, полями и раскладкой.
| Метод | Путь | Что делает |
|---|---|---|
| Возвращает изменения всех интеграций. | ||
| Возвращает изменения одной интеграции. | ||
| Возвращает одно изменение. | ||
| Возвращает авторов изменений для фильтра по автору. | ||
| Возвращает параметры, которые упоминаются в истории, для поиска. |
История доступна только для чтения, и эти роуты принимают только . или на попадает в роуты с , которые воспринимают как ключ инстанса и отвечают ( для с неверным телом).
Оба роута со списком принимают такие параметры запроса:
Роуты возвращают , по умолчанию сначала новые.
возвращает , одно изменение со всеми полями, включая , и . Роут принимает и отвечает для неизвестного идентификатора.
возвращает . Каждый элемент имеет вид , а список отсортирован по . В попадает текущее имя пользователя, а если его нет, то текущий email, затем email, сохранённый с изменениями пользователя, а иначе . равно , если какое-либо изменение сделал не пользователь Admin, а, например, ключ API или код, выполненный без запроса.
возвращает , по одному на каждую пару идентификатора параметра и ключа метки, которые упоминаются в истории, включая параметры и интеграции, которых уже нет. содержит идентификатор параметра или для названия записи, а содержит ключ метки, сохранённый вместе с изменением, или .
Все роуты сверяют с текущим дескриптором. Значение параметра, который стал секретным после записи изменения, возвращается как . Изменения провайдера, который больше не зарегистрирован, возвращаются в том виде, в каком были сохранены.
| Метод | Путь | Что делает |
|---|---|---|
| Возвращает каталог интеграций, объединённый с состоянием установки в проекте, в виде . | ||
| Возвращает последний результат проверки лицензии каждого лицензируемого пакета в виде . | ||
| Сразу проверяет лицензии и возвращает свежие результаты в том же виде. |
возвращает . Каждый элемент является записью каталога Gorgo с полями и , которые равны и , если интеграция не зарегистрирована в проекте.
возвращает , последний результат проверки для каждого лицензируемого пакета, о котором знает процесс. Сюда входит и пакет, в котором нет провайдера интеграции, и тогда его пуст. Роут отдаёт то, что нашла последняя проверка, и не обращается к сервису лицензий.
проверяет лицензии сразу и возвращает свежие результаты в том же виде, но только в том процессе, который получил запрос. Остальные процессы сервера проверяют по своему расписанию. Как лицензируются платные плагины, читайте в разделе Лицензии на платные плагины.