Jump to content

WebServices para conectividad con Aplicaciones de Terceros


Recommended Posts

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.

Configuración para acceso al WebService

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.thumb.png.17fd7c063710673525c7a6301c0542d1.png

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

  • URL SiReTT: indicas la dirección de la aplicación web SiReTT de tu proveedor, de tener la aplicación.
  • Web Service ID: indicas tu ID de cuenta de cliente en el sistema SiReTT de tu proveedor. (Ejemplo, si tu cuenta cliente en el sistema de tu proveedor es CL-000065, tu ID sería 65).
  • Bodega de Consignación: seleccionas cual bodega de tu sistema es la de consignación donde recibes la mercadería, por consignación, de tu proveedor.

Estos tres valores previos se utilizarán con otros fines futuros en SiReTT y no aplican para webservices. Es importante mencionarlos solamente.

  • 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.

Web Services - 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.

Últimos Detalles

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.

Link to post
Share on other sites
  • 6 months later...

Hello,

It’s a question actually, we have been trying to establish integration for a client’s e-commerce store based on Wordpress and woo commerce, the nuSoap server which they have provided us access is sending only 4 products back to our NuSoap Client.

I don’t understand if my client has full working access through his webservice ID or it’s a demo ID which shows demo results.

The user ID for our client is 19. Please get back on this, here or on my email ryktechnologies @ gmail . com


Thank you,

Agha Hasaan (Karachi, Pakistan)

Link to post
Share on other sites
En 6/3/2021 a las 23:25, aghahasaan dijo:

Hello,

It’s a question actually, we have been trying to establish integration for a client’s e-commerce store based on Wordpress and woo commerce, the nuSoap server which they have provided us access is sending only 4 products back to our NuSoap Client.

I don’t understand if my client has full working access through his webservice ID or it’s a demo ID which shows demo results.

The user ID for our client is 19. Please get back on this, here or on my email ryktechnologies @ gmail . com


Thank you,

Agha Hasaan (Karachi, Pakistan)

Hello. Tell me, what of the webservice function are you calling?

As you can see, there are 2 kind of functions, one have the text "_all_" who gives you full access to all inventory information, and the other ones without "_all_" only allow access to selected products (the costumer set products inside your SiReTT account).

Maybe the problem is the function you are calling. For better support tell your client to contact me.

 

By the way, dont publish private information here (like your id number). I don't know who is this client as we have a lot actually. Maybe you wanna message me to WhatsApp to (+506) 86067740 to assist you in this.

  • Thanks 1
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...