WEBSERVICES (SOAP)

Introducción

GESIO dispone de los siguientes servicios web (webservices) para la importación de datos:

Los webservices de GESIO se sustentan en el protocolo de comunicación SOAP.

Importación de pedidos

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:

  1. 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á.
  2. 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.
  3. 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.
  4. 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.
  5. 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:

Exportación de productos

GESIO dispone de un webservice SOAP para obtener información actualizada de los productos

Para acceder al webservice se deben crear y autorizar a un usuario externo a la aplicación GESIO y el responsable del GESIO origen le debe proporcionar además una cadena de identificación del recurso (resourcestring).

Para acceder a la mayoría de métodos es necesario abrir una sessión previamente.

Documento WSDL, descripción del servicio web (ver replica):
http://sudominiodegesio/webservices/remotesession.php

Descripción de los métodos:

  1. Abrir sesión:

    Función: getSessionid(login, password, resourcestring):

  2. Cerrar sesión:

    Función: closeSession(login, password, sessionid):

  3. Preparar lote de imágenes para actualizar:

    Función: getImgzip(sessionid, date, minutessincelastsync):

  4. Obtener lote de imágenes:

    Función: getBatchimgzip(sessionid, batchnumber):

  5. Preparar lote de descargas para actualizar:

    Función: getFileszip(sessionid, date, minutessincelastsync):

  6. Obtener lote de descargas:

    Función: getBatchfileszip(sessionid, batchnumber):

  7. Preparar lote de datos para actualizar:

    Función: getDatazip(sessionid, batchnumber):

  8. Obtener lote de datos:

    Función: getBatchdatazip(sessionid, date, minutessincelastsync):

  9. Preparar lote de datos reducido para actualizar (stock y precio):

    Función: getMinidatazip(sessionid, batchnumber):

  10. Obtener lote de datos reducido (stock y precio):

    Función: getBatchminidatazip(sessionid, date, minutessincelastsync):

  11. Obtener listado de identificadores de todos los productos publicados:

    Función: getAllPublishedProducts(sessionid):

Para poder acceder a los productos de el catálogo de una web de GESIO. Es necesario que la exportación de dicho catálogo tenga activo el modo Conexión http privada y el formato Gesio XML (Ver exportar catálogo).
 

DESCARGAS:


NOTA: si estas opciones no aparecen en su GESIO póngase en contacto con su proveedor para que le diga como obtenerlas.