Что лучше для внешних API-вызовов: компонент темы или плагин?

У нас есть программа сертификации, и мы хотим позволить пользователям присоединяться к группе сертифицированных после подтверждения их ID сертификации.

Текущая идея:

  • Добавить кнопку в слот плагина
  • При клике открывать модальное окно для ввода ID сертификации
  • Отправлять ID в API и отображать сообщение в зависимости от результата
  • Добавлять пользователя в группу, если он подтверждён

Хочу понять, лучше ли это реализовать как плагин или как компонент темы, поскольку это связано с вызовами API.

Это всё в полном объёме:

Но всё зависит от того, выдаёт ли ваша программа сертификации верифицируемые учётные данные…

Думаю, тут есть небольшая разница :thinking: Наша сертификация означает, что «кто-то завершил курс и получил сертификат с идентификатором».

Это внутренняя система, а не существующая платформа, если это имеет значение. Сейчас она принимает два элемента информации (электронную почту пользователя и ID) и возвращает список завершенных им сертификаций.

Возможно, вы сможете обойтись пользовательским полем, которое доступно через API.

Если нет, вам понадобится плагин.

Но вам нужно будет определить, кто что может видеть.

Например, является ли эта информация конфиденциальной для пользователя или её можно показывать другим и т. д.

См.:

Удивительно!

Так, думаю вслух:

  • Поле пользователя, видимое только самому пользователю (плюс администраторы и т.д.)
  • Вебхук при «обновлении пользователя» должен содержать ID
  • Отправить данные в «промежуточный сервис», который может проверить API сертификации, а затем вызвать API Discourse для добавления в группу

Звучит как самый прямой подход, а не плагин.