Custom Endpoints
Custom EndpointsEndpoints Personnalisés

Endpoints Personnalisés

Included in the “Power Extensions” bundle

Créez des schémas personnalisés, avec des règles d'accès personnalisées pour différents utilisateurs, chacun disponible sous son propre endpoint.

Description

Un serveur GraphQL expose normalement un unique endpoint pour récupérer et envoyer des données.

En plus de prendre en charge l'endpoint unique, Gato GraphQL permet également de créer des endpoints personnalisés, fournissant différentes configurations de schéma pour répondre aux besoins de différentes cibles, telles que :

  • Un client ou utilisateur spécifique
  • Un groupe d'utilisateurs avec plus d'accès aux fonctionnalités (comme les utilisateurs PRO)
  • L'une des plusieurs applications, comme une application mobile ou un site web
  • Des API tierces
  • Tout autre cas

L'endpoint personnalisé est un Custom Post Type, et son permalink est l'endpoint. Un endpoint avec le titre "My endpoint" et le slug my-endpoint sera accessible sous /graphql/my-endpoint/.

Éditeur d'endpoint personnalisé

Clients

Chaque endpoint personnalisé dispose de son propre ensemble de clients pour interagir avec lui :

✅ Un client GraphiQL, disponible sous l'endpoint + ?view=graphiql (ex. : /graphql/my-endpoint/?view=graphiql).

Le module GraphiQL pour les Endpoints Personnalisés doit être activé.

Client GraphiQL de l'endpoint personnalisé

✅ Un client Interactive schema, disponible sous l'endpoint + ?view=schema (ex. : /graphql/my-endpoint/?view=schema).

Le module Interactive Schema pour les Endpoints Personnalisés doit être activé.

Interactive schema de l'endpoint personnalisé

Création d'un Endpoint Personnalisé

En cliquant sur le lien Endpoints Personnalisés dans le menu, la liste de tous les endpoints personnalisés créés s'affiche :

Endpoints Personnalisés dans l'administration
Endpoints Personnalisés dans l'administration

Un endpoint personnalisé est un custom post type (CPT). Pour créer un nouvel endpoint personnalisé, cliquez sur le bouton "Ajouter un Nouvel endpoint GraphQL", ce qui ouvrira l'éditeur WordPress :

Création d'un nouvel Endpoint Personnalisé

Lorsque l'endpoint personnalisé est prêt, publiez-le, et son permalink devient son URL d'endpoint. Les liens vers l'endpoint (et vers la source et les clients) sont affichés dans le panneau latéral "Aperçu de l'Endpoint Personnalisé" :

Aperçu de l'Endpoint Personnalisé

En ajoutant ?view=source au permalink, cela affichera la configuration de l'endpoint (tant que l'utilisateur est connecté et que son rôle lui donne accès) :

Source de l'endpoint personnalisé

Par défaut, l'endpoint personnalisé a le chemin /graphql/, et cette valeur est configurable via les Paramètres :

Paramètres de l'endpoint personnalisé
Paramètres de l'endpoint personnalisé

Configuration du schéma

La définition des éléments que contient le schéma, et de l'accès que les utilisateurs auront à celui-ci, est définie dans la configuration du schéma.

Nous devons donc créer une configuration du schéma, puis la sélectionner dans la liste déroulante :

Sélection de la configuration du schéma

Organisation des Endpoints Personnalisés par Catégorie

Dans le panneau latéral "Catégories d'endpoint", nous pouvons ajouter des catégories pour aider à gérer l'Endpoint Personnalisé :

Catégories d'endpoint lors de la modification d'un Endpoint Personnalisé

Par exemple, nous pouvons créer des catégories pour gérer les endpoints par client, application, ou toute autre information nécessaire :

Liste des catégories d'endpoint

Dans la liste des Endpoints Personnalisés, nous pouvons visualiser leurs catégories et, en cliquant sur un lien de catégorie, ou en utilisant le filtre en haut, seules toutes les entrées de cette catégorie seront affichées :

Liste des Endpoints Personnalisés avec leurs catégories

Filtrage des Endpoints Personnalisés par catégorie

Endpoints privés

En définissant le statut de l'Endpoint Personnalisé comme private, l'endpoint ne pourra être accessible que par l'utilisateur administrateur. Cela évite que nos données soient partagées par inadvertance avec des utilisateurs qui ne devraient pas y avoir accès.

Par exemple, nous pouvons créer des Endpoints Personnalisés privés qui aident à gérer l'application, comme la récupération de données pour créer des rapports avec nos métriques.

Endpoint Personnalisé privé

Endpoints protégés par mot de passe

Si nous créons un Endpoint Personnalisé pour un client spécifique, nous pouvons lui attribuer un mot de passe, afin de fournir un niveau de sécurité supplémentaire pour que seul ce client accède à l'endpoint.

Endpoint Personnalisé protégé par mot de passe

Lorsqu'on accède pour la première fois à un endpoint protégé par mot de passe (que ce soit en accédant directement à l'endpoint, ou à ses clients GraphiQL ou Interactive Schema), on rencontre un écran demandant le mot de passe :

Endpoint Personnalisé protégé par mot de passe : Premier accès

Une fois le mot de passe fourni et validé, seulement alors l'utilisateur accédera à l'endpoint ou au client prévu :

Endpoint Personnalisé protégé par mot de passe : Après autorisation