¿Cómo cargar datos de productos de un sistema externo?
Quienes tengan información de sus productos en su propio sistema y quieran mostrarlos a través del módulo de catálogo de productos de GXportal pueden desarrollar una serie de web services para luego invocarlos desde el backend de GXportal y realizar la carga de estos datos.
Estos web services se pueden desarrollar basándose en el siguiente
XPZ respetando los nombres de estos así como sus parámetros.
Básicamente se trata de tres web services:
* El aGXportal_WS_Products permite agregar y actualizar datos básicos del producto. Un dato importante a cargar es el ExternalId del producto dado que este se usará para mapear el producto en el sistema externo con el que se cree en GXportal y por lo tanto se usará al momento de querer actualizar los datos del producto.
* El aGXportal_WS_Sections permite crear y actualizar datos de secciones y subsecciones. Este servicio se debe ejecutar primero si se quiere que al cargar los datos de los productos estos queden mapeados en la sección y subsección donde se los quiere publicar.
* El aGXportal_WS_ProdImages carga la imagen principal del producto así como todas las imágenes usadas en la galería de imágenes del producto. Se debe invocar luego de la ejecución de la carga de datos de productos y se debe indicar el ExternalId para poder mapear a qué producto corresponden las imagenes.
Luego de desarrollar estos servicios desde el Panel de Control en el backend de GXportal se encuentra la opción “Configuración Web Services del Catálogo de Productos”
Desde acá se debe configurar los datos para poder acceder a ejecutar los servicios, por ejemplo en el caso de la captura siguiente los servicios estaban hosteados en la URL http://gxportal-srv/gxportal_ws_productcatalog y partir de esto se configuro el nombre de host, el puerto, el directorio virtual y en este caso no estan sobre protocolo seguro.
Además se generó una clave de encriptación que se utiliza para encriptar el dato del Id de cliente de forma de controlar en la implementación del servicio que el dato del id de cliente no fue cambiado.
Se selecciona cual fue el lenguaje con el que se desarrollaron los servicios y en el caso de seleccionar Java se puede especificar el Package name de los servicios:
Luego de configurar lo anterior se puede ir al tab de “Ejecución” donde se tiene la posibilidad de probar la ejecución de los servicios antes de hacer la carga definitiva de los datos.
Cuando se ejecuta alguno de los eventos de Test se muestra la siguiente pantalla con el XML resultante de le ejecución de los servicios donde se puede validar la información devuelta por cada servicio
El orden de ejecución en caso de querer migrar información de las secciones debe ser primero los datos de las secciones, luego de los productos y finalmente de las imagenes.
Si se repite la ejecución de la carga de datos entonces se actualiza la información que haya cambiado y se agregan nuevos datos en caso de que los haya.