Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Versión 08-10-2020
Online Banking Cash Management – WebServices
Manual de uso Técnico
- Contenido -
1 PREFACIO .............................................................................................................................. 3
2 GUÍA DE REFERENCIA ......................................................................................................... 4
3 INTRODUCCIÓN .................................................................................................................... 5
4 MANEJO DE LA ENCRIPCIÓN MEDIANTE EL MÓDULO RSABC ...................................... 6
4.1 PREPARACIÓN DE ARCHIVOS Y TAGS PARA ENVIAR AL BANCO ............................................. 6
4.1.1 Armado del MD5 del archivo plano ....................................................................... 6
4.1.2 Encripción del archivo a enviar al Banco .............................................................. 7
4.1.3 Preparado de la clave 3Des para enviar al Banco ................................................ 7
4.1.4 Preparado del TAG de firmantes ........................................................................... 8
4.2 OBTENCIÓN DE ARCHIVOS DESDE EL BANCO ...................................................................... 9
4.2.1 Desencripción del archivo ..................................................................................... 9
4.2.2 Obtención y verificación de la firma del archivo .................................................... 9
4.2.3 Resumen de los pasos para enviar y recibir un archivo ..................................... 10
5 COBRANZA INTERACTIVA Y PAGOS ............................................................................... 11
5.1 PRODUCTOS Y FUNCIONES ............................................................................................. 11
PARA AQUELLAS FUNCIONES QUE REQUIERAN LOS TAGS DE FIRMANTES , EL TIPO DE DOCUMENTO
PUEDE TENER ALGUNO DE LOS SIGUIENTES VALORES:.................................................................... 12
5.2 FUNCIONES PARA EL MODULO DE DEUDA ......................................................................... 12
5.2.1 Función 1: Importación de archivo de publicación de deuda. ............................. 12
5.2.2 Función 2: Exportación de archivos de rechazos de deuda ............................... 22
5.2.3 Función 3: Exportación de archivos de rendición de Cobranzas ........................ 23
5.2.4 Función 4: Consulta de estado de un envío de deuda ........................................ 25
5.2.5 Función 5: Consulta de archivos de rechazos de deuda. ................................... 28
5.2.6 Función 6: Consulta de archivos de rendición de deuda por rango de fechas ... 29
5.2.7 Función 7: Publicación de Deuda On Line .......................................................... 30
5.2.8 Función 8: Pedido de archivo de información adicional IA4 ............................... 38
5.2.9 Función 9: Consulta de Cobros ONLINE ............................................................ 40
5.2.10 Función 12: Publicación de DEBIN On Line........................................................ 46
5.3 FUNCIONES PARA EL MODULO DE PAGOS ......................................................................... 55
5.3.1 Función 1: Importación de archivo de pagos ...................................................... 55
5.3.2 Función 2: Exportación de archivos de pagos .................................................... 58
5.3.3 Función 3: Consulta de estado de un envío de pago .......................................... 60
5.3.4 Función 4: Consulta de archivos de rechazos de pago. ..................................... 62
5.3.5 Función 5: Consulta de archivos de rendición de pago por rango de fechas ..... 63
6 CONFIGURACIONES........................................................................................................... 66
6.1 INVOCACIÓN A ONLINE CASH MANAGEMENT - WEBSERVICES. .......................................... 66
6.1.1 Invocación al WebService con el cliente provisto ............................................... 66
6.1.2 Invocación al Web Service sin el cliente provisto ............................................... 67
6.2 CONFIGURACIONES Y URLS DE ACCESO AL SISTEMA ....................................................... 68
2
Online Banking Cash Management – WebServices
Manual de uso Técnico
1 Prefacio
Este manual está destinado al responsable técnico de integrar los sistemas de la Empresa
Cliente con los Web Services del Banco Santander Río S.A. A lo largo del mismo se detallan los
elementos necesarios para establecer la interconexión con los Servicios del Banco:
Clases y métodos.
Estructura de archivos XML.
Funcionalidad.
Metodología de encripción de archivos y firmas.
3
Online Banking Cash Management – WebServices
Manual de uso Técnico
2 Guía de Referencia
Los tipos de letras e íconos detallados a continuación tienen el siguiente significado a lo largo de
este manual técnico:
Nota
4
Online Banking Cash Management – WebServices
Manual de uso Técnico
3 Introducción
Los WebServices de Online Cash Management intercambiarán información con los clientes por
medio de una conexión SOAP sobre HTTPS con autenticación a ambos lados. A tal efecto es
necesario que el cliente disponga del certificado que le permita efectuar tal conexión. El mismo
es emitido por la autoridad certificadora designada por Banco Santander Río S.A.
Cada cliente que desee incorporar la modalidad de transmisión vía webservices deberá construir
las interfaces necesarias en sus sistemas para que se generen tanto los archivos a enviar como
los XML que contienen los parámetros requeridos para cada invocación.
Los XMLs podrán contener elementos firmados, compactados y encriptados. Estos deberán ser
generados utilizando los estándares definidos por Banco Santander Río S.A..
La Empresa, a través de su sistema, invocará una URL donde enviará distintos datos contenidos
en un XML, mediante el protocolo SOAP. De esta manera se podrán efectuar los procesos de
recepción, envío y consultas. El XML será distinto para cada función a invocar.
Los XMLs recibidos por el servidor serán validados utilizando schemas. Los schemas validarán
que los campos obligatorios estén presentes, los tipos, las longitudes y los valores posibles.
5
Online Banking Cash Management – WebServices
Manual de uso Técnico
La elección del Esquema de seguridad deberá ser consensuada de común acuerdo entre el
Cliente y el Banco y una vez establecida no podrá ser modificada unilateralmente.
En el caso en que el Cliente acuerde con el Banco que utilizará el esquema de encripción,
deberá enviar y recibir todos los archivos en forma encriptada. Para poder recibir o enviar
archivos no encriptados, el cliente deberá comunicar la decisión al Banco previamente al envío.
El módulo RSABC es la solución propuesta por el Banco para la encripción de archivos tanto en
el cliente como en el servidor. Este módulo trabaja con la encripción RSA PCKS1 (en los casos
en que se requiera trabajar con RSA) y 3DES ECB/PKCS5Padding para la encripción de
archivos.
Lo primero que se debe hacer para preparar un envío es obtener el MD5 del archivo plano a
enviar, el cual se debe encriptar luego con la clave privada del cliente. El siguiente código
muestra como la librería RSABC obtiene el MD5 del archivo:
RSABC.obtenerMD5("c:\envio.txt");
...
String str = RSABC.procesarStringPriv(true,
"C:\cliente.P12",
password",
RSABC.obtenerMD5("C:\envio.txt"));
...
6
Online Banking Cash Management – WebServices
Manual de uso Técnico
El paso siguiente es la compactación del archivo mediante el algoritmo de ZIP. Esta encripción
se realiza mediante librerías standard.
...
//Generación de la clave
Provider p = new org.bouncycastle.jce.provider.BouncyCastleProvider();
byte[] key = new byte[24];
Random r = new Random();
r.nextBytes(key);
SecretKey secKey = new SecretKeySpec(key, "DESede");
TripleDES t = new TripleDES();
t.encriptar( "C:\\archivo.zip", "c:\\archivo.3des", secKey, true);
...
La clave generada en el paso anterior deberá ser encriptada con la clave pública del Banco y
colocada en el tag <clave3Des> (ver XML de envío de archivo). Los pasos para preparar la clave
de manera que pueda ser colocada en el tag mencionado se pueden observar en el siguiente
código:
7
Online Banking Cash Management – WebServices
Manual de uso Técnico
...
String sKey = new String(key);
Base64 b64 = new Base64();
String claveB64 = b64.encode(key);
RSABC.procesarStringPubCert(true, "c:\BancoRio.cer", claveB64);
...
Donde cadena es la concatenación de los campos de los firmantes. Si se quieren enviar por
ejemplo los DNIs 23485674, 22487556 y 21693485 el valor de la cadena sobre la que se debe
hacer el MD5 debe ser:
<tpoDoc>N</tpoDoc><nroDoc>23485674</nroDoc><tpoDoc>N</tpoDoc><nroDoc>22487556</
nroDoc><tpoDoc>N</tpoDoc><nroDoc>21693485</nroDoc>
Luego se debe encriptar el digesto con la clave privada del cliente, de la misma forma que se ha
encriptado el MD5 del archivo. El siguiente código muestra el proceso completo:
...
firmantes = "<tpoDoc>N</tpoDoc><nroDoc>23485674</nroDoc>
<tpoDoc>N</tpoDoc><nroDoc>22487556</nroDoc><tpoDoc>N</tpoDoc>
<nroDoc>21693485</nroDoc>";
En caso de que no se hayan enviado firmantes, es necesario indicar el hecho al Banco, por lo
que el string que se debe emplear es:
<tpoDoc></tpoDoc><nroDoc></nroDoc><tpoDoc></tpoDoc><nroDoc></nroDoc><tpoDoc></t
poDoc><nroDoc></nroDoc><tpoDoc></tpoDoc><nroDoc></nroDoc><tpoDoc></tpoDoc><nroD
oc></nroDoc>
Finalmente el resultado debe ser ubicado en el tag <firmaFirmantes> del XML de envío.
8
Online Banking Cash Management – WebServices
Manual de uso Técnico
Para desencriptar el archivo, lo primero que se debe hacer es obtener la clave 3Des. Dicha clave
se encuentra en el tag <clave3Des>, encriptada con la clave pública del cliente. Para
desencriptarla, es necesario realizar el paso inverso al hecho en la sección anterior. Esto se
puede ver en el siguiente código:
...
String str = RSABC.procesarStringPriv (false,
"C:\certificado.P12",
"password",
Clave3DES);
Base64 b64 = new Base64();
byte[] key = b64.decode(key);
...
...
SecretKey secKey = new SecretKeySpec(key, "DESede");
TripleDES t = new TripleDES();
t.encriptar( "C:\\archivo.zip", "C:\\archivo.3des", secKey, false);
...
La firma del archivo viene encriptada con la clave privada del Banco. Por consiguiente, es
necesario desencriptarla con la clave pública del Banco. Esto se puede ver en el siguiente
ejemplo:
9
Online Banking Cash Management – WebServices
Manual de uso Técnico
...
RSABC.procesarStringPubCert(false, "Banco.cer", firma);
...
El resultado obtenido es un MD5, el cual representa el digesto del archivo plano. Para corroborar
que el mismo corresponde al archivo enviado por el Banco, es necesario descompactar el
archivo recibido (luego de desencriptado si corresponde) y obtener el digesto MD5 del mismo
(mediante la función obtenerMD5 mostrada en el caso de la preparación para el envío).
Obtener el MD5 del archivo plano y encriptarlo con la clave privada del cliente. Esa cadena
debe ser ubicada en el tag <firmaArchivo>.
Comprimir el archivo utilizando la librería standard ZIP de Java.
Generar la clave de 3DES, en caso que la empresa decida operar encriptando.
Encriptar el archivo comprimido con la clave 3DES generada en el paso anterior.
Enviar la clave en el tag <clave3Des>, firmada con la clave pública del Banco (obtenida de
su certificado .cer).
Armar la firma de firmantes, obteniendo el MD5 de la concatenación de sus campos. Una
vez realizada esta operación, la cadena obtenida es introducida en el tag <firmantes>.
10
Online Banking Cash Management – WebServices
Manual de uso Técnico
Cada función presenta su propia interfaz hacia el servidor (representada por un XML) que cuenta
con una parte general a todas las funciones y una particular para cada una de ellas.
Parámetros de Entrada
Campo Oblig. Form. Descripción
moduloRioserv SI Char Indica el módulo en el cual se quiere realizar la
operación.
codproducto SI Num(3) Indica el código de producto empleado
instancia SI Num(2) Indica el número de instancia de producto.
funcion SI Num(1) Indica la funcionalidad a invocar.
marEmpresa Si Num (1) Dígito desempatador de la Empresa (Generalmente es
Cero, pero consultar el dato al Banco).
cuit SI Num(11) Indica el CUIT de la Empresa.
11
Online Banking Cash Management – WebServices
Manual de uso Técnico
Las funciones disponibles para cada uno de los productos enunciados en la tabla anterior, se
muestran a continuación:
Código Descripción
Cobranza Interactiva
1 Importación de archivo de publicación de deuda.
2 Exportación de archivos de rechazos de deuda.
3 Exportación de archivos de rendición de Cobranzas.
4 Consulta del estado de un envío de deuda.
5 Consulta de archivos de rechazos de deuda.
6 Consulta de archivos de rendición de deuda por rango de fechas.
7 Publicación de deuda ONLINE
8 Solicitud de generación de rendición de información adicional IA4
9 Consulta de Cobros ONLINE
Envío de Pagos
1 Importación de un archivo de pagos.
2 Exportación de archivos de pagos.
3 Consulta de estado de un envío de pagos.
4 Consulta de archivos de rechazo de pagos.
5 Consulta de archivos de rendición de pagos por rango de fechas.
Para aquellas funciones que requieran los tags de firmantes, el tipo de documento puede tener
alguno de los siguientes valores:
Tipos de Documento
N DNI
C LIBRETA CIVICA
E LIBRETA DE ENROLAMIENTO
I CEDULA DE IDENTIDAD
M CEDULA MILITAR
P PASAPORTE
T CUIT
L CUIL
D CDI
X DNI EXTRANJERO
F CERTIFICADO INTERNACIONAL
12
Online Banking Cash Management – WebServices
Manual de uso Técnico
El archivo a transmitir debe estar previamente compactado (Zip) y puede estar opcionalmente
encriptado (3DES). Asimismo, no puede contener más de un envío.
Parámetros de entrada:
El Web Service deberá recibir un XML que contará con los siguientes tags 1:
Parámetros de Entrada
firmaArchivo SI Char MD5 encriptado con clave privada del cliente del archivo
plano (long string 512)
Clave3des NO Char Clave 3DES con la que fue encriptada el archivo, encriptada
con la clave pública del Banco.
(long string 512)
1 En caso de no emplear el cliente provisto por el Banco, el tag archivo se debe enviar vacío. El
resto de los tags y la obligatoriedad de los mismos se mantiene idéntica.
13
Online Banking Cash Management – WebServices
Manual de uso Técnico
Parámetros de salida:
Parámetros de Salida
Campo Oblig. Form. Descripción
status SI Num(1) Status del mensaje (error/warning/OK)
código SI Num(2) Indica el código de retorno del procesador.
descripción SI Char Descripción del código devuelto.
14
Online Banking Cash Management – WebServices
Manual de uso Técnico
15
Online Banking Cash Management – WebServices
Manual de uso Técnico
16
Online Banking Cash Management – WebServices
Manual de uso Técnico
17
Online Banking Cash Management – WebServices
Manual de uso Técnico
18
Online Banking Cash Management – WebServices
Manual de uso Técnico
19
Online Banking Cash Management – WebServices
Manual de uso Técnico
XML de entrada:
20
Online Banking Cash Management – WebServices
Manual de uso Técnico
<cant_reg>0000014</cant_reg>
<ult_rendic>99047</ult_rendic>
<archivo>D:/ArchivoEncriptado.3des</archivo>
<firmaArchivo>
9777f3e2623e73faac7b34f21c2354ef2b528cfe
...
</firmaArchivo>
<firmaFirmante>
2d40c81bfaa5e2421b18cad0e34355a0dd6aa0
...
</firmaFirmante>
<firmantes>
<tpoDoc>N</tpoDoc>
<nroDoc>12345678</nroDoc>
...
</firmantes>
<clave3Des>
48e102f7595d836854a35bb657b0c118c4e614fbe106c16319f
...
</clave3Des>
</pedido>
21
Online Banking Cash Management – WebServices
Manual de uso Técnico
XML de salida:
<respuesta>
<código>5</código>
<descripcion>
-= FIN DE TRANSMISION DEL ARCHIVO DESDE EL CLIENTE =-
</descripcion>
<status>0</status>
</respuesta>
Parámetros de entrada:
Parámetros de Entrada
Campo Oblig. Form. Descripción
moduloRioserv SI Char Debe ser igual a 001.
Parámetros de salida:
22
Online Banking Cash Management – WebServices
Manual de uso Técnico
Parámetros de Salida
Campo Oblig. Form. Descripción
código SI Num(2) Indica el código de retorno del procesador.
Descripción SI Char(2) Descripción del código devuelto.
Status SI Char Indica si la devolución es error/warning/ok
Archivo SI Archivo Archivo Pedido
firmaArchivo Si Char Firma del Archivo Pedido.
claveTripleDes No Char Clave 3DES del archivo si este se encuentra encriptado
XML de entrada:
<pedido>
<moduloRioserv>001</moduloRioserv>
<codproducto>001</codproducto>
<instancia>01</instancia>
<funcion>2</funcion>
<cuit>30700005573</cuit>
<marEmpresa>0</marEmpresa>
<archivo>R307000055730010022006051700002162424.txt</archivo>
<directorioDownload>C:\usuario\</directorioDownload>
</pedido>
XML de salida:
<respuesta>
<código>73</código>
<descripcion>El Archivo ha sido transmitido exitosamente al
cliente.</descripcion>
<status>0</status>
<firmaArchivo>62...17e31cbe29c129964</firmaArchivo>
<claveTripleDes>0963....733da390b78c</claveTripleDes>
<archivo>3ykxlLUfds...fd4Y4iwa2XGO4=</archivo>
</respuesta>
Parámetros de entrada:
Parámetros de Entrada
Campo Oblig. Form. Descripción
moduloRioserv SI Char Debe ser igual a 001.
23
Online Banking Cash Management – WebServices
Manual de uso Técnico
Parámetros de salida:
Parámetros de Salida
Campo Obigl. Form. Descripción
código SI Num(2) Indica el código de retorno del procesador.
descripción SI Char(2) Descripción del código devuelto.
status SI Char Indica si la devolución es error/warning/ok
archivo SI Archivo Archivo Pedido
firmaArchivo Si Char Firma del Archivo Pedido.
claveTripleDes No Char Clave 3DES del archivo si este se encuentra encriptado
XML de entrada:
<pedido>
<moduloRioserv>001</moduloRioserv>
<codproducto>001</codproducto>
<instancia>01</instancia>
<funcion>3</funcion>
<cuit>30700005573</cuit>
<marEmpresa>0</marEmpresa>
<archivo>FE30700005573000101-00001-00001-20060510.txt</archivo>
<directorioDownload>C:\usuario\</directorioDownload>
</pedido>
XML de salida:
<respuesta>
<código>73</código>
<descripcion>El Archivo ha sido transmitido exitosamente al
cliente.</descripcion>
<status>0</status>
<firmaArchivo>966...91345ad78d</firmaArchivo>
24
Online Banking Cash Management – WebServices
Manual de uso Técnico
<claveTripleDes>9c8...07d</claveTripleDes>
<archivo>cG6MR2...TbULL7CIkB7vNhvTOU/98g==</archivo>
</respuesta>
Parámetros de entrada:
Parámetros de Entrada
Campo Oblig. Form. Descripción
moduloRioserv SI Char Debe ser igual a 001.
codproducto SI Num(3) Indica el código de producto empleado
instancia SI Num(2) Indica el número de instancia de producto.
funcion SI Num(1) Debe ser igual a 4.
cuit SI Num(11) Indica el CUIT de la Empresa.
marEmpresa Si Num(1) Indica el dígito desempatador de la Empresa (Generalmente es
Cero, pero consultar el dato al Banco)..
nroEnvio SI Num(5) Indica el número de envío.
fechaProceso SI Date(8) Indica la fecha en la que se realizó el envío que se quiere
consultar.
Parámetros de salida:
Parámetros de Salida
Campo Obl. Form. Descripción
Código SI Num Indica el código de retorno del procesador.
descripción SI Char Descripción del código devuelto.
Status SI Char Indica si la devolución es error/warning/ok
Estado SI Char Código del estado.
descripcionEstado SI Char Descripción del código de estado devuelto.
Tipo de
Código Descripción Estado Mensaje Observaciones
estado
El envío fue recibido por el
0 VALIDADA TRANSITORIO backend del banco y está
listo para ser procesado.
El envío fue validado por el
VALIDACION backend del banco, pero
1 CON TRANSITORIO existen registros rechazados.
RECHAZOS Para consultar y descargar el
archivo de rechazos en
validación deberán ejecutarse
25
Online Banking Cash Management – WebServices
Manual de uso Técnico
Tipo de
Código Descripción Estado Mensaje Observaciones
estado
las funciones 2 y 5
respectivamente.
El envío fue procesado por
PROCESADA el backend del banco y no
2 FINAL
TOTALMENTE presenta registros
rechazados.
El envío fue procesado por
el backend del banco, pero
El estado del contiene algunos registros
rechazados. Para consultar y
18 envío ha sido PROCESADA
3 FINAL descargar el archivo de
obtenido PARCIALMENTE
rechazos en validación
satisfactoriamente deberán ejecutarse las
funciones 2 y 5
respectivamente,
El envío fue procesado por
el backend del banco, pero
todos los registros se han
rechazado. Para consultar y
4 RECHAZADA FINAL descargar el archivo de
rechazos en validación
deberán ejecutarse las
funciones 2 y 5
respectivamente.
26
Online Banking Cash Management – WebServices
Manual de uso Técnico
Tipo de
Código Descripción Estado Mensaje Observaciones
estado
PROCESO El envío fue recibido y está
pendiente de ser procesado
por el backend del banco.
Mensaje interno del Banco.
El envío fue recibido y ha
95 TRANSMITIDA TRANSITORIO sido transmitido al backend
del banco para ser
procesado.
Tipo de
Código Descripción Estado Mensaje Observaciones
estado
100 ERROR DE El envío fue recibido por
DESCOMPACTACION el webservice del banco
FINAL
pero no se ha podido
deszipear.
101 ERROR DE El envío fue recibido por
DESENCRIPCION el webservice del banco
pero no se ha podido
FINAL
desencriptar. Verificar lo
El estado del informado en el tag
envío ha sido clave3des
obtenido 102 FIRMA INVALIDA El envío fue recibido por
18
satisfactoriamente el webservice del banco
pero la firma digital es
FINAL
inválida. Verificar lo
informado en el tag
firmaArchivo
Error interno del banco.
El estado del 103 TRANSMISION El envío fue recibido por
envío ha sido INCOMPLETA el webservice del banco
18 obtenido FINAL pero no ha podido ser
satisfactoriamente transmitido al backend.
La empresa deberá volver
a transmitir el envío.
XML de entrada:
27
Online Banking Cash Management – WebServices
Manual de uso Técnico
XML de salida:
<respuesta>
<status>0</status><codigo>18</codigo><descripcion>El estado del envio ha sido
obtenido satisfactoriamente.</descripcion><estado>92</estado>
</respuesta>
Parámetros de entrada:
Parámetros de Entrada
Parámetros de salida:
Parámetros de Salida
Campo Oblig. Form. Descripción
código SI Num(2) Indica el código de retorno del procesador.
descripcion SI Char Descripción del código devuelto.
Status SI Char Indica si la devolución es error/warning/ok
Archivo SI Char Nombre del Archivo. Este campo se repite n veces por cada archivo
encontrado.
XML de entrada:
28
Online Banking Cash Management – WebServices
Manual de uso Técnico
<pedido>
<moduloRioserv>001</moduloRioserv>
<codproducto>001</codproducto>
<instancia>02</instancia>
<funcion>5</funcion>
<marEmpresa>0</marEmpresa>
<cuit>30700005573</cuit>
<nroEnvio>05457</nroEnvio>
</pedido>
XML de salida:
<respuesta>
<status>0</status>
<código>19</código>
<descripcion>El listado de archivos de rechazo ha sido obtenido
satisfactoriamente.</descripcion>
<archivo>R307000055730001020705457F20070814-H151126.TXT</archivo>
</respuesta>
Parámetros de entrada:
Parámetros de Entrada
tpoRendicion SI Char Indica los tipos de rendiciones posibles a pedir. Los valores
posibles son RND (rendición de Cobranzas y factura electrónica),
INF (información adicional), LIS (listados).
29
Online Banking Cash Management – WebServices
Manual de uso Técnico
Parámetros de salida:
Parámetros de Salida
Campo Oblig. Form. Descripción
código SI Num(2) Indica el código de retorno del procesador.
descripcion SI Char Descripción del código devuelto.
status SI Char Indica si la devolución es error/warning/ok
archivo SI Char Nombre del Archivo. Este campo se repite n veces por cada archivo
encontrado.
XML de entrada:
<pedido>
<moduloRioserv>001</moduloRioserv>
<codproducto>001</codproducto>
<instancia>01</instancia>
<funcion>6</funcion>
<cuit>30700005573</cuit>
<marEmpresa>0</marEmpresa>
<tpoRendicion>RND</tpoRendicion>
<fechaDesde>20000101</fechaDesde>
<fechaHasta>20070504</fechaHasta>
</pedido>
XML de salida:
<respuesta>
<status>0</status>
<código>21</código>
<descripcion>El listado de archivos de rendiciones ha sido obtenido
satisfactoriamente.</descripcion>
<archivo>FE30700005573000101-00500-00001-20060510.txt</archivo>
<archivo>FE30700005573000101-05560-00001-20060510.txt</archivo>
</respuesta>
Esta función permite transmitir el o los documentos de deuda a publicar en forma on-line, que
serán tratados como altas, para ser procesados por el banco.
30
Online Banking Cash Management – WebServices
Manual de uso Técnico
Aclaraciones:
1. Si un cliente envía 10 documentos se informarán las 10 ocurrencias con sus
contenidos; no hará falta que envía las 10 restantes con los tags en blanco o cero.
2. Para los campos no obligatorios, si no existe valor para informar no es necesario
generar el tag correspondiente.
3. En los campos numéricos, si no se utiliza toda la longitud de campo se debe rellenar
con ceros a la izquierda, SALVO en el tag Nro_Doc donde debe informarse
solamente el documento real del firmante sin relleno de ceros a la izquierda.
4. En los campos alfabéticos, usar solamente la longitud de campos necesaria. No es
necesario completar rellenando con espacios en blanco a la derecha dentro del tag.
5. En los importes con decimales, deberá utilizarse punto ( . ) como separador de
decimales.
6. Los tags referentes a Fechas (Fec_1er_vto / Fech_2do_vto / Fech_ hasta_dscto /
Fech_ hasta_ Punit) NO son obligatorios si la empresa NO opera con vencimientos.
Si OPERA con vencimientos (trabado por acuerdo), es OBLIGATORIO informar el
TAG con fechas válidas que se manejen dentro del rango de menores al año 0099
(ej. 01-01-0099) y las mayores al año 9900 (ej. 01-01-9999). Se rechazarán fechas
inválidas (ej. 35-02-2006).
7. Para los tags alfanuméricos: No está soportado enviar caracteres especiales,
principalmente nombres con Apóstrofe y Ampersand.
Parámetros de entrada:
31
Online Banking Cash Management – WebServices
Manual de uso Técnico
Fin 5 Repeticiones
Firma digital del contenido del tag Firmantes.
FirmaFirmante Alf(512) S
Firma_documentos y firmaFirmante estarán siempre,
independientemente de si encripta o no. Esto es para el
cliente Java y para clientes webservices desarrollados por la
propia empresa. Para el cliente .Net es opcional, si no
existen los genera automáticamente y si existen no los
modifica.
(long string 512)
Datos S Tag con los documentos que se publican
*Si la empresa no encripta enviará los tags detallados a continuación:
Ocurrencias hasta 20 repeticiones
Tipo Descripción
FC Factura
NC Nota de Crédito
ND Nota de Débito
AP Anticipo
PC Pago a Cuenta
OP Orden de Pago
CA Anticipos al Crédito
32
Online Banking Cash Management – WebServices
Manual de uso Técnico
fec_hasta_dscto Alf(8) N Fecha límite hasta la cual el cliente puede pagar la factura
con el importe de pronto pago. (AAAAMMDD).
Tipo Descripción
0 Contribuyente Exento
1 Contribuyente Local
2 Convenio Multilateral
9 No Informado
33
Online Banking Cash Management – WebServices
Manual de uso Técnico
Tipo Descripción
1 Consumidor Final
2 Responsable Monotributo
3 Responsable exento o no alcanzado
4 Responsable No Inscripto
5 Responsable Inscripto sin Percepción
6 Responsable Inscripto con Percepción
7 Sujeto no Categorizado
Fin 20 Repeticiones
* Si la empresa encripta enviará el tag detallado a continuación:
documentos_encriptados Resultado del proceso de encriptación sobre el contenido del
tag Datos. Esto es para el cliente Java y para clientes
webservices desarrollados por la propia empresa. Para el
cliente .Net es opcional, si no existe lo genera
automáticamente a partir de los tags <documento> y si existe
no lo modifica.
* Tanto si la empresa encripta como si no encripta firmará el contenido de ‘Datos’
firma_documentos S Firma digital del contenido del tag ‘Datos’.
Firma_documentos y firmaFirmante estarán siempre ,
independientemente de si encripta o no. Esto es para el
cliente Java y para clientes webservices desarrollados por la
propia empresa. Para el cliente .Net es obligatorio si existe el
tag documentos_encriptados sino es opcional (si existe el tag
documentos_encriptados entonces no existen los tags
<documento> y el cliente no pude calcular la
firma_documentos), si no existen los genera
automáticamente y si existen no los modifica.
34
Online Banking Cash Management – WebServices
Manual de uso Técnico
XML de entrada:
<pedido>
<modulorioserv>001</modulorioserv>
<funcion>7</funcion>
<cuit>...</cuit>
<marempresa>...</marempresa>
<codproducto>...</codproducto>
<instancia>...</instancia>
<cod_canal>...</cod_canal>
<nro_envio>...</nro_envio>
<ult_rendic>...</ult_rendic>
<importe_total>...</importe_total>
<cant_documentos>...</cant_documentos>
<firmantes>
<tpo_doc>...</tpo_doc>
<nro_doc>...</nro_doc>
...
<tpo_doc>...</tpo_doc>
<nro_doc>...</nro_doc>
</firmantes>
<firma_firmantes>...</firma_firmantes>
<datos>
<documento>
<tpo_oper>...</tpo_oper>
<nro_clte>...</nro_clte>
<tpo_cprb>...</tpo_cprb>
<nro_cprb>...</nro_cprb>
<nro_cuo>...</nro_cuo>
<cod_mone>...</cod_mone>
<nom_clte>...</nom_clte>
<des_dire>...</des_dire>
<des_loc>...</des_loc>
<pref_cpost>...</pref_cpost>
<nro_cpost>...</nro_cpost>
<ubic_cpost>...</ubic_cpost>
<fec_1er_vto>...</fec_1er_vto>
<imp_1er_vto>...</imp_1er_vto>
<fec_2do_vto>...</fec_2do_vto>
<imp_2do_vto>...</imp_2do_vto>
<fec_hasta_dscto>...</fec_hasta_dscto>
<imp_pronto_pago>...</imp_pronto_pago>
<fec_hasta_punit>...</fec_hasta_punit>
<tsa_punit>...</tsa_punit>
<mar_excep_3ra>...</mar_excep_3ra>
<cod_form_pago>...</cod_form_pago>
<cui_clte>...</cui_clte>
<ing_brutos>...</ing_brutos>
<cod_cond_iva>...</cod_cond_iva>
<cod_concepto>...</cod_concepto>
<des_docum>...</des_docum>
<obs_lib_1er>...</obs_lib_1er>
<obs_lib_2da>...</obs_lib_2da>
<obs_lib_3ra>...</obs_lib_3ra>
<obs_lib_4ta>...</obs_lib_4ta>
<obs_lib_5ta>...</obs_lib_5ta>
<sin_uso_ocurrs>...</sin_uso_ocurrs>
<sin_uso>...</sin_uso>
35
Online Banking Cash Management – WebServices
Manual de uso Técnico
</documento>
...
<documento>...</documento>
</datos>
<firma_documentos>...</firma_documentos>
</pedido>
<pedido>
<moduloRioserv>001</moduloRioserv>
<funcion>7</funcion>
<cuit>...</cuit>
<marEmpresa>...</marEmpresa>
<codproducto>...</codproducto>
<instancia>...</instancia>
<cod_canal>...</cod_canal>
<nroEnvio>...</nroEnvio>
<ult_rendic>...</ult_rendic>
<importe_total>...</importe_total>
<cant_documentos>...</cant_documentos>
<firmantes>
<tpoDoc>...</tpoDoc>
<nroDoc>...</nroDoc>
...
<tpoDoc>...</tpoDoc>
<nroDoc>...</nroDoc>
</firmantes>
<firmaFirmante>...</firmaFirmante>
<datos>
<documentos_encriptados>...</documentos_encriptados>
</datos>
<firma_documentos>...</firma_documentos>
</pedido>
<pedido>
<moduloRioserv>001</moduloRioserv>
<funcion>7</funcion>
<cuit>...</cuit>
<marEmpresa>...</marEmpresa>
<codproducto>...</codproducto>
<instancia>...</instancia>
<cod_canal>...</cod_canal>
<nroEnvio>...1</nroEnvio>
<ult_rendic>...</ult_rendic>
<importe_total>...</importe_total>
<cant_documentos>...</cant_documentos>
<firmantes>
<tpoDoc>N</tpoDoc><nroDoc>...</nroDoc>
<tpoDoc>N</tpoDoc><nroDoc>...</nroDoc>
</firmantes>
<firmaFirmante>...</firmaFirmante>
<datos>
<documento>
<tpo_oper>...</tpo_oper>
<nro_clte>...</nro_clte>
<tpo_cprb>...</tpo_cprb>
<nro_cprb>...</nro_cprb>
<nro_cuo>...</nro_cuo>
36
Online Banking Cash Management – WebServices
Manual de uso Técnico
<cod_mone>...</cod_mone>
<nom_clte>...</nom_clte>
<des_dire>...</des_dire>
<des_loc>...</des_loc>
<pref_cpost>...</pref_cpost>
<nro_cpost>...</nro_cpost>
<ubic_cpost>...</ubic_cpost>
<fec_1er_vto>...</fec_1er_vto>
<imp_1er_vto>...</imp_1er_vto>
<fec_2do_vto>...</fec_2do_vto>
<imp_2do_vto>...</imp_2do_vto>
<fec_hasta_dscto>...</fec_hasta_dscto>
<imp_pronto_pago>...</imp_pronto_pago>
<fec_hasta_punit>...</fec_hasta_punit>
<tsa_punit>...</tsa_punit>
<mar_excep_3ra>...</mar_excep_3ra>
<cod_form_pago>...</cod_form_pago>
<cui_clte>...</cui_clte>
<ing_brutos>...</ing_brutos>
<cod_cond_iva>...</cod_cond_iva>
<cod_concepto>...</cod_concepto>
<des_docum>...</des_docum>
<obs_lib_1er>...</obs_lib_1er>
<obs_lib_2da>...</obs_lib_2da>
<obs_lib_3ra>...</obs_lib_3ra>
<obs_lib_4ta>...</obs_lib_4ta>
<obs_lib_5ta>...</obs_lib_5ta>
<sin_uso_ocurrs>...</sin_uso_ocurrs>
<sin_uso>...</sin_uso>
</documento>
...
<documento>...</documento>
</datos>
<firma_documentos>...</firma_documentos>
</pedido>
XML de salida:
<respuesta>
<status>[código de Status]</status>
<código>[código de mensaje]</código>
<descripcion>...</descripcion>
</respuesta>
<respuesta>
<código>92</código>
<status>0</status>
<descripcion>La publicacion se ha efectuado exitosamente. No se han
registrado rechazos.</descripcion>
</respuesta>
37
Online Banking Cash Management – WebServices
Manual de uso Técnico
<respuesta>
<status>2</status>
<codigo>117</codigo>
<descripcion>Hubo documentos no publicados .</descripcion>
<nro_envio>91446</nro_envio>
<cant_docs_aceptados>01</cant_docs_aceptados>
<cant_docs_rechazados>01</cant_docs_rechazados>
<cant_docs_tratados>02</cant_docs_tratados>
<documento>
<tpo_operacion>A</tpo_operacion>
<nro_cliente>...</nro_cliente>
<tpo_comprobante>FC</tpo_comprobante>
<nro_comprobante>000000000203720</nro_comprobante>
<nro_cuota>0220</nro_cuota>
<estado_documento>
<codigo_estado>A</codigo_estado>
<descripcion_estado>Aceptado</descripcion_estado>
</estado_documento>
</documento>
<documento>
<tpo_operacion>A</tpo_operacion>
<nro_cliente>...</nro_cliente>
<tpo_comprobante>FC</tpo_comprobante>
<nro_comprobante>000000000003708</nro_comprobante>
<nro_cuota>0220</nro_cuota>
<estado_documento>
<codigo_estado>R</codigo_estado>
<descripcion_estado>Rechazado</descripcion_estado>
<errores>
<cod_error>115</cod_error>
<des_error>ERROR EN DATOS 2DO VENCIMIENTO</des_error>
</errores>
</estado_documento>
</documento>
</respuesta>
Existe un archivo de información adicional que el Banco Santander Rio sólo genera ante un
pedido explícito del cliente. Luego de la generación, la obtención del mismo se realiza mediante
los pasos detallados en el inciso 5.2.3 - Exportación de Archivos desde Online Cash
Management - WebServices.
Parámetros de entrada:
38
Online Banking Cash Management – WebServices
Manual de uso Técnico
La función de WS de pedido de generación de IA4 debe recibir un XML desde el cliente con los
siguientes parámetros:
Parámetros de salida:
XML de entrada:
De esta manera, el XML para realizar el pedido quedaría como en el siguiente ejemplo:
XML de salida:
39
Online Banking Cash Management – WebServices
Manual de uso Técnico
<respuesta>
<status>0</status>
<codigo>78</codigo>
<descripcion>El pedido de generacion de archivo de informacion
adicional ha sido realizado exitosamente.</descripcion>
</respuesta>
Si hubiera algún problema con la generación del archivo, el XML devuelto respondería al
siguiente formato:
<respuesta>
<codigo>123</codigo>
<descripcion>Para realizar esta operacion, fecha desde y fecha
hasta deben ser iguales a la fecha del dia.</descripcion>
<status>1</status>
</respuesta>
El XML empleado para realizar el pedido de IA4 es muy similar al usado con el cliente provisto:
<pedidodatos>
<cnusuario>W00000000001</cnusuario>
<pedido xmlns:er="urn:oasis:names:tc:entity:xmlns:xml:catalog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="C:\cliente\pedidoIA4.xsd">
<cuit>30678519681</cuit>
<mar_empresa>0</mar_empresa>
<codproducto>001</codproducto>
<funcion>8</funcion>
<instancia>01</instancia>
<fechaDesde>20021024</fechaDesde>
<fechaHasta>20021024</fechaHasta>
</pedido>
</pedidodatos>
Esta función permitirá consultar los cobros en forma on-line informando el acuerdo, rango de
fechas (inicialmente se consultará de a un día), rango de horas (opcional; podrá informarse solo
para consultas con fecha del día) y el cliente (también opcional). Si se informa el número de
cliente se devolverán todos los cobros originados por el cliente entre las fechas y horas
indicadas. Si no se informa se devolverán todos los cobros recibidos entre las fechas y horas
indicadas, independientemente del cliente que los generó.
40
Online Banking Cash Management – WebServices
Manual de uso Técnico
codificación (luego de encriptado, el contenido del tag ‘Datos’ viajará codificado en base64 para
evitar problemas con ciertos caracteres en la transferencia) y Firma Digital (se obtendrá el hash
mediante MD5 y se lo encriptará con RSA).
La cantidad de cobros a devolver será limitada y por ello el WebService soporta reanudar la
consulta a partir del último cobro devuelto. Si en los parámetros de salida el tag MarcaFinDatos =
‘N’ indica que existen más cobros para devolver y debe ejecutarse nuevamente la consulta,
informando todos los tags de la misma manera que para la primera invocación pero informando
los tags de rellamada de la siguiente forma:
- SigCliente = ProxCliente del xml de salida
- SigFecCobro = ProxFecCobro del xml de salida
- SigHoraCobro = ProxHoraCobro del xml de salida
- SigIdenCobro = ProxIdenCobro del xml de salida
Parámetros de entrada:
Parámetros de Entrada
Campo Obl. Form. Descripción
ModuloRioserv SI Char Debe ser igual a 001.
Función SI Num(1) Debe ser igual a 9 .
FechaDesde SI Num(8) Fecha inicial del período de cobros (aaaammdd)
FechaHasta SI Num(8) Fecha final del período de cobros (aaaammdd)
HoraDesde NO Num(12) Hora inicial del período de cobros. Formato hhmmsszzzzzz
(hora, minutos, segundos, milisegundos)
HoraHasta NO Num(12) Hora final del período de cobros . Formato hhmmsszzzzzz (hora,
minutos, segundos, milisegundos)
Cliente NO Char(15) Identificación de Cliente
Acuerdo Datos del Acuerdo
Cuit SI Num(11) Indica el CUIT de la empresa.
MarEmpresa Si Num (2) Dígito desempatador de la empresa. Cada empresa se identifica
por CUIT-Mar_Empresa.
CodProducto SI Num(3) Indica el código de producto empleado
Instancia SI Num(2) Indica el número de instancia de producto.
Rellamada Datos de Rellamada: estos tags deberán informarse si de una consulta previa se
tiene en el XML de salida MarcaFindatos = ‘N’. Para completar la consulta la
búsqueda se reanudará a partir de estos datos
SigIdenCobro NO Char(19) Siguiente Identificador de Cobro.
SigFecCobro NO Char(10) Siguiente Fecha de Cobro. Formato aaaa-mm-dd
SigHoraCobro NO Num(12) Siguiente Hora de Cobro
SigCliente NO Char(15) Siguiente Cliente
Parámetros de salida:
41
Online Banking Cash Management – WebServices
Manual de uso Técnico
Parámetros de Salida
Campo Form. Descripción – Origen
Resultado Resultado del procesamiento
Status Num (2) Status del mensaje (error/warning/OK)
Código Num (3) Indica el código de retorno del procesador.
Descripción Char(80) Descripción del código devuelto.
Si Status = 0 (OK):
Rellamada Datos para la siguiente invocación. Hay más información para devolver y la
consulta se deberá reanudar a partir de estos datos Estos tags se deberán
completar cuando corresponda (*1).
ProxIdenCobro Char(19) Próximo Identificador de Cobro para rellamada.
ProxFecCobro Char(10) Próxima Fecha de Cobro para rellamada.
ProxHoraCobro Num(12) Próxima Hora de Cobro para rellamada
ProxCliente Char(15) Próximo Cliente para rellamada.
MarcaFinDatos Char(1) Valor ‘S’: indica que hay más valores para consultar mediante
rellamada.
Valor ‘N’: no hay más valores que los que se devuelven
FiltrosInput Filtros de búsqueda recibidos
InCuit Num(11) ‘CUIT’ del xml de entrada
InMarEmpresa Num (1) ‘MarEmpresa’ del xml de entrada
InCodproducto Num(3) ‘CodProducto’ del acuerdo del xml de entrada
InInstancia Num(2) ‘Instancia’ del xml de entrada
InFechaDesde Num(8) ‘FechaDesde’ del xml de entrada
InFechaHasta Num(8) ‘FechaHasta’ del xml de entrada
InHoraDesde Num(12) ‘HoraDesde’ del xml de entrada
InHoraHasta Num(12) ‘HoraHasta’ del xml de entrada
InCliente Char(15) ‘Cliente’ del xml de entrada
CantidadCobros Num(6) Cantidad de Cobros
Datos Datos de la consulta (*2)
(*2) si los datos no se encriptan se enviarán los tags detallados a continuación:
Iteraciones1 (según CantidadCobros)
CobroX Datos del Cobro, donde X varia desde 1 hasta CantidadCobros
FechaCobro Num(10) Fecha de Cobro
HoraCobro Num(12) Hora de Cobro
IdCliente Char(15) Código de Cliente
NombreCliente Char(30) Nombre del Cliente
Canal Char(3) Código de canal
SucOrigen Char(3) Sucursal
IdCobro Char(19) Código de cobro
NroBoleta Char(18) Número de Boleta
ImporteTotal Num(12E,2D) Importe total cobrado
Cobrado
ImporteComisión Num(7E,2D) Importe de la comisión
42
Online Banking Cash Management – WebServices
Manual de uso Técnico
43
Online Banking Cash Management – WebServices
Manual de uso Técnico
XML de entrada:
Sin rellamada:
<pedido>
<moduloRioserv>001</moduloRioserv>
<funcion>9</funcion>
<cuit>...</cuit>
<marEmpresa>...</marEmpresa>
<codproducto>...</codproducto>
<instancia>...</instancia>
<fechaDesde>...</fechaDesde>
<fechaHasta>...</fechaHasta>
<horaDesde>...</horaDesde>
<horaHasta>...</horaHasta>
<cliente>...</cliente>
</pedido>
Con rellamada:
<pedido>
<moduloRioserv>001</moduloRioserv>
<funcion>9</funcion>
<cuit>...</cuit>
<marEmpresa>...</marEmpresa>
<codproducto>...</codproducto>
<instancia>...</instancia>
<fechaDesde>...</fechaDesde>
<fechaHasta>...</fechaHasta>
<horaDesde>...</horaDesde>
<horaHasta>...</horaHasta>
<cliente>...</cliente>
<SigIdenCobro>...</SigIdenCobro>
<SigFecCobro>...</SigFecCobro>
<SigHoraCobro>...</SigHoraCobro>
<sigCliente>...</sigCliente>
</pedido>
XML de salida:
<respuesta>
<código>...</código>
<descripcion>...</descripcion>
<status>...</status>
<rellamada>
<ProxIdenCobro>...</ProxIdenCobro>
<ProxFecCobro>...</ProxFecCobro>
<ProxHoraCobro>...</ProxHoraCobro>
44
Online Banking Cash Management – WebServices
Manual de uso Técnico
<proxCliente>...</proxCliente>
<marcaFinDatos>...</marcaFinDatos>
</rellamada>
<filtrosInput>
<inCuit>...</inCuit>
<inMarEmpresa>...</inMarEmpresa>
<inCodProducto>...</inCodProducto>
<inInstancia>...</inInstancia>
<inFechaDesde>...</inFechaDesde>
<inFechaHasta>...</inFechaHasta>
<inHoraDesde>...</inHoraDesde>
<inHoraHasta>...</inHoraHasta>
<inCliente>...</inCliente>
</filtrosInput>
<cantidadCobros>...</cantidadCobros>
<datosEncriptados>...</datosEncriptados>
<firma>...</firma>
<claveTripleDes>...</claveTripleDes>
</respuesta>
<respuesta>
<código>...</código>
<descripcion>...</descripcion>
<status>...</status>
<rellamada>
<ProxIdenCobro>...</ProxIdenCobro>
<ProxFecCobro>...</ProxFecCobro>
<ProxHoraCobro>...</ProxHoraCobro>
<proxCliente>...</proxCliente>
<marcaFinDatos>...</marcaFinDatos>
</rellamada>
<filtrosInput>
<inCuit>...</inCuit>
<inMarEmpresa>...</inMarEmpresa>
<inCodProducto>...</inCodProducto>
<inInstancia>...</inInstancia>
<inFechaDesde>...</inFechaDesde>
<inFechaHasta>...</inFechaHasta>
<inHoraDesde>...</inHoraDesde>
<inHoraHasta>...</inHoraHasta>
<inCliente>...</inCliente>
</filtrosInput>
<cantidadCobros>...</cantidadCobros>
<datos>
<cobro1>
<fechaCobro>...</fechaCobro>
<horaCobro>...</horaCobro>
<idCliente>...</idCliente>
<nombreCliente>...</nombreCliente>
<canal>...</canal>
<sucOrigen>...</sucOrigen>
<idCobro>...</idCobro>
<nroBoleta>...</nroBoleta>
<importeTotalCobrado>...</importeTotalCobrado>
45
Online Banking Cash Management – WebServices
Manual de uso Técnico
<importeComision>...</importeComision>
<estadoCobro>...</estadoCobro>
<cantidadDocumentos>...</cantidadDocumentos>
<documento1>
<tipoDoc>...</tipoDoc>
<nroDoc>...</nroDoc>
<nroCuota>...</nroCuota>
<fechaVtoDoc>...</fechaVtoDoc>
<importeCobrado>...</importeCobrado>
<dato1>...</dato1>
<dato2>...</dato2>
<dato3>...</dato3>
<importeDoc>...</importeDoc>
</documento1>
<documento2>
...
</documento2>
...
<cantidadInstrumentos>...</cantidadInstrumentos>
<instrumento1>
<nroInstrumento>...</nroInstrumento>
<formaPago>...</formaPago>
<descFormaPago>...</descFormaPago>
<moneda>...</moneda>
<fechaVtoCPD>...</fechaVtoCPD>
<fechaAcreditacion>...</fechaAcreditacion>
<estadoInstrumento>...</estadoInstrumento>
<descEstInstrumento>...</descEstInstrumento>
<importeInstrumento>...</importeInstrumento>
</instrumento1>
...
</cobro1>
<cobro2>
...
</cobro2>
...
</datos>
<firma>...</firma>
</respuesta>
Esta función permite transmitir el o los documentos de deuda a publicar en forma on-line, que
serán tratados como altas, para ser procesados por el banco.
Aclaraciones:
Si un cliente envía 10 documentos se informarán las 10 ocurrencias con sus
contenidos; no hará falta que envía las 10 restantes con los tags en blanco o cero.
Para los campos no obligatorios, si no existe valor para informar no es necesario
generar el tag correspondiente.
En los campos numéricos, si no se utiliza toda la longitud de campo se debe rellenar
con ceros a la izquierda, SALVO en el tag Nro_Doc donde debe informarse
solamente el documento real del firmante sin relleno de ceros a la izquierda.
En los campos alfabéticos, usar solamente la longitud de campos necesaria. No es
necesario completar rellenando con espacios en blanco a la derecha dentro del tag.
En los importes con decimales, deberá utilizarse punto ( . ) como separador de
decimales.
46
Online Banking Cash Management – WebServices
Manual de uso Técnico
Parámetros de entrada:
Fin 5 Repeticiones
Firma digital del contenido del tag Firmantes.
FirmaFirmante Alf(512) S
Firma_documentos y firmaFirmante estarán siempre,
independientemente de si encripta o no. Esto es para el
cliente Java y para clientes webservices desarrollados por la
propia empresa. Para el cliente .Net es opcional, si no
existen los genera automáticamente y si existen no los
modifica.
(long string 512)
Datos S Tag con los documentos que se publican
47
Online Banking Cash Management – WebServices
Manual de uso Técnico
Tipo Descripción
FC Factura
NC Nota de Crédito
ND Nota de Débito
AP Anticipo
PC Pago a Cuenta
OP Orden de Pago
CA Anticipos al Crédito
48
Online Banking Cash Management – WebServices
Manual de uso Técnico
fec_hasta_dscto Alf(8) N Fecha límite hasta la cual el cliente puede pagar la factura
con el importe de pronto pago. (AAAAMMDD).
cui_clte Num(11) S Número de CUIT del Cliente/Pagador. Este CUIT debe ser el
del titular de la cuenta a sobre la cual se generará el DEBIN.
Es decir, al del titular de la cuenta referenciada por el campo
cbu_comprador ó alias_comprador
Código de Ingresos Brutos del cliente. Se debe completar en
ing_brutos Alf(1) N
forma obligatoria para acuerdos que cobran punitorios, o
cuando la comisión se cobra al pagador. Caso contrario no
es necesario informar el tag. Valores posibles:
Tipo Descripción
0 Contribuyente Exento
1 Contribuyente Local
2 Convenio Multilateral
9 No Informado
Tipo Descripción
1 Consumidor Final
2 Responsable Monotributo
3 Responsable exento o no alcanzado
49
Online Banking Cash Management – WebServices
Manual de uso Técnico
4 Responsable No Inscripto
5 Responsable Inscripto sin Percepción
6 Responsable Inscripto con Percepción
7 Sujeto no Categorizado
50
Online Banking Cash Management – WebServices
Manual de uso Técnico
Fin 20 Repeticiones
* Si la empresa encripta enviará el tag detallado a continuación:
documentos_encriptados Resultado del proceso de encriptación sobre el contenido del
tag Datos. Esto es para el cliente Java y para clientes
webservices desarrollados por la propia empresa. Para el
cliente .Net es opcional, si no existe lo genera
automáticamente a partir de los tags <documento> y si existe
no lo modifica.
* Tanto si la empresa encripta como si no encripta firmará el contenido de ‘Datos’
firma_documentos S Firma digital del contenido del tag ‘Datos’.
Firma_documentos y firmaFirmante estarán siempre ,
independientemente de si encripta o no. Esto es para el
cliente Java y para clientes webservices desarrollados por la
propia empresa. Para el cliente .Net es obligatorio si existe el
tag documentos_encriptados sino es opcional (si existe el tag
documentos_encriptados entonces no existen los tags
<documento> y el cliente no pude calcular la
firma_documentos), si no existen los genera
automáticamente y si existen no los modifica.
XML de entrada:
<pedido>
<moduloRioserv>001</moduloRioserv>
<funcion>12</funcion>
<cuit>30700005573</cuit>
<marEmpresa>0</marEmpresa>
<codproducto>001</codproducto>
<instancia>01</instancia>
<cod_canal>007</cod_canal>
<nroEnvio>04758</nroEnvio>
<ult_rendic>10000</ult_rendic>
51
Online Banking Cash Management – WebServices
Manual de uso Técnico
<importe_total>0.05</importe_total>
<cant_documentos>01</cant_documentos>
<firmantes>
<tpoDoc>N</tpoDoc>
<nroDoc>00017763604</nroDoc>
<tpoDoc>N</tpoDoc>
<nroDoc>00031008961</nroDoc>
</firmantes>
<datos>
<documento>
<tpo_oper>A</tpo_oper>
<nro_clte>000000000000156</nro_clte>
<tpo_cprb>OP</tpo_cprb>
<nro_cprb>111111111111118</nro_cprb>
<cod_mone>0</cod_mone>
<nom_clte>FORD ARGENTINA SCA</nom_clte>
<des_dire>AV HENRY FORD 3295</des_dire>
<des_loc>GRAL PACHECO</des_loc>
<pref_cpost>B</pref_cpost>
<nro_cpost>01617</nro_cpost>
<ubic_cpost>BKK</ubic_cpost>
<fec_1er_vto>20190530</fec_1er_vto>
<imp_1er_vto>0.05</imp_1er_vto>
<fec_hasta_dscto></fec_hasta_dscto>
<imp_pronto_pago>0000000000000.00</imp_pronto_pago>
<fec_hasta_punit></fec_hasta_punit>
<tsa_punit>0000.00</tsa_punit>
<mar_excep_3ra>N</mar_excep_3ra>
<cui_clte>20232433486</cui_clte>
<ing_brutos>0</ing_brutos>
<cod_cond_iva>0</cod_cond_iva>
<cod_concepto>001</cod_concepto>
<des_docum></des_docum>
<obs_lib_1er>CAMPO OBSERV 1</obs_lib_1er>
<obs_lib_2da>CAMPO OBSERV 2</obs_lib_2da>
<obs_lib_3ra>CAMPO OBSERV 3</obs_lib_3ra>
<obs_lib_4ta>CAMPO OBSERV 4</obs_lib_4ta>
<obs_lib_5ta>CAMPO OBSERV 5</obs_lib_5ta>
<ag_Fp_Canal></ag_Fp_Canal>
<alias_comprador></alias_comprador>
<cbu_comprador>0720201088000036369254</cbu_comprador>
<importe_debin>0.05</importe_debin>
<flg_act_debin>N</flg_act_debin>
<recurrencia_debin>N</recurrencia_debin>
<min_expira>4320</min_expira>
<sin_uso_ocurrs></sin_uso_ocurrs>
<FP_Tas>000</FP_Tas>
<sin_uso></sin_uso>
</documento>
</datos>
</pedido>
<pedido>
<moduloRioserv>001</moduloRioserv>
<funcion>7</funcion>
<cuit>...</cuit>
<marEmpresa>...</marEmpresa>
52
Online Banking Cash Management – WebServices
Manual de uso Técnico
<codproducto>...</codproducto>
<instancia>...</instancia>
<cod_canal>...</cod_canal>
<nroEnvio>...</nroEnvio>
<ult_rendic>...</ult_rendic>
<importe_total>...</importe_total>
<cant_documentos>...</cant_documentos>
<firmantes>
<tpoDoc>...</tpoDoc>
<nroDoc>...</nroDoc>
...
<tpoDoc>...</tpoDoc>
<nroDoc>...</nroDoc>
</firmantes>
<firmaFirmante>...</firmaFirmante>
<datos>
<documentos_encriptados>...</documentos_encriptados>
</datos>
<firma_documentos>...</firma_documentos>
</pedido>
<pedido>
<moduloRioserv>001</moduloRioserv>
<funcion>7</funcion>
<cuit>...</cuit>
<marEmpresa>...</marEmpresa>
<codproducto>...</codproducto>
<instancia>...</instancia>
<cod_canal>...</cod_canal>
<nroEnvio>...1</nroEnvio>
<ult_rendic>...</ult_rendic>
<importe_total>...</importe_total>
<cant_documentos>...</cant_documentos>
<firmantes>
<tpoDoc>N</tpoDoc><nroDoc>...</nroDoc>
<tpoDoc>N</tpoDoc><nroDoc>...</nroDoc>
</firmantes>
<firmaFirmante>...</firmaFirmante>
<datos>
<documento>
<tpo_oper>...</tpo_oper>
<nro_clte>...</nro_clte>
<tpo_cprb>...</tpo_cprb>
<nro_cprb>...</nro_cprb>
<nro_cuo>...</nro_cuo>
<cod_mone>...</cod_mone>
<nom_clte>...</nom_clte>
<des_dire>...</des_dire>
<des_loc>...</des_loc>
<pref_cpost>...</pref_cpost>
<nro_cpost>...</nro_cpost>
<ubic_cpost>...</ubic_cpost>
<fec_1er_vto>...</fec_1er_vto>
<imp_1er_vto>...</imp_1er_vto>
<fec_2do_vto>...</fec_2do_vto>
<imp_2do_vto>...</imp_2do_vto>
<fec_hasta_dscto>...</fec_hasta_dscto>
<imp_pronto_pago>...</imp_pronto_pago>
<fec_hasta_punit>...</fec_hasta_punit>
<tsa_punit>...</tsa_punit>
<mar_excep_3ra>...</mar_excep_3ra>
<cod_form_pago>...</cod_form_pago>
53
Online Banking Cash Management – WebServices
Manual de uso Técnico
<cui_clte>...</cui_clte>
<ing_brutos>...</ing_brutos>
<cod_cond_iva>...</cod_cond_iva>
<cod_concepto>...</cod_concepto>
<des_docum>...</des_docum>
<obs_lib_1er>...</obs_lib_1er>
<obs_lib_2da>...</obs_lib_2da>
<obs_lib_3ra>...</obs_lib_3ra>
<obs_lib_4ta>...</obs_lib_4ta>
<obs_lib_5ta>...</obs_lib_5ta>
<sin_uso_ocurrs>...</sin_uso_ocurrs>
<sin_uso>...</sin_uso>
</documento>
...
<documento>...</documento>
</datos>
<firma_documentos>...</firma_documentos>
</pedido>
XML de salida:
<respuesta>
<status>[código de Status]</status>
<código>[código de mensaje]</código>
<descripcion>...</descripcion>
</respuesta>
<respuesta>
<código>92</código>
<status>0</status>
<descripcion>La publicacion se ha efectuado exitosamente. No se han
registrado rechazos.</descripcion>
</respuesta>
<respuesta>
<status>2</status>
<codigo>117</codigo>
<descripcion>Hubo documentos no publicados .</descripcion>
<nro_envio>91446</nro_envio>
<cant_docs_aceptados>01</cant_docs_aceptados>
<cant_docs_rechazados>01</cant_docs_rechazados>
<cant_docs_tratados>02</cant_docs_tratados>
54
Online Banking Cash Management – WebServices
Manual de uso Técnico
<documento>
<tpo_operacion>A</tpo_operacion>
<nro_cliente>...</nro_cliente>
<tpo_comprobante>FC</tpo_comprobante>
<nro_comprobante>000000000203720</nro_comprobante>
<nro_cuota>0220</nro_cuota>
<estado_documento>
<codigo_estado>A</codigo_estado>
<descripcion_estado>Aceptado</descripcion_estado>
</estado_documento>
</documento>
<documento>
<tpo_operacion>A</tpo_operacion>
<nro_cliente>...</nro_cliente>
<tpo_comprobante>FC</tpo_comprobante>
<nro_comprobante>000000000003708</nro_comprobante>
<nro_cuota>0220</nro_cuota>
<estado_documento>
<codigo_estado>R</codigo_estado>
<descripcion_estado>Rechazado</descripcion_estado>
<errores>
<cod_error>115</cod_error>
<des_error>ERROR EN DATOS 2DO VENCIMIENTO</des_error>
</errores>
</estado_documento>
</documento>
</respuesta>
El archivo a transmitir debe estar previamente compactado (Zip) y puede estar opcionalmente
encriptado (3DES). Asimismo, no puede contener más de un envío.
Parámetros de entrada:
El Web Service deberá recibir un XML que contará con los siguientes tags 2:
Parámetros de Entrada
2 En caso de no emplear el cliente provisto por el Banco, el tag archivo se debe enviar vacío. El
resto de los tags y la obligatoriedad de los mismos se mantiene idéntica.
55
Online Banking Cash Management – WebServices
Manual de uso Técnico
firmaArchivo SI Char MD5 encriptado con clave privada del cliente del archivo
plano. (long string 512)
Clave3des NO Char Clave 3DES con la que fue encriptada el archivo, encriptada
con la clave pública del Banco.
(long string 512)
Parámetros de salida:
Parámetros de Salida
Campo Oblig. Form. Descripción
status SI Num(1) Status del mensaje (error/warning/OK)
código SI Num(2) Indica el código de retorno del procesador.
descripción SI Char Descripción del código devuelto.
56
Online Banking Cash Management – WebServices
Manual de uso Técnico
0 OK
1 Error
2 Warning
Ha habido un problema con las fechas indicadas. Verifique que ninguna sea nula y que la
23 1
fecha hasta sea mayor a la fecha desde.
El CUIT no corresponde a una Empresa que tenga Servicio Web o la Empresa no esta
24 1
autorizada a operar con el Producto informado.
El archivo pedido no ha podido ser encontrado. Por favor verifique que el nombre sea
77 1
correcto.
57
Online Banking Cash Management – WebServices
Manual de uso Técnico
fueron reconocidos.
XML de entrada:
<pedido>
<moduloRioserv>002</moduloRioserv>
<funcion>1</funcion>
<codproducto>010</codproducto>
<instancia>01</instancia>
<marEmpresa>0</marEmpresa>
<cuit>30700005573</cuit>
<nroEnvio>00001</nroEnvio>
<autoriz_automatica>S</autoriz_automatica>
<archivo>D:/archivo.zip</archivo>
<firmaArchivo>c388d30...cd9f52119</firmaArchivo>
<firmaFirmante>d51e87...47c4c9b63</firmaFirmante>
<firmantes>
<tpoDoc>...</tpoDoc>
<nroDoc></nroDoc>
...
</firmantes>
<clave3Des>35b...b657b0c118c4e614</clave3Des>
</pedido>
XML de salida:
<respuesta>
<código>5</código>
<descripcion> -= FIN DE TRANSMISION DEL ARCHIVO DESDE EL CLIENTE.
CONSULTE SU ESTADO EN UNOS MINUTOS =- </descripcion>
<status>0</status>
</respuesta>
58
Online Banking Cash Management – WebServices
Manual de uso Técnico
Parámetros de entrada:
Parámetros de Entrada
Campo Oblig. Form. Descripción
moduloRioserv SI Char Debe ser igual a 002.
Parámetros de salida:
Parámetros de Salida
Campo Obigl. Form. Descripción
código SI Num(2) Indica el código de retorno del procesador.
Descripción SI Char(2) Descripción del código devuelto.
Status SI Char Indica si la devolución es error/warning/ok
Archivo SI Archivo Archivo Pedido
firmaArchivo Si Char Firma del Archivo Pedido.
claveTripleDes No Char Clave 3DES del archivo si este se encuentra encriptado
XML de entrada:
<pedido>
<moduloRioserv>002</moduloRioserv>
<codproducto>012</codproducto>
<instancia>01</instancia>
<funcion>2</funcion>
<cuit>30700005573</cuit>
<marEmpresa>0</marEmpresa>
<tpoArchivo>RND</tpoArchivo>
<archivo>E3070000557300120100002.txt</archivo>
<directorioDownload>C:\downloads\</directorioDownload>
</pedido>
59
Online Banking Cash Management – WebServices
Manual de uso Técnico
XML de salida:
<respuesta>
<código>73</código>
<descripcion>El Archivo ha sido transmitido exitosamente
al cliente.</descripcion>
<status>0</status>
<firmaArchivo>6d2defdfdfafdsqlko...eashfadsde1db</firmaArchivo>
<claveTripleDes>1a40ada8fb71287c..179c59a8e8b0</claveTripleDes>
<archivo>DtCizYJRQHIUZzG1uwAYy4e...TnvqRRNacD7YLAcQ==</archivo>
</respuesta>
Parámetros de entrada:
Parámetros de Entrada
Campo Oblig. Form. Descripción
moduloRioserv SI Char Debe ser igual a 002.
codproducto SI Num(3) Indica el código de producto empleado
instancia SI Num(2) Indica el número de instancia de producto.
funcion SI Num(1) Debe ser igual a 3.
cuit SI Num(11) Indica el CUIT de la Empresa.
marEmpresa Si Num(1) Indica el dígito desempatador de la Empresa (Generalmente es
Cero, pero consultar el dato al Banco)..
nroEnvio SI Num(5) Indica el número de envío.
fechaProceso SI Date(8) Indica la fecha en la que se realizó el envío que se quiere
consultar.
Parámetros de salida:
Parámetros de Salida
Campo Obl. Form. Descripción
código SI Num Indica el código de retorno del procesador.
descripción SI Char Descripción del código devuelto.
status SI Char Indica si la devolución es error/warning/ok
estado SI Char Código del estado.
descripcionEstado SI Char Descripción del código de estado devuelto.
60
Online Banking Cash Management – WebServices
Manual de uso Técnico
XML de entrada:
<pedido>
<moduloRioserv>002</moduloRioserv>
<funcion>3</funcion>
<cuit>30123456781</cuit>
<marEmpresa>0</marEmpresa>
<codproducto>010</codproducto>
<instancia>01</instancia>
<nroEnvio>00004</nroEnvio>
<fechaProceso>20050209</fechaProceso>
</pedido>
61
Online Banking Cash Management – WebServices
Manual de uso Técnico
XML de salida:
<respuesta>
<código>18</código>
<descripcion>El estado del envío ha sido obtenido
satisfactoriamente.</descripcion>
<estado>WS03</estado>
<descripcionEstado>ENVIO DESENCRIPTADO</descripcionEstado>
<status>0</status>
</respuesta>
Parámetros de entrada:
Parámetros de Entrada
Parámetros de salida:
Parámetros de Salida
Campo Oblig. Form. Descripción
código SI Num(2) Indica el código de retorno del procesador.
descripcion SI Char Descripción del código devuelto.
Status SI Char Indica si la devolución es error/warning/ok
62
Online Banking Cash Management – WebServices
Manual de uso Técnico
Archivo SI Char Nombre del Archivo. Este campo se repite n veces por cada archivo
encontrado.
XML de entrada:
<pedido>
<moduloRioserv>002</moduloRioserv>
<codproducto>011</codproducto>
<instancia>01</instancia>
<funcion>4</funcion>
<cuit>30700005573</cuit>
<marEmpresa>0</marEmpresa>
<fechaAlta>20070806</fechaAlta>
<nroEnvio>00600</nroEnvio>
</pedido>
XML de salida:
<respuesta>
<código>19</código>
<descripcion>El listado de archivos de rechazo ha sido obtenido
satisfactoriamente.</descripcion>
<status>0</status>
<archivo>R307000055730011012007080600600150710.TXT</archivo>
<archivo>R307000055730011012007080600600150711.TXT</archivo>
</respuesta>
Parámetros de entrada:
Parámetros de Entrada
63
Online Banking Cash Management – WebServices
Manual de uso Técnico
tpoRendicion SI Char Indica los tipos de rendiciones posibles a pedir. Los valores
posibles son RND, INF, LIS.
Parámetros de salida:
Parámetros de Salida
Campo Oblig. Form. Descripción
código SI Num(2) Indica el código de retorno del procesador.
descripcion SI Char Descripción del código devuelto.
status SI Char Indica si la devolución es error/warning/ok
archivo SI Char Nombre del Archivo. Este campo se repite n veces por cada archivo
encontrado.
XML de entrada:
<pedido>
<moduloRioserv>002</moduloRioserv>
<codproducto>010</codproducto>
<instancia>02</instancia>
<funcion>5</funcion>
<cuit>30700005573</cuit>
<marEmpresa>0</marEmpresa>
<tpoRendicion>RND</tpoRendicion>
<fechaDesde>20070731</fechaDesde>
<fechaHasta>20070731</fechaHasta>
</pedido>
64
Online Banking Cash Management – WebServices
Manual de uso Técnico
XML de salida:
<respuesta>
<código>21</código>
<descripcion>El listado de archivos de rendiciones ha sido obtenido
satisfactoriamente.</descripcion>
<status>0</status>
<archivo>E3070000557300100200427.txt</archivo>
<archivo>E3070000557300100200428.txt</archivo>
</respuesta>
65
Online Banking Cash Management – WebServices
Manual de uso Técnico
6 Configuraciones.
Si la Empresa opta por utilizar la funcionalidad provista por el Banco, deberá incorporar las
librerías recibidas a su ERP. El cliente contiene toda la funcionalidad necesaria para realizar la
conexión, pero no es una aplicación autónoma, por tal motivo deberá ser invocada en el cuerpo
de un programa.
Si no se utiliza el cliente provisto por el Banco, la Empresa deberá desarrollar el módulo para
conectarse con el servidor del Banco mediante las interfaces XML definidas en este documento.
El acceso al WebService a través del cliente provisto por el Banco, se realiza a través de la
clase:
Clase:
ar.com.bancorio.rioserv.client.WSRioServ
Método:
procesar()
Parámetros de Entrada
Nombre Tipo Comentario
mensaje ar.com.bancorio.rioserv.commons.WSM Cuenta con dos atributos: el XML con el
essage pedido a realizar (del tipo String) y un
arreglo de bytes (del tipo byte[]) que
contiene el archivo a enviar al Banco en
caso de que sea necesario.
exportar boolean Indica, en caso de que sea verdadero, que
no se invocará al Web Service, sino que se
exporta el xml (y el archivo a enviar en caso
de que sea necesario) a un archivo del
sistema de archivos de la máquina del
Cliente. Este campo se envía en true en
caso de no poder enviar el archivo usando
el circuito normal (contingencia).
66
Online Banking Cash Management – WebServices
Manual de uso Técnico
Parámetros de Salida
Nombre Tipo Comentario
respuesta ar.com.bancorio.rioserv.commons.WSM Contiene el XML de respuesta (de tipo
essage String), y opcionalmente un arreglo de bytes
(del tipo byte[]) que contiene el archivo
exportado desde el Banco.
Para hacer uso del Web Service sin el cliente provisto por el Banco, se deberá construir un
método que pueda establecer una conexión SOAP a través de HTTPS. Asimismo se deberá
invocar al método procesar() del Web Service con los siguientes parámetros:
Parámetros de Entrada
Nombre Tipo Comentario
xml String Contiene el XML generado por cliente, cuyo contenido es interpretado
por el Web Service para llevar a cabo alguna funcionalidad
especifica.
archivo byte[ ] Arreglo de bytes que representa el archivo a enviar al Banco en caso
de que el XML descrito arriba implique una importación de un archivo
desde el cliente hacia Banco.
Tanto el cliente provisto por el Banco, como el Web Service, poseen un método llamado procesar() que
cumplen distintas funciones. En este caso se hace referencia al método del Web Service.
67
Online Banking Cash Management – WebServices
Manual de uso Técnico
68