GESIO dispone de un webservice SOAP para creación y actualización de pedidos desde plataformas externas (Prestashop, Magento, …)
Para acceder al webservice se deben crear y autorizar a un usuario externo a la aplicación GESIO:
Administración > Sistema > Perfiles y permisos > Gestión de usuarios internos
Fig.1 - Ubicación de la zona de autorizaciones a conexiones externas
Fig.2 - Edición de un autorizado.
Documento WSDL, descripción del servicio web (ver replica):
http://sudominiodegesio/webservices/orderservice_wsdl.php
Descripción de los métodos:
-
Crear un nuevo pedido en GESIO:
Función: newOrder(authmode, user, password, orderid, orderdata)
Parámetros:
- authmode (cadena de caracteres): tipo de autenticación, de momento solo se soporta el valor “basic” (basic : mediante usuario y contraseña).
- user (cadena de caracteres): nombre de usuario.
- password (cadena de caracteres): contraseña de usuario.
- orderid (cadena de caracteres): id del pedido en la plataforma externa.
- orderdata (cadena de caracteres con una estructura XML que se describe otro documento).
Salida:
- orderAccessInfo:
- status (entero): 0 → error, 1 → creación correcta
- orderId (cadena de caracteres): id del pedido en la plataforma externa.
- gesioOrderId (cadena de caracteres): id del pedido en GESIO.
- errorCode (cadena de caracteres): id del error.
- errorDescription (cadena de caracteres): descripción del error.
Notas sobre el comportamiento de la función:
- Si ya existe en GESIO un pedido con el orderid generado por el usuario el sistema no creará el pedido.
- Si no se encuentra la referencia de alguno de los productos el sistema no creará el pedido.
- Si no se encuentra el cliente (búsqueda por CIF) el sistema lo creará.
-
Cambiar el estado de un pedido en GESIO:
Función: chOrderStatus(authmode, user, password, orderid, newstatus):
Parámetros:
- authmode (cadena de caracteres): tipo de autenticación, de momento solo se soporta el valor “basic” (basic : mediante usuario y contraseña).
- user (cadena de caracteres): nombre de usuario.
- password (cadena de caracteres): contraseña de usuario.
- orderid (ya descrito previamente).
- newstatus (cadena de caracteres):
- discarded: descartado.
- finished: terminado.
Salida:
- orderAccessInfo (ya descrito previamente).
Notas sobre el comportamiento de la función:
- Solo se permite cambiar el estado de un pedido en GESIO a través del webservice si no tiene un presupuesto aceptado.
- Por defecto cuando se crea el pedido se entiende que está en fase de “acciones comerciales” a expensas de que se acepte el presupuesto y que se facture el mismo.
-
Obtener información de un producto:
Función: getBasicProductInfo(authmode, user, password, resource, productid, stockinfodisaggregated, addvariationsstockinfo):
Parámetros:
- authmode (cadena de caracteres): tipo de autenticación, de momento solo se soporta el valor “basic” (basic : mediante usuario y contraseña).
- user (cadena de caracteres): nombre de usuario.
- password (cadena de caracteres): contraseña de usuario.
- resource (cadena de caracteres):
Formato: (contiene varios parametros separados por ':' y el nombre de la variable separado del valor por '_')
- siteId: identificador del sitio web
- languageId: identificador del idioma
- mode: de momento solo admite el valor 'httpprivada'
- format: de momento solo admite el valor 'xmlgesio'
- rateId: identificador de la tarifa
- productIdFormat: tipo de identificador del producto que se le pasa como parámetro a la función. Puede se 'idgesio' si se trata del id del producto en GESIO o 'ref' si se trata de la referencia del producto.
- code: código de validación
Ejemplo:
:siteId_176:languageId_50:mode_httpprivada:format_xmlgesio:rateId_25:productIdFormat_idgesio:code_4d160ca3ef225792e0d80e445f819d7e
- productid (cadena de caracteres): identificador numérico o referencia del producto según se haya especificado en la variable 'productIdFormat' de resource.
- stockinfodisaggregated (booleano): verdadero si se quiera la información de stock desglosada en ubicaciones.
- addvariationsstockinfo (booleano): verdadero si se quiere obtener la información del stock de la variaciones del producto.
Salida:
- status (entero): 0 → error, 1 → creación correcta
- productId (cadena de caracteres): id del producto proporcionado en la llamada.
- gesioProductId (cadena de caracteres): id numérico del producto en GESIO.
- name (cadena de caracteres): nombre del producto.
- available (boolean): indica si está disponible para la venta.
- availableStock (número entero): stock disponible.
- cost_price (número decimal): precio de coste.
- price (número decimal): precio de venta recomendado.
- variationsStock (cadena de caracteres): xml con la información del stock de la variaciones por tallas y colores.
- updated (fecha): última modificación del producto.
- errorCode (cadena de caracteres): id del error.
- errorDescription (cadena de caracteres): descripción del error.
-
Obtener información relacionada con la logística (tablas maestras):
Función: getLogisticsFiles(authmode, user, password):
Parámetros:
- authmode (cadena de caracteres): tipo de autenticación, de momento solo se soporta el valor “basic” (basic : mediante usuario y contraseña).
- user (cadena de caracteres): nombre de usuario.
- password (cadena de caracteres): contraseña de usuario.
Salida:
- status (entero): 0 → error, 1 → creación correcta
- countries (cadena de caracteres): xml con las información de los paises.
- states (cadena de caracteres): xml con las información de las provincias o estados.
- shippingFees (cadena de caracteres): xml con las información de las tarifas de envío.
- errorCode (cadena de caracteres): id del error.
- errorDescription (cadena de caracteres): descripción del error.
-
Obtener información relacionada con las formas y documentos de pago (tablas maestras):
Función: getPaymentFiles(authmode, user, password):
Parámetros:
- authmode (cadena de caracteres): tipo de autenticación, de momento solo se soporta el valor “basic” (basic : mediante usuario y contraseña).
- user (cadena de caracteres): nombre de usuario.
- password (cadena de caracteres): contraseña de usuario.
Salida:
- status (entero): 0 → error, 1 → creación correcta
- paymentDocuments (cadena de caracteres): xml con las información de tipos documentos de pago aceptados.
- paymentMethods (cadena de caracteres): xml con las información de las formas de pago aceptadas.
- errorCode (cadena de caracteres): id del error.
- errorDescription (cadena de caracteres): descripción del error.
No se han implementado de momento funciones para eliminar y actualizar pedidos porque se entiende que son dos procesos poco habituales y se ha decidido no acometer en este estadio del desarrollo.
DESCARGAS: