Jump to content

WebServices para conectividad con Aplicaciones de Terceros


Publicaciones recomendadas

Webservices

SiReTT cuenta con un módulo para transferir información relacionada con el Inventario y Existencias a aplicaciones de terceras empresas como lo pueden ser Tiendas en Línea, Aplicaciones para Malls, Páginas Web. Este desarrollo está hecho utilizando SOAP y está disponible en el mismo sistema, en http://www.misistema.com/webservice.php y el wsdl en http://www.misistema.com/webservice.php?wsdl (el dominio depende de la dirección web de tu empresa y aquí es solo un ejemplo). Una empresa dedicada al desarrollo debería comprender como manejar estos servicios disponibles.

Valor de la Licencia: $1.250.

Resultados Obtenidos

La herramienta cuenta con funciones para consultar el inventario, y obtener del mismo una lista (total o limitada) de artículos y existencias de bodegas autorizadas. El resultado es un XML con un arreglo que contiene los siguientes datos:

Variable de tipo INTEGER y nombre: result, con los siguientes posibles valores:

0. Éxito al realizar la consulta.
1. Cuenta de Consulta no existe en el Sistema.
2. Cuenta sin Acceso al Webservice.
3. Contraseña incorrecta.
4. No tiene permiso para utilizar la consulta.
5. Plataforma SiReTT no tiene la licencia habilitada.
6. Artículo no encontrado (aplica para consultas específicas de un producto).
7. No se recibió el número de orden (ws_orden_id)
8. Orden ya fue procesada en el Sistema SiReTT.
9. No se ha encontrado la Bodega indicada en el sistema, o no tienes permiso para realizar ordenes en la misma.
10. Faltan datos estrictos del cliente (nombre, email, teléfono)
11. Datos incorrectos recibidos en el Tipo y Número de Cédula/Identificación del cliente (de acuerdo al Ministerio de Hacienda)
12. Formato inválido en direcciones de Correo.
13. No hay contenido para procesar la Orden.
14. No se definió correctamente el detalle de la línea de artículo para la orden.
15. Artículo no encontrado en el sistema (para ordenes y pre-ventas)
16. Cantidad no válida de acuerdo a la configuración del artículo.
17. Errores detectados en líneas de detalle recibidas para la orden.
18. No hay stock en la línea de detalle para reservar la mercadería
19. Algunos artículos del detalle no tienen stock para reservar la mercadería.

Variable de tipo ARRAY y nombre: data, con los resultados de la consulta de artículos. Esta formada por una clase personalizada llamada items_Row de tipo ARRAY que puede contener, por fila, los siguientes datos:

  • codigo: STRING[30], código único del producto en SiReTT
  • cod_producto: STRING[30], código de barras del producto, o código GTIN único.
  • descripcion: STRING[200], descripción del artículo.
  • presentacion: STRING[30], texto que refiere al color, talla, material, diseño o característica propia de ese artículo.
  • familia: STRING[50], nombre de la rama de la familia donde se encuentra el artículo.
  • marca: STRING[30], nombre del fabricante del artículo.
  • clase: STRING[30], nombre de la clasificación del artículo (Televisor, Lavadora, Estuche, Celular).
  • modelo: STRING[30], nombre del modelo del artículo.
  • item_grupo_1: STRING[30], nombre de la clasificación uno del artículo. Por defecto es Tema.
  • item_grupo_2: STRING[30], nombre de la clasificación dos del artículo. Por defecto es Departamento.
  • item_grupo_3: STRING[30], nombre de la clasificación tres del artículo. Por defecto es Temporada.
  • precio: DECIMAL, valor del artículo según la configuración de consulta del usuario del webservice, o su precio promocional de ser mejor, e incluyendo autodescuentos si aplican.
  • stock: DECIMAL, existencia del artículo de acuerdo a la consulta.
  • image_url: STRING[100], carpeta/subcarpeta/archivo donde se puede encontrar la fotografía principal del producto. La respuesta no incluye la URL del mismo sistema, ya que esta debe ser conocida por el mismo uso del webservice.

Variable de tipo ARRAY y nombre data, con los resultados de las funciones que procesan ordenes y pre-ventas. Esta formado por una clase personalizada llamada ordenitemsreply_Row de Tipo ARRAY que puede contener, por fila, los siguientes datos:

  • codigo: STRING[30], código del producto que se transmitió inicialmente.
  • reply: INTENGER, respuesta de fallo o éxito del proceso, de acuerdo a los valores de result.

Información para Desarrolladores de 3rd Party

La empresa que utiliza el web service deberá implementar sus propios cambios para adaptar la información a sus plataformas, así como tiempos en que se realicen las sincronizaciones.

Este módulo acepta propuestas de nuevos cambios futuros, como por ejemplo recibir pedidos y colocarlos en los módulos de Ordenes de SiReTT.

El costo del módulo está definido en una tarifa no comercial, ya que se enfoca en una cartera de clientes que desean utilizar otras herramientas fuera de SiReTT para comercializar, y esto beneficia a terceros, más que a nuestra propia empresa.

Enlace al comentario
Compartir en otros sitios web

Configuración para acceso al WebService - Proveedores

Proveedores en SiReTT tienen posibilidades de conectarse al WebService de tu sistema, y adicional a realizar consultas sobre inventario y stock, pueden tambien crear ordenes de venta o pre-ventas en tu sistema a nombre de clientes especificados en el webservice mismo. A diferencia de un cliente con acceso a webservice, donde las ordenes o preventas serían para su misma cuenta, un proveedor puede enviarnos los datos de un cliente para registrarlo en nuestro sistema, y así tener información sobre contacto y entrega del consumidor final.

Dado que una empresa externa se considera un Proveedor, es en esta área que configuramos un acceso y creamos permisos. Con este concepto, entonces vamos a crear un proveedor (o editarlo si ya existe) para la empresa que nos brindará el servicio externo. Esto en el menú Proveeduría - Registrar Nuevo Proveedor, o en el mismo menú, buscando el proveedor, abriéndolo y luego editando.

image.png.2d3ebb12949a2e9557ce15f115c79ee4.png

En la pestaña de Conectividad y Permisos, vamos a llenar la información requerida.

  • Web Service ID: este valor lo da el mismo sistema cuando el proveedor ya está creado. Usualmente es el valor númerico entero del código del proveedor, donde por ejemplo si el proveedor resulta con el código PR-000065, el código será 65. Este valor se lo debes dar a tu proveedor que utilizará el webservice para hacer consultas.
  • Web Service Password: aquí vas a colocar la contraseña que le vas a asignar a tu proveedor para utilizar el webservice de tu sistema.
  • Precio Base: aquí vas a seleccionar cual precio de venta le vas a publicar a tu proveedor con los datos del inventario.
  • Caja Principal: estableces la Caja de Facturación donde el proveedor va a registrar sus ordenes y pre-ventas, en caso de tener acceso a estas funciones.
  • Clasificaciones de Línea y Tipo: estos parámetros se establecen dentro de cualquier orden o pre-venta que emita el proveedor por el webservice, para que sus ventas puedan ser clasificadas y filtradas. Los nombres de estos parámetros se pueden personalizar en el menú Sistema - Opciones  del Sistema - Sección 9.
  • Categoría: cuando el webservice le permite al proveedor emitir ordenes y pre-ventas, nuevos clientes que se reciban quedarán clasificados en esta categoría. El fin es agilizar la identificación de clientes que compran en aplicaciones de terceros.
  • Cadena / Contrato / Mercado: son opciones similares a la categoría del cliente, y nuevos clientes que se reciban por el webservice quedarán asignados a los valores establecidos respectivamente.
  • Servicios Web: aquí vas a seleccionar cuales Webservices va a poder utilizar el proveedor, estos se explicarán más adelante.

Una vez establecidos los datos, vamos también a indicar a cuales Bodegas va a poder consultar el proveedor. Esto lo hacemos desde la Ficha Técnica del Proveedor (se abre justo después de guardar el artículo, o cuando buscas un proveedor y le das clic). En la parte superior del módulo verás los siguientes botones.

image.png.19111c237dc3cb754d40942f111282f4.png

El botón de la Caja con la Lupa, Consulta Directa de Bodegas, nos permite seleccionar a cuales bodegas puede consultar el proveedor para así determinar existencias.

image.png.7ec2b29789b9ce97571270092863e17a.png

Es un módulo sencillo donde simplemente en la columna de Consulta indicamos "Permitido" si deseamos que el proveedor tenga acceso a la consulta de existencia de esa bodega. Guardamos los cambios y regresamos.

Consulta específica por Artículos

Teniendo en claro que a un proveedor se le crea un acceso con asignarle una clave, se le permite ver un precio solamente, y se le permite bodegas específicas para stock, también se puede limitar la consulta por artículos.

Algunas de las funciones de los Web Services limitan al proveedor a consultar artículos que estén vinculados con su cuenta en SiReTT. Se sabe que cada artículo tiene asignado un proveedor, y también que por importación de XML y reconocimiento de artículos se pueden crear vínculos adicionales con el proveedor. Utilizando esto, puedes decidir que artículos puede ver en el webservice.

También, desde el panel de consulta del proveedor puedes vincular artículos directamente al Webservice.

Parámetros de Funciones

Las siguientes funciones están disponibles para consultar por el webservice.php del Sistema.

Nota: Cuando creas un proveedor en SiReTT, se le asigna un código como por ejemplo PR-001053. Cuando el proveedor vaya a utilizar los webservices, su usuario de consulta será el número de ese código, o sea, 1053. La contraseña de consulta, sería la que colocamos en Web Service Password.

Toda función del webservice tiene 2 parámetros iniciales básicos.

  • ws_pid: INTEGER (Web Service Proveedor ID), es el ID de proveedor, como se indica en la nota, el número solamente sin ceros a la izquierda.
  • ws_passwd: STRING[30] (Web Service Password), la contraseña que asignaste en Web Service Password.

También existen otros parámetros que vas a encontrar:

  • bid: INTEGER (Bodega ID), es el número interno de la Bodega que se desea consultar. Este número lo puedes ver en el mismo módulo donde le permites bodegas al proveedor. La empresa que brinda el servicio deberá considerar en su desarrollo, como guardar este valor para consultar bodegas específicas.
  • icodigo: STRING[30] (Item Código), es el código exacto del artículo que se desea consultar.
  • ws_orden_id: INTEGER (Orden ID), es el número de orden del sistema del proveedor que se va a transmitir a SiReTT Online en casos de funciones de ordenes y pre-ventas. Este parámetro ayuda a SiReTT a controlar si una orden es nueva para el proveedor o ya fue recibida previamente y se desea confirmar.
  • cliente: ARRAY, es un arreglo de datos que contiene la información del cliente para la orden o pre-venta. Esta formado por los siguientes índices:
    • idtipo: (Opcional), Clasificación de Cédula del cliente según el Ministerio de Hacienda. 1 = Física, 2 = Juridica, 3 = DIMEX, 4 = NITE, 5 = Otros, 6 = Extranjero.
    • identificacion: (Opcional), Número de Cédula del cliente. Este debe tener la lógica de acuerdo a la opción de idtipo, donde las cédulas físicas tienen 9 dígitos de longitud, las Jurídicas y NITE 10 dígitos, DIMEX de 12 dígitos y extranjeros que sean alfanuméricos.
    • nombre: STRING[100] (Requerido), es el nombre del cliente, completo con apellidos.
    • email: STRING[50] (Requerido), es el correo electrónico principal del cliente.
    • phone: STRING[10] (Requerido), es el número de teléfono del cliente.
    • fe_email: STRING[50] (Opcional), sería la dirección de correo electrónico del cliente para trámites electrónicos.
    • provincia: INTEGER (Opcional), es el código de provincia de acuerdo al Ministerio de Hacienda en Trámites Electrónicos.
    • ciudad: INTEGER (Opcional), es el código de cantón de acuerdo al Ministerio de Hacienda en Trámites Electrónicos.
    • distrito: INTEGER (Opcional), es el código de distrito de acuerdo al Ministerio de Hacienda en Trámites Electrónicos.
    • dirección: STRING[255] (Opcional), es la dirección específica del cliente.
  • detalle: ARRAY, es un arreglo que contiene los artículos a ordenar o reservar en pre-venta. Esta formado por los siguientes índices:
    • codigo: STRING[30], es el código del producto a procesar.
    • cantidad: DECIMAL, es la cantidad a procesar del artículo. 
    • precio: DECIMAL (Opcional), es el precio de venta del artículo ofrecido al cliente. Existe un grado de confianza respecto al precio ya que el proveedor del servicio puede establecerlo, pues es quien cotizó y cobró al cliente mediante su plataforma web.

Web Services - Funciones

  • wsp_request_items(ws_pid, ws_passwd): consulta que retorna la lista de artículos vinculados al proveedor junto con su existencia total, sumando todas las bodegas autorizadas.
  • wsp_request_bodega_items(ws_pid, ws_passwd, bid): consulta que retorna la lista de artículos vinculados al proveedor, con la existencia de la bodega especificada. Útil para obtener el stock de solamente una sucursal.
  • wsp_request_item(ws_pid, ws_passwd, icodigo): consulta que retorna la información y existencia total de las bodegas autorizadas, de un artículo específico que también está vinculado al proveedor.
  • wsp_request_bodega_item(ws_pid, ws_passwd, bid, icodigo): consulta que retorna la información y existencia de la bodega indicada, de un artículo específico que también está vinculado al proveedor.

Estas 4 funciones anteriores, limitan las consultas a artículos que están vinculados con el proveedor.

Las siguientes 2 funciones, retiran la limitación de artículo vinculado y permiten al proveedor consultar cualquier artículo, pero siempre limitando la existencia las bodegas autorizadas.

  • wsp_request_bodega_all_items(ws_pid, ws_passwd, bid): consulta que retorna el detalle de artículos con existencia solamente (no retorna sin stock o negativos) de la bodega indicada.
  • wsp_request_bodega_all_item(ws_pid, ws_passwd, bid, icodigo): consulta que retorna el detalle del artículo específico y de la bodega indicada.

Web Services - Funciones Avanzadas

  • wsp_send_orden(ws_pid, ws_passwd, bid, ws_orden_id, cliente, detalle): solicita a SiReTT Online que registre una Orden de Compra en la Sucursal de la Bodega especificada en bid, con el número de orden de referencia ws_orden_id (este número es único para el proveedor y puede ser el número de orden del sistema del proveedor), para el cliente y con el detalle especificados. Las ordenes de compra no reservan inventarios y no dependen de existencia, y quedan como pedidos pendientes de atender en el menú Ordenes - Cola, en la sucursal asignada por el cliente.
  • wsp_send_preventa(ws_pid, ws_passwd, bid, ws_orden_id, cliente, detalle): similar a la función anterior, solamente que en este caso se registra la petición como una Pre-Venta, reservando la mercadería directamente para que ya no esté disponible para otras operaciones. Esta operación está limitada a que la mercadería esté disponible en existencia.
Enlace al comentario
Compartir en otros sitios web

Configuración para acceso al WebService - Clientes

A diferencia de una cuenta de proveedor utilizando el Webservice, un cliente final procesará las Ordenes y Pre-Ventas a su nombre, y no a nombre de terceros. También tendrán acceso a versiones de funciones para consultar el inventario y stock.

Para brindar acceso al webservice a un cliente, vamos a crear o editar un cliente en el menú Clientes - Registrar Nuevo Cliente, o también buscando el cliente y editándolo.

image.png.33593fa697d793cd02835bb10b2486bc.png

En la pestaña de Conectividad y Permisos, vamos a llenar la información requerida.

  • Web Service ID: este valor lo da el mismo sistema cuando el cliente ya está creado. Usualmente es el valor númerico entero del código del cliente, donde por ejemplo si el cliente resulta con el código CL-000065, el código será 65. Este valor se lo debes dar a tu cliente que utilizará el webservice para hacer consultas.
  • Web Service Password: aquí vas a colocar la contraseña que le vas a asignar a tu cliente para utilizar el webservice de tu sistema.
  • Caja Principal: estableces la Caja de Facturación donde el proveedor va a registrar sus ordenes y pre-ventas, en caso de tener acceso a estas funciones.
  • Clasificaciones de Línea y Tipo: estos parámetros se establecen dentro de cualquier orden o pre-venta que emita el cliente por el webservice, para que sus ventas puedan ser clasificadas y filtradas. Los nombres de estos parámetros se pueden personalizar en el menú Sistema - Opciones  del Sistema - Sección 9.
  • Servicios Web: aquí vas a seleccionar cuales Webservices va a poder utilizar el cliente, estos se explicarán más adelante.

Una vez establecidos los datos, vamos también a indicar a cuales Bodegas va a poder consultar el cliente. Esto lo hacemos desde la Ficha Técnica del Cliente (se abre justo después de guardar el cliente, o cuando buscas un cliente y le das clic). En la parte superior del módulo verás los siguientes botones.

image.png.18a1aad9b3cbaa8abd28c758c8c988f5.png

El botón de la Caja con la Lupa, Consulta Directa de Bodegas, nos permite seleccionar a cuales bodegas puede consultar el cliente para así determinar existencias.

image.png.6ada843904f1632e0383a3a607627564.png

Es un módulo sencillo donde simplemente en la columna de Consulta indicamos "Permitido" si deseamos que el cliente tenga acceso a la consulta de existencia de esa bodega. Guardamos los cambios y regresamos.

Consulta específica por Artículos

Teniendo en claro que a un cliente se le crea un acceso con asignarle una clave, se le permite ver un precio solamente, y se le permite bodegas específicas para stock, también se puede limitar la consulta por artículos.

Algunas de las funciones de los Web Services limitan al cliente a consultar artículos que estén vinculados con su cuenta en SiReTT. En el panel de cliente, en la sección de Artículos en Webservice podemos indicar si solamente queremos que se realicen consultas a ciertos códigos del inventario y no a todos.

image.thumb.png.e9f5d4b0c46f4f706f93ac27751d814d.png

Parámetros de Funciones

Las siguientes funciones están disponibles para consultar por el webservice.php del Sistema.

Nota: Cuando creas un cliente en SiReTT, se le asigna un código como por ejemplo CL-001053. Cuando el cliente vaya a utilizar los webservices, su usuario de consulta será el número de ese código, o sea, 1053. La contraseña de consulta, sería la que colocamos en Web Service Password.

Toda función del webservice tiene 2 parámetros iniciales básicos.

  • ws_cid: INTEGER (Web Service Cliente ID), es el ID de cliente, como se indica en la nota, el número solamente sin ceros a la izquierda.
  • ws_passwd: STRING[30] (Web Service Password), la contraseña que asignaste en Web Service Password.

También existen otros parámetros que vas a encontrar:

  • bid: INTEGER (Bodega ID), es el número interno de la Bodega que se desea consultar. Este número lo puedes ver en el mismo módulo donde le permites bodegas al proveedor. La empresa que brinda el servicio deberá considerar en su desarrollo, como guardar este valor para consultar bodegas específicas.
  • icodigo: STRING[30] (Item Código), es el código exacto del artículo que se desea consultar.
  • ws_orden_id: INTEGER (Orden ID), es el número de orden del sistema del proveedor que se va a transmitir a SiReTT Online en casos de funciones de ordenes y pre-ventas. Este parámetro ayuda a SiReTT a controlar si una orden es nueva para el proveedor o ya fue recibida previamente y se desea confirmar.
  • detalle: ARRAY, es un arreglo que contiene los artículos a ordenar o reservar en pre-venta. Esta formado por los siguientes índices:
    • codigo: STRING[30], es el código del producto a procesar.
    • cantidad: DECIMAL, es la cantidad a procesar del artículo. 
    • precio: DECIMAL (Opcional), es el precio de venta del artículo ofrecido al cliente. Existe un grado de confianza respecto al precio ya que el proveedor del servicio puede establecerlo, pues es quien cotizó y cobró al cliente mediante su plataforma web.

Web Services - Funciones

  • wsc_request_items(ws_cid, ws_passwd): consulta que retorna la lista de artículos vinculados al proveedor junto con su existencia total, sumando todas las bodegas autorizadas.
  • wsc_request_bodega_items(ws_cid, ws_passwd, bid): consulta que retorna la lista de artículos vinculados al proveedor, con la existencia de la bodega especificada. Útil para obtener el stock de solamente una sucursal.
  • wsc_request_item(ws_cid, ws_passwd, icodigo): consulta que retorna la información y existencia total de las bodegas autorizadas, de un artículo específico que también está vinculado al proveedor.
  • wsc_request_bodega_item(ws_cid, ws_passwd, bid, icodigo): consulta que retorna la información y existencia de la bodega indicada, de un artículo específico que también está vinculado al proveedor.

Estas 4 funciones anteriores, limitan las consultas a artículos que están vinculados con el cliente.

Las siguientes 2 funciones, retiran la limitación de artículo vinculado y permiten al cliente consultar cualquier artículo, pero siempre limitando la existencia las bodegas autorizadas.

  • wsc_request_bodega_all_items(ws_cid, ws_passwd, bid): consulta que retorna el detalle de artículos con existencia solamente (no retorna sin stock o negativos) de la bodega indicada.
  • wsc_request_bodega_all_item(ws_cid, ws_passwd, bid, icodigo): consulta que retorna el detalle del artículo específico y de la bodega indicada.

Web Services - Funciones Avanzadas

  • wsc_send_orden(ws_cid, ws_passwd, bid, ws_orden_id, detalle): solicita a SiReTT Online que registre una Orden de Compra en la Sucursal de la Bodega especificada en bid, con el número de orden de referencia ws_orden_id (este número es único para el cliente y puede ser el número de orden del sistema del cliente), con el detalle especificados. Las ordenes de compra no reservan inventarios y no dependen de existencia, y quedan como pedidos pendientes de atender en el menú Ordenes - Cola, en la sucursal asignada por el cliente.
  • wsp_send_preventa(ws_cid, ws_passwd, bid, ws_orden_id, detalle): similar a la función anterior, solamente que en este caso se registra la petición como una Pre-Venta, reservando la mercadería directamente para que ya no esté disponible para otras operaciones. Esta operación está limitada a que la mercadería esté disponible en existencia.
Enlace al comentario
Compartir en otros sitios web

  • 4 weeks later...

Join the conversation

Puede publicar ahora y registrarse más tarde. Si tiene una cuenta, iniciar sesión para publicar con su cuenta.

Guest
Responder a este tema...

×   Pegar como texto enriquecido.   Pegar como texto sin formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incrustado automáticamente..   Mostrar como un enlace en su lugar

×   Se ha restaurado el contenido anterior.   Limpiar editor

×   No se pueden pegar imágenes directamente. Carga o inserta imágenes desde la URL.

×
×
  • Crear nuevo...