Endpoints Personalizados
Crie schemas personalizados, com regras de acesso personalizadas para diferentes usuários, cada um disponível em seu próprio endpoint.
Descrição
Um servidor GraphQL normalmente expõe um único endpoint para recuperar e enviar dados.
Além de suportar o endpoint único, o Gato GraphQL também possibilita a criação de endpoints personalizados, fornecendo diferentes configurações de schema para atender às necessidades de diferentes destinos, como:
- Um cliente ou usuário específico
- Um grupo de usuários com maior acesso a recursos (como usuários PRO)
- Uma das várias aplicações, como um app mobile ou site
- APIs de terceiros
- Qualquer outro caso
O endpoint personalizado é um Custom Post Type, e seu permalink é o endpoint. Um endpoint com título "My endpoint" e slug my-endpoint estará acessível em /graphql/my-endpoint/.

Clientes
Cada endpoint personalizado possui seu próprio conjunto de clientes para interagir com ele:
✅ Um cliente GraphiQL, disponível no endpoint + ?view=graphiql (ex.: /graphql/my-endpoint/?view=graphiql).
O módulo GraphiQL for Custom Endpoints deve estar habilitado.

✅ Um cliente de schema interativo, disponível no endpoint + ?view=schema (ex.: /graphql/my-endpoint/?view=schema).
O módulo Interactive Schema for Custom Endpoints deve estar habilitado.

Criando um Endpoint Personalizado
Clicando no link Endpoints Personalizados no menu, é exibida a lista de todos os endpoints personalizados criados:

Um endpoint personalizado é um custom post type (CPT). Para criar um novo endpoint personalizado, clique no botão "Add New GraphQL endpoint", que abrirá o editor do WordPress:

Quando o endpoint personalizado estiver pronto, publique-o, e seu permalink se torna a URL do endpoint. Os links para o endpoint (e para a fonte e os clientes) são exibidos no painel lateral "Custom Endpoint Overview":

Ao acrescentar ?view=source ao permalink, será exibida a configuração do endpoint (desde que o usuário esteja logado e seu perfil tenha acesso a ele):

Por padrão, o endpoint personalizado possui o caminho /graphql/, e esse valor é configurável nas Configurações:

Configuração do schema
A definição dos elementos que o schema contém, e o acesso que os usuários terão a ele, é definida na configuração do schema.
Portanto, devemos criar uma configuração de schema e, em seguida, selecioná-la no menu suspenso:

Organizando Endpoints Personalizados por Categoria
No painel lateral "Endpoint categories" podemos adicionar categorias para ajudar a gerenciar o Endpoint Personalizado:

Por exemplo, podemos criar categorias para gerenciar endpoints por cliente, aplicação ou qualquer outra informação necessária:

Na lista de Endpoints Personalizados, podemos visualizar suas categorias e, clicando em qualquer link de categoria, ou usando o filtro no topo, serão exibidas apenas as entradas daquela categoria:


Endpoints privados
Ao definir o status do Endpoint Personalizado como private, o endpoint só poderá ser acessado pelo usuário administrador. Isso evita que nossos dados sejam compartilhados inadvertidamente com usuários que não deveriam ter acesso a eles.
Por exemplo, podemos criar Endpoints Personalizados privados que auxiliam no gerenciamento da aplicação, como a recuperação de dados para criar relatórios com nossas métricas.

Endpoints protegidos por senha
Se criarmos um Endpoint Personalizado para um cliente específico, podemos atribuir uma senha a ele, fornecendo um nível adicional de segurança para que apenas aquele cliente acesse o endpoint.

Ao acessar pela primeira vez um endpoint protegido por senha (seja acessando o endpoint diretamente, ou seus clientes GraphiQL ou Interactive Schema), nos deparamos com uma tela solicitando a senha:

Uma vez fornecida e validada a senha, somente então o usuário acessará o endpoint ou cliente pretendido:
