Nœuds finaux personnalisés
Création d'un nœud final personnalisé
Lorsque vous créez un nœud final personnalisé, votre nœud final peut être un encapsuleur autour de l'API REST de la vitrine HCL Commerce (Transaction server) existante. Votre nœud final personnalisé peut également être un code personnalisé que vous souhaitez utiliser avec votre magasin ou environnement HCL Commerce.
Toutes les API et tous les nœuds finaux personnalisés que vous créez pour votre magasin doivent être créés et combinés dans un environnement de développement basé sur HCL Commerce Developer en vue d'une utilisation dans le Customization server. Dans l'environnement de développement, une nouvelle archive custom-endpoints est incluse comme package dans le projet commerceue-ear. Vous pouvez utiliser ce package pour créer votre API de ressources. Un exemple de ressource que vous pouvez utiliser comme référence est inclus dans ce package. Cet exemple de ressource est un exemple de nœud final personnalisé qui s'intègre à l'API REST de HCL Commerce.
Lorsque vous créez votre propre nœud final personnalisé, vous devez inclure votre code personnalisé avec le répertoire custom-endpoints/src/main/java/com/ibm/commerce/custom/rest du projet commerceue-ear. Ce projet inclut une classe CustomApplication pour lier les ressources à l'application de nœuds finaux personnalisés.
Pour afficher ce processus de liaison, supprimez la mise en commentaire de la classe SampleResource pour la classe CustomApplication et examinez le traitement du code en mode débogage. La classe SampleResource comprend un exemple d'intégration d'API avec l'API REST de vitrine HCL Commerce.
Authentification
Tous les nœuds finaux personnalisés que vous créez ne sont pas protégés par défaut. Si vous écrivez sur votre API pour interroger ou accéder à l'API REST de vitrine, qui dispose de plus de privilèges pour accéder aux données et aux services, assurez-vous d'inclure l'authentification requise. Toute API qui utilise un nœud final personnalisé doit être authentifiée avant que l'API ne puisse accéder à n'importe quelle API REST de vitrine. L'authentification de l'API REST de vitrine utilise des jetons spécifiques à HCL Commerce pour l'authentification, appelés "jetons WC".
Les jetons WC que vous devez utiliser pour authentifier vos nœuds finaux personnalisés sont les mêmes que ce qu'un client utilise pour se connecter à votre magasin HCL Commerce. Les jetons WC sont générés pour authentifier les clients d'un magasin HCL Commerce chaque fois qu'un client se connecte au magasin. L'API login identity est appelée pour authentifier le client et génère les jetons requis. Pour plus d'informations, voir l'API REST de gestion d'authentification et de session.
Pour obtenir vos propres jetons WC, par exemple pour tester un nœud final personnalisé, appelez l'API login identity. Les jetons sont inclus dans la réponse pour la requête d'identité de connexion. Incluez vos jetons WC en tant qu'en-têtes de requête HTTP pour vos requêtes d'API REST de vitrine.
Pour en savoir plus sur la façon d'authentifier vos nœuds finaux personnalisés, examinez l'exemple de ressource pour les nœuds finaux personnalisés inclus dans HCL Commerce Developer. Utilisez l'exemple de ressource comme modèle pour authentifier vos nœuds finaux personnalisés.
Cet exemple de ressource montre comment authentifier un nœud final personnalisé avec un jeton WC pour obtenir des données client et comment authentifier une demande de données plus privilégiées, telles que des données qui ne concernent pas le client qui émet la requête. L'authentification permettant d'obtenir des données plus privilégiées utilise l'authentification supplémentaire fournie par HCL Commerce. Cette authentification supplémentaire utilise le standard JSON Web Token (JWT) généré par HCL Commerce pour authentifier les requêtes. Utilisez cet exemple de ressource pour vous aider à apprendre à structurer et à utiliser vos propres nœuds finaux personnalisés pour vous authentifier avec des jetons WC et JWT afin d'obtenir des données autres que les données du client.
Exemple de nœud final personnalisé
Un exemple de ressource de nœud final personnalisé est fourni avec trois exemples d'API qui appellent deux API REST de vitrine et une API tierce externe. Ces exemples d'API affichent également les différentes options d'authentification d'un nœud final personnalisé.
s.add(SampleResource.class);Lorsque vous appelez l'échantillon d'API de nœud final personnalisé, les jetons WC sont validés. Si la validation est réussie (la réponse de service est 200 OK), le traitement de la requête se poursuit. Vous pouvez utiliser cet exemple comme modèle pour écrire vos propres nœuds finaux personnalisés.