Пользовательские эндпоинты
Создавайте пользовательские схемы с индивидуальными правилами доступа для разных пользователей, каждая из которых доступна по собственному эндпоинту.
Описание
GraphQL-сервер обычно предоставляет единственный эндпоинт для получения и отправки данных.
Помимо поддержки единого эндпоинта, Gato GraphQL также позволяет создавать пользовательские эндпоинты, предоставляя различные конфигурации схемы для удовлетворения потребностей разных целевых аудиторий, например:
- Конкретный клиент или пользователь
- Группа пользователей с расширенным доступом к функциям (например, PRO-пользователи)
- Одно из нескольких приложений — мобильное приложение или веб-сайт
- Сторонние API
- Любой другой случай
Пользовательский эндпоинт — это Custom Post Type, а его permalink является адресом эндпоинта. Эндпоинт с заголовком "My endpoint" и слагом my-endpoint будет доступен по адресу /graphql/my-endpoint/.

Клиенты
Каждый пользовательский эндпоинт имеет собственный набор клиентов для взаимодействия:
✅ Клиент GraphiQL, доступный по адресу эндпоинта + ?view=graphiql (например: /graphql/my-endpoint/?view=graphiql).
Модуль GraphiQL для пользовательских эндпоинтов должен быть включён.

✅ Клиент интерактивной схемы, доступный по адресу эндпоинта + ?view=schema (например: /graphql/my-endpoint/?view=schema).
Модуль Interactive Schema для пользовательских эндпоинтов должен быть включён.

Создание пользовательского эндпоинта
При нажатии на ссылку «Пользовательские эндпоинты» в меню отображается список всех созданных пользовательских эндпоинтов:

Пользовательский эндпоинт — это custom post type (CPT). Чтобы создать новый пользовательский эндпоинт, нажмите кнопку «Добавить новый GraphQL-эндпоинт», которая откроет редактор WordPress:

Когда пользовательский эндпоинт готов, опубликуйте его — его permalink станет URL эндпоинта. Ссылки на эндпоинт (а также на источник и клиенты) отображаются на боковой панели «Обзор пользовательского эндпоинта»:

Добавив ?view=source к permalink, можно увидеть конфигурацию эндпоинта (при условии, что пользователь вошёл в систему и его роль имеет соответствующий доступ):

По умолчанию пользовательский эндпоинт имеет путь /graphql/, и это значение можно изменить через Настройки:

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

Организация пользовательских эндпоинтов по категориям
На боковой панели «Категории эндпоинтов» можно добавлять категории для удобного управления пользовательским эндпоинтом:

Например, можно создавать категории для управления эндпоинтами по клиенту, приложению или любому другому необходимому признаку:

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


Приватные эндпоинты
Установив статус пользовательского эндпоинта как private, можно ограничить доступ к нему только для администратора. Это предотвращает непреднамеренный доступ к данным со стороны пользователей, которым он не предназначен.
Например, можно создавать приватные пользовательские эндпоинты для управления приложением — в частности, для получения данных и формирования отчётов с нашими метриками.

Эндпоинты, защищённые паролем
Если создаётся пользовательский эндпоинт для конкретного клиента, ему можно назначить пароль, чтобы обеспечить дополнительный уровень защиты и гарантировать, что только этот клиент получит доступ к эндпоинту.

При первом обращении к эндпоинту, защищённому паролем (будь то прямой доступ к эндпоинту или к его клиентам GraphiQL или Interactive Schema), пользователь видит экран с запросом пароля:

После ввода и проверки пароля пользователь получает доступ к нужному эндпоинту или клиенту:
