Endpoints Personalizados
Crea esquemas personalizados, con reglas de acceso personalizadas para diferentes usuarios, cada uno disponible bajo su propio endpoint.
Descripción
Un servidor GraphQL normalmente expone un único endpoint para recuperar y enviar datos.
Además de soportar el endpoint único, Gato GraphQL también permite crear endpoints personalizados, proporcionando diferentes configuraciones de esquema para cubrir las necesidades de diferentes destinatarios, tales como:
- Un cliente o usuario específico
- Un grupo de usuarios con más acceso a funcionalidades (como usuarios PRO)
- Una de varias aplicaciones, como app móvil o sitio web
- APIs de terceros
- Cualquier otro
El endpoint personalizado es un Custom Post Type, y su permalink es el endpoint. Un endpoint con el título "My endpoint" y slug my-endpoint será accesible en /graphql/my-endpoint/.

Clientes
Cada endpoint personalizado tiene su propio conjunto de clientes con los que interactuar:
✅ Un cliente GraphiQL, disponible en el endpoint + ?view=graphiql (por ejemplo: /graphql/my-endpoint/?view=graphiql).
Debe estar habilitado el módulo GraphiQL para Endpoints Personalizados.

✅ Un cliente Interactive schema, disponible en el endpoint + ?view=schema (por ejemplo: /graphql/my-endpoint/?view=schema).
Debe estar habilitado el módulo Interactive Schema para Endpoints Personalizados.

Creación de un Endpoint Personalizado
Al hacer clic en el enlace Endpoints Personalizados del menú, se muestra la lista de todos los endpoints personalizados creados:

Un endpoint personalizado es un custom post type (CPT). Para crear un nuevo endpoint personalizado, haz clic en el botón "Añadir Nuevo endpoint GraphQL", que abrirá el editor de WordPress:

Cuando el endpoint personalizado esté listo, publícalo, y su permalink se convertirá en la URL del endpoint. Los enlaces al endpoint (y al source y los clientes) se muestran en el panel lateral "Resumen del Endpoint Personalizado":

Añadiendo ?view=source al permalink, se mostrará la configuración del endpoint (siempre que el usuario haya iniciado sesión y el rol del usuario tenga acceso):

Por defecto, el endpoint personalizado tiene la ruta /graphql/, y este valor es configurable mediante los Ajustes:

Configuración del esquema
La definición de qué elementos contiene el esquema, y qué acceso tendrán los usuarios al mismo, se define en la configuración del esquema.
Por tanto, debemos crear una configuración del esquema, y luego seleccionarla desde el desplegable:

Organizando Endpoints Personalizados por Categoría
En el panel lateral "Categorías de endpoint" podemos añadir categorías para ayudar a gestionar el Endpoint Personalizado:

Por ejemplo, podemos crear categorías para gestionar endpoints por cliente, aplicación, o cualquier otra información necesaria:

En la lista de Endpoints Personalizados podemos visualizar sus categorías y, haciendo clic en cualquier enlace de categoría, o usando el filtro de la parte superior, solo se mostrarán todas las entradas de esa categoría:


Endpoints privados
Estableciendo el estado del Endpoint Personalizado como private, el endpoint solo podrá ser accedido por el usuario administrador. Esto evita que nuestros datos sean compartidos involuntariamente con usuarios que no deben tener acceso a ellos.
Por ejemplo, podemos crear Endpoints Personalizados privados que ayuden a gestionar la aplicación, como obtener datos para crear informes con nuestras métricas.

Endpoints protegidos con contraseña
Si creamos un Endpoint Personalizado para un cliente específico, ahora podemos asignarle una contraseña, para proporcionar un nivel adicional de seguridad y que solo ese cliente acceda al endpoint.

Cuando se accede por primera vez a un endpoint protegido con contraseña (ya sea accediendo al endpoint directamente, o a sus clientes GraphiQL o Interactive Schema), nos encontramos con una pantalla que solicita la contraseña:

Una vez que se proporciona y valida la contraseña, solo entonces el usuario accederá al endpoint o cliente previsto:
