Webservices
WebService v3.0 para Consultas y Pedidos
Esta versión 3.0 incorpora nuevas funcionalidades además de mejorar las que ya tenía.
Para consumir el servicio utilice los siguientes descriptores en Producción
Descriptores XML Funcionales
https://caba30.suizoargentina.com.ar/webservice/wspedidos2.wsdl
Descriptores ASMX Funcionales
https://caba30.suizoargentina.com.ar/webservicenet/wspedidos.asmx
Para realizar pruebas en modo Desarrollo
Descriptores XML Funcionales
http://pruebas.suizoargentina.com.ar/webservice/wspedidos2.wsdl
Descriptores ASMX Funcionales
http://pruebas.suizoargentina.com.ar/webservicenet/wspedidos.asmx
Dada la variedad de lenguajes de programación que pueden consumir Servicios Web y habiendo encontrado
algunas irregularidades es que recomendamos que para el correcto consumo del servicio se respete el uso
de mayúsculas y minúsculas en la escritura de cada llamada, tal como se describen más adelante.
Todas las pruebas deben realizarse indefectiblemente sobre el servicio destinado para tal fin utilizando el
Descriptor XML o ASP para Modalidad Desarrollo y especificando los siguientes datos para los parámetros
tnEmpresa, tcUsuario y tcClave
Ejemplo: tnEmpresa: 1 ó 2 tcUsuario: webservice tcClave: 123456
Para trabajar con el Descriptor XML o ASMX Funcional usted puede utilizar el usuario y clave con los que
habitualmente ingresa en nuestra página web y haciendo referencia a la sucursal correspondiente (Vea el
método VerSucursales para más información)
Puede realizar pruebas de llamadas a los métodos del servicio y ver las respuestas en formato XML
directamente desde su navegador a través del descriptor ASMX para Modalidad Desarrollo.
Pueden presentarse 2 tipos de errores al intentar contactar el servicio: Errores de Conectividad y Errores de
Funcionamiento.
Los Errores de Conectividad originan mensajes propios del SOAP o HTTP. Generalmente vienen
acompañados de una breve descripción de la falla.
Los Errores de Funcionamiento están originados porque algún parámetro no era del tipo
esperado, no se recibió la estructura esperada en un archivo XML, la cuenta no está en estado
Normal, etc. Esto da como resultado
SIEMPRE un archivo XML con un solo campo denominado
‘descripcion’ que contiene el detalle del error y las posibles alternativas para su solución
Llamadas Disponibles en el Servicio
HolaMundo
Propósito: Pensado solo para hacer pruebas de conectividad durante la programación de un cliente del servicio.
Parámetros: Ninguno.
VerSucursales
Propósito: Devuelve los códigos de las sucursales disponibles para trabajar con el servicio.
Parámetros: Ninguno.
VerCodigosDeErrorEnPedido
Propósito: Conocer el significado del código de error devuelto en cada línea de un pedido.
Parámetros: Ninguno.
ValidarUsuario
Propósito:Valida si el usuario y la clave son correctos para la sucursal especificada.
Si bien no es necesario ejecutar esta llamada antes que cualquier otra, es conveniente para saber
instantáneamente el estado de cuenta del cliente asociado al usuario.
Parámetros: tnEmpresa As Integer, tcUsuario As Character, tcClave As Character.
Ejemplo Llamada: ValidarUsuario(1, “webservice”, “123456”)
Respuesta: Cadena XML.
Dato | Tipo | Inicio | Fin | Longitud |
Número de Cuenta | Numérico | 1 | 6 | 6 |
Nombre de la Cuenta | Caracter | 7 | 31 | 25 |
Estado | Numérico | 32 | 33 | 2 |
Descripción de Estado | Caracter | 34 | 63 | 30 |
Pedido
Propósito: Envía un archivo de pedido en formato XML y recibe una respuesta en el mismo formato.
Parámetros: tnEmpresa As Integer, tcUsuario As Character, tcClave As Character, tcPedidoXML As Character,
tnFormato As Integer, tcTipo As Character, tcEntrega As Character.
Valores posibles para tnFormato:
1: Código de Barras: La búsqueda del producto se realiza exclusivamente por el código de barras especificado para ese producto
2: Formato SIAF: en el campo referencia debe estar el código SIAF del producto ocupando los 7 primeros lugares en formato 9999999, relleno con ceros por la izquierda. Los 13 lugares restantes se ignoran. La búsqueda se realiza por este código y si el producto no pudiera ser localizado, se utilizaría recién entonces el código de barras
3: Formato Multicuenta: en el campo de referencia debe estar el Código Droguería del producto, ocupando los 7 primeros lugares en formato 9999999, relleno con ceros por la izquierda. Los 13 lugares restantes se ignoran. La búsqueda se realiza por este código y si el producto no pudiera ser localizado, se utilizaría recién entonces el código de barras. Este formato tiene la particularidad de que si bien envía sólo un archivo XML puede generar pedidos para distintas cuentas sin tener que cambiar el usuario. Hay que tener en cuenta que:
a. Todos los códigos de clientes especificados en el archivo deben pertenecer al mismo grupo.
b.El grupo lo rige el código de cliente especificado en el usuario con el que se autentica.
NOTA: Si no sabe si sus cuentas están en un grupo, póngase en contacto con la administración de la sucursal correspondiente.
Valores posibles para tcTipo:
CONFIRMA el archivo XML pasado debe ser tomado como un pedido real.
Valores posibles para tcEntrega:
Fecha de entrega en formato dd/mm/aaaa .
Especifica la fecha en la que se requiere que sean entregados los productos.
Si no se la especifica se utiliza la fecha de hoy. No puede ser inferior a la fecha del día actual ni superior a la fecha actual más 15.
Formato 1 y 2 del archivo XML de pedido con esquema interno
Campo | Tipo | Longitud | Descripción |
Cod_Barra | Numérico | 13 | Código de Barras |
Cantidad | Numérico | 5 | Cantidad pedida |
Referencia | Caracter | 20 | Código de producto del cliente |
Formato 3 del archivo XML de pedido con esquema interno
Campo | Tipo | Longitud | Descripción |
Cod_Barra | Numérico | 13 | Código de Barras |
Cantidad | Numérico | 5 | Cantidad pedida |
Referencia | Caracter | 20 | Código de producto del cliente |
Cliente | Numérico | 7 | Número de Cuenta Corriente |
IMPORTANTE
Para confirmar un pedido, el estado de la cuenta debe ser 00 (Normal). Para una consulta no se contempla el estado de la cuenta. Ejemplo Llamada: Pedido(1, “webservice”, “123456”, [CadenaXML], 1, “CONFIRMA”, “20/05/2007”)
Respuesta: Cadena XML.
Formato del archivo XML con esquema interno
Campo | Tipo | Longitud | Descripción |
Cod_Barra | Numérico | 14 | Código de Barras |
Referencia | Caracter | 20 | Referencia recibida |
Cantidad | Numérico | 5 | Cantidad solicitada |
Sugerido | Numérico | 5 | Cantidad sugerida para comprar |
Falta | Numérico | 5 | Cantidad que no pudo ser enviada |
NumError | Numérico | 1 | Código de ERROR en esta línea del pedido |
Descrip | Carácter | 40 | Nombre del producto |
Precio_Far | Numérico | 15,2 | Precio farmacia $ |
Precio_Pub | Numérico | 15,2 | Precio público $ |
IVA | Numérico | 5,2 | Alícuota de IVA % |
Oferta | Numérico | 6,2 | Descuento % |
Desc_Final | Numérico | 6,2 | Descuento equivalente sobre público % |
UniFactura | Numérico | 4 | Unidades mínimas del Transfer |
Bonifica | Numérico | 4 | Unidades bonificadas |
TipPrecio | Caracter | 1 | Tipo de Precio 'D'roguería, 'F'armacia, 'P'úblico, Fi'J'o |
Desto | Numérico | 7,2 | Descuento de producto en Transfer $ |
Transfer | Carácter | 30 | Descripción del Transfer |
Codigo | Numérico | 7 | Código Droguería (SIAF compatible) |
Cliente | Numérico | 7 | Número de Cuenta Corriente |
IMPORTANTE
Cantidad en archivo de respuesta = Cantidad en archivo de pedido
Falta = Cantidad no disponible en stock.
Enviado= Cantidad – Falta
Los artículos de perfumería no tienen Precio Público
PedidoID
Propósito: Envía un archivo de pedido en formato XML y recibe una respuesta en el mismo formato y el ID del pedido web asociado.
Parámetros: tnEmpresa As Integer, tcUsuario As Character, tcClave As Character, tcPedidoXML As Character,
tnFormato As Integer, tcTipo As Character, tcEntrega As Character.
Valores posibles para tnFormato:
1: Código de Barras: La búsqueda del producto se realiza exclusivamente por el código de barras especificado para ese producto
2: Formato SIAF: en el campo referencia debe estar el código SIAF del producto ocupando los 7 primeros lugares en formato 9999999, relleno con ceros por la izquierda. Los 13 lugares restantes se ignoran. La búsqueda se realiza por este código y si el producto no pudiera ser localizado, se utilizaría recién entonces el código de barras
3: Formato Multicuenta: en el campo de referencia debe estar el Código Droguería del producto, ocupando los 7 primeros lugares en formato 9999999, relleno con ceros por la izquierda. Los 13 lugares restantes se ignoran. La búsqueda se realiza por este código y si el producto no pudiera ser localizado, se utilizaría recién entonces el código de barras. Este formato tiene la particularidad de que si bien envía sólo un archivo XML puede generar pedidos para distintas cuentas sin tener que cambiar el usuario. Hay que tener en cuenta que:
a. Todos los códigos de clientes especificados en el archivo deben pertenecer al mismo grupo.
b.El grupo lo rige el código de cliente especificado en el usuario con el que se autentica.
NOTA: Si no sabe si sus cuentas están en un grupo, póngase en contacto con la administración de la sucursal correspondiente.
Valores posibles para tcTipo:
CONFIRMA el archivo XML pasado debe ser tomado como un pedido real.
Valores posibles para tcEntrega:
Fecha de entrega en formato dd/mm/aaaa .
Especifica la fecha en la que se requiere que sean entregados los productos.
Si no se la especifica se utiliza la fecha de hoy. No puede ser inferior a la fecha del día actual ni superior a la fecha actual más 15.
Formato 1 y 2 del archivo XML de pedido con esquema interno
Campo | Tipo | Longitud | Descripción |
Cod_Barra | Numérico | 13 | Código de Barras |
Cantidad | Numérico | 5 | Cantidad pedida |
Referencia | Caracter | 20 | Código de producto del cliente |
Formato 3 del archivo XML de pedido con esquema interno
Campo | Tipo | Longitud | Descripción |
Cod_Barra | Numérico | 13 | Código de Barras |
Cantidad | Numérico | 5 | Cantidad pedida |
Referencia | Caracter | 20 | Código de producto del cliente |
Cliente | Numérico | 7 | Número de Cuenta Corriente |
IMPORTANTE
Para confirmar un pedido, el estado de la cuenta debe ser 00 (Normal). Para una consulta no se contempla el estado de la cuenta. Ejemplo Llamada: Pedido(1, “webservice”, “123456”, [CadenaXML], 1, “CONFIRMA”, “20/05/2007”)
Respuesta: Cadena XML.
Formato del archivo XML con esquema interno
Campo | Tipo | Longitud | Descripción |
Cod_Barra | Numérico | 14 | Código de Barras |
Referencia | Caracter | 20 | Referencia recibida |
Cantidad | Numérico | 5 | Cantidad solicitada |
Sugerido | Numérico | 5 | Cantidad sugerida para comprar |
Falta | Numérico | 5 | Cantidad que no pudo ser enviada |
NumError | Numérico | 1 | Código de ERROR en esta línea del pedido |
Descrip | Carácter | 40 | Nombre del producto |
Precio_Far | Numérico | 15,2 | Precio farmacia $ |
Precio_Pub | Numérico | 15,2 | Precio público $ |
IVA | Numérico | 5,2 | Alícuota de IVA % |
Oferta | Numérico | 6,2 | Descuento % |
Desc_Final | Numérico | 6,2 | Descuento equivalente sobre público % |
UniFactura | Numérico | 4 | Unidades mínimas del Transfer |
Bonifica | Numérico | 4 | Unidades bonificadas |
TipPrecio | Caracter | 1 | Tipo de Precio 'D'roguería, 'F'armacia, 'P'úblico, Fi'J'o |
Desto | Numérico | 7,2 | Descuento de producto en Transfer $ |
Transfer | Carácter | 30 | Descripción del Transfer |
Codigo | Numérico | 7 | Código Droguería (SIAF compatible) |
Cliente | Numérico | 7 | Número de Cuenta Corriente |
IMPORTANTE
Cantidad en archivo de respuesta = Cantidad en archivo de pedido
Falta = Cantidad no disponible en stock.
Enviado= Cantidad – Falta
Los artículos de perfumería no tienen Precio Público
GetPedidosAsoc
Propósito:Realiza una consulta del pedido web asociado, para obtener los datos del mismo.
Parámetros: tnEmpresa As Integer, tcUsuario As Character, tcClave As Character, tcIdPedidoAsoc As Integer
Ejemplo Llamada: GetPedidosAsoc(“1”,“webservice”, “123456”, “1730”)
Respuesta: Cadena XML.
Campo | Tipo | Longitud | Descripción |
pedido_web | Numérico | 10 | Pedido Web |
pedido_asoc | Numérico | 10 | Pedido Asociado Web |
fecha | Date | 8 | Fecha que ingreso el pedido a la web. |
cliente | Numérico | 10 | Código de cliente interno |
sucursal | Numérico | 2 | Código de Sucursal |
articulo | Numérico | 7 | Código interno de artículo |
cod_Barra | Numérico | 13 | Código de Barras |
cantidad | Numérico | 4 | Cantidad solicitada |
falta | Numérico | 4 | Faltas, productos sin stock |
estado_web | Numérico | 4 | Estado web del pedido |
ingreso_suc | Date | 8 | Fecha de ingreso del pedido en la sucursal |
Facturas
Propósito: Consultar la facturación (incluye Facturas, Notas de Crédito y Notas de Débito) o percepciones de un
periodo determinado.
Parámetros: tnEmpresa As Integer, tcUsuario As Character, tcClave As Character, tcGrupo As Character, tnCuenta
As Integer, tcDesde As Character, tcHasta As Character, tcItems As Character.
Valores posibles para tcGrupo:
G: la información devuelta corresponde al grupo de cuentas al cual pertenece la cuenta asociada al usuario utilizado para la autenticación.
C: la información devuelta corresponde sólo a una cuenta; si no se especifica ningún código en tnCuenta, se toma la cuenta asociada al usuario utilizado para la autenticación. En caso de especificar tnCuenta, debe pertenecer al mismo grupo que la cuenta del usuario utilizado para la autenticación
Valores posibles para tcDesde y tcHasta:
Rango de fechas en formato dd/mm/aaaa. El rango de consulta no puede superar los 7 días.
Valores posibles para tcItems
F la información devuelta corresponde a las cabeceras de los comprobantes.
D la información devuelta corresponde al detalle de líneas que componen los comprobantes.
P la información devuelta corresponde al detalle de las percepciones de los comprobantes.
Formato del archivo XML de COMPROBANTES con esquema interno
Campo | Tipo | Longitud | Descripción |
Sucursal | Integer | 4 | Código de sucursal donde se emitió el comprobante |
Comprobante | Caracter | 3 | Tipo de Comprobante |
Letra | Caracter | 1 | Letra del Comprobante |
Terminal | Integer | 4 | Punto de venta donde se emitió el comprobante |
Numero | Integer | 4 | Número del comprobante |
Hojas | Integer | 4 | Cantidad de hojas que componen el comprobante |
Fecha | Date | 8 | Fecha del comprobante |
CtaCte | Integer | 4 | Código de cliente en droguería |
CliSuc | Integer | 4 | Sucursal a la que pertenece el cliente |
BrutoGrav | Numérico | 15,2 | Importe Bruto Gravado $ |
BrutoNoGra | Numérico | 15,2 | Importe Bruto NO Gravado $ |
Descuento | Numérico | 15,2 | Descuento obtenido $ |
NetoGrav | Numérico | 15,2 | Importe Neto Gravado $ |
IVARI | Numérico | 15,2 | Importe IVA Resp. Inscripto $ |
PercIB | Numérico | 15,2 | Importe Percepción Ing. Brutos $ |
PercIVA | Numérico | 15,2 | Importe Percepción IVA |
IInt | Numérico | 15,2 | Importe Imp. Internos |
NetoNoGrav | Numérico | 15,2 | Importe Neto NO Gravado |
Total | Numérico | 15,2 | Importe Total del comprobante |
Items | Integer | 4 | Cantidad de ítems en el comprobante |
Unidades | Integer | 4 | Cantidad de unidades en el comprobante |
CAI | Numérico | 16 | CAEA del comprobante (originalmente CAI) |
VtoCAI | Date | 8 | Fecha de vencimiento del CAEA |
MarNC | Caracter | 2 | Tipo de nota de crédito/débito |
Formato del archivo XML de DETALLE DE COMPROBANTES con esquema interno
Campo | Tipo | Longitud | Descripción |
CodBarra | Numerico | 15 | Código de Barras del producto |
CtaCte | Integer | 4 | Código de cliente en droguería |
CliSuc | Integer | 4 | Sucursal a la que pertenece el cliente |
Sucursal | Integer | 4 | Código de sucursal donde se emitió el comprobante |
Comprobante | Caracter | 3 | Tipo de Comprobante |
Letra | Caracter | 1 | Letra del Comprobante |
Terminal | Integer | 4 | Punto de venta donde se emitió el comprobante |
Numero | Integer | 4 | Número del comprobante |
Fecha | Date | 8 | Fecha del comprobante |
Hoja | Integer | 4 | Hoja del comprobante en la que se encuentra el producto |
Renglon | Integer | 4 | Posición del producto dentro de la hoja |
Articulo | Integer | 4 | Código de producto según Droguería |
Cantidad | Integer | 4 | Cantidad facturada del producto |
Descrip | Caracter | 60 | Descripción del producto |
Precio_L | Numérico | 15,2 | Precio de Lista $ (Incluye IVA si el producto tiene IVA y letra=B) |
IVA1 | Numérico | 15,2 | IVA % |
Referencia | Caracter | 20 | (Uso Interno) |
Lote | Caracter | 15 | Lote (si corresponde) |
VtoLote | Date | 8 | Fecha de vencimiento del lote (si corresponde) |
Precio_N2 | Numérico | 15,2 | Precio neto unitario de la línea $(Incluye IVA si el producto tiene IVA y letra=B) |
Pedido | Integer | 4 | Número de Pedido en Droguería |
PreFin | Numérico | 15,2 | (Precio_L * Cantidad) – Dto $ |
ImpDesc | Numérico | 15,2 | Igual a Dto $ |
SubTot | Numérico | 15,2 | Precio_L * Cantidad $ |
Formato del archivo XML de DETALLE DE PERCEPCIONES con esquema interno
Campo | Tipo | Longitud | Descripción |
CtaCte | Integer | 4 | Código de cliente en droguería |
Comprobante | Caracter | 3 | Tipo de Comprobante |
Letra | Caracter | 1 | Letra del Comprobante |
Terminal | Integer | 4 | Punto de venta donde se emitió el comprobante |
Numero | Integer | 4 | Número del comprobante |
Fecha | Date | 8 | Fecha del comprobante |
CodJur | Integer | 4 | Código de jurisdicción |
Provincia | Caracter | 1 | Código de Provincia |
Importe | Numérico | 20,4 | Importe Percibido $ |
BaseImp | Numérico | 20,4 | Base Imponible |
Porcentaje | Numérico | 10,4 | Porcentaje Percibido |
DescripFac | Integer | 25 | Descripción de la Resolución de la percepción |
PorExen | Carácter | 8,2 | Porcentaje de Exención si lo hubiere % |
Stock / Precio
Propósito:Realiza una consulta de stock y precios para el listado de articulos enviados, considerando cliente y sucursal.
Permite un máximo de 500 articulos, separados por punto y coma (;).
Parámetros: tcUsuario As Character, tcClave As Character, tcTipo As Integer, tcArticulos As Character, tcCliente as Integer
Valores posibles para tcTipo:
0: Busca por todo (Código suizo, Codigo barra, Alfabeta, Siaf)
1: Solo por código interno suizo
2: Solo por código de barra
3: Solo por código Siaf
4: Solo por código Alfabeta
Ejemplo Llamada: Stock(“webservice”, “123456”, “0”, “26169;7793640000747”, “8000”)
Respuesta con resultados: Cadena XML.
Campo | Tipo | Longitud | Descripción |
Código | Numérico | 7 | Código Droguería (SIAF compatible) |
Cod_Barra | Numérico | 13 | Código de Barras |
Alfabeta | Numérico | 7 | Alfabeta |
Descrip | Caracter | 40 | Nombre del producto |
Precio_Pub | Numérico | 15,2 | Precio público $ |
Precio_Far | Numérico | 15,2 | Precio farmacia $ |
Oferta | Numérico | 6,2 | Descuento % |
Stock | Caracter | 5 | Stock disponible. Valores posibles: Si, No, Pocos. |
Respuesta sin resultados: Cadena XML.
Campo | Tipo | Longitud | Descripción |
Error | Caracter | 50 | Detalle del error |
Pruebas WS
Se puede usar SOAPUI para las pruebas, con la versión Open Source alcanza.