Puntos finales personalizados
Creación de un punto final personalizado
Al crear un punto final personalizado, el punto final puede ser un envoltorio alrededor de la API de REST de Escaparate HCL Commerce existente (Transaction server). El punto final personalizado también puede ser un código personalizado que desee utilizar con la tienda o el entorno de HCL Commerce.
Cualquier API personalizada y los puntos finales que cree para la tienda deben crearse y empaquetarse dentro de un entorno de desarrollo basado en HCL Commerce Developer para su uso en Customization server. Dentro de un entorno de desarrollo, un nuevo archivo custom-endpoints se incluye un como un paquete dentro del proyecto commerceue-ear. Puede utilizar este paquete para crear la API de recursos. Dentro de este paquete se incluye un recurso de ejemplo que puede utilizar como referencia. Este recurso de ejemplo es un ejemplo de un punto final personalizado que se integra con la API de REST HCL Commerce.
Al crear su propio punto final personalizado, debe incluir el código personalizado con el directorio custom-endpoints/src/main/java/com/ibm/commerce/custom/rest del proyecto commerceue-ear. Este proyecto incluye una clase CustomApplication para enlazar recursos con la aplicación de puntos finales personalizados.
Para ver este proceso de enlace, elimine el comentario de la clase SampleResource para la clase CustomApplication y revise el procesamiento de código dentro de la modalidad de depuración. La clase SampleResource incluye una integración de API de ejemplo con la API de REST de Escaparate HCL Commerce.
Autenticación
Cualquier punto final personalizado que cree no están protegidos de forma predeterminada. Si está escribiendo la API para consultar o acceder a la API de REST de Escaparate, que tiene más privilegios para acceder a datos y servicios, asegúrese de incluir la autenticación necesaria. Cualquier API que utilice un punto final personalizado debe autenticarse antes de que la API pueda acceder a cualquier API de REST de escaparate predeterminada. La autenticación para la API de REST de Escaparate utiliza señales, que son específicas para HCL Commerce de la autenticación y se denominan "señales de WC".
Las señales de WC que debe utilizar para autenticar los puntos finales personalizados son los mismos que las que un comprador utiliza para iniciar sesión en la tienda HCL Commerce. Se generan señales de WC para autenticar a los compradores para una tienda HCL Commerce siempre que un comprador inicia la sesión en la tienda. Se llama a la API de login identity para autenticar al comprador y generar las señales necesarias. Para más información, consulte la de autenticación y gestión de sesiones.
Para obtener sus propias señales de WC, como por ejemplo para probar un punto final personalizado, llame a la API de login identity. Las señales se incluyen dentro de la respuesta para la solicitud de identidad de inicio de sesión. Incluya las señales de WC como cabeceras de solicitud HTTP para las solicitudes de API de REST de Escaparate.
Para obtener más información sobre cómo autenticar los puntos finales personalizados, revise el recurso de ejemplo para los puntos finales que se incluyen en HCL Commerce Developer. Utilice el recurso de ejemplo como modelo para autenticar los puntos finales personalizados.
Este recurso de ejemplo muestra cómo autenticar un punto final personalizado con una señal de WC para obtener datos de comprador y cómo autenticar una solicitud de datos privilegiados, como datos que no son sobre el comprador que emite la petición. La autenticación para obtener más datos privilegiados utiliza una autenticación adicional que HCL Commerce ha proporcionado. Esta autenticación adicional utiliza una señal web JSON (JWT) que HCL Commerce ha generado para autenticar solicitudes. Utilice este recurso de ejemplo como ayuda para aprender a estructurar y utilizar sus propios puntos finales personalizados para autenticar con señales de WC y JWT para obtener datos que no sean los datos del comprador.
Punto final personalizado de ejemplo
Se proporciona un recurso de punto final personalizado de ejemplo con tres API de ejemplo que llaman a dos API de REST de Escaparate REST y una API externa de terceros. Estas API de ejemplo también muestran las distintas opciones para autenticar un punto final personalizado.
s.add(SampleResource.class);
Cuando se llama a la API de punto final personalizado de ejemplo, se validan las señales de WC. Si la validación es satisfactoria (la respuesta del servicio es 200 aceptar), el proceso de la solicitud continúa. Puede utilizar este ejemplo como modelo para escribir sus propios puntos extensiones personalizados.