Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

Se presenta un caso de uso de web services con los que ofrece el Banco Central del Uruguay para las Cotizaciones de las Monedas.

Attachments

(warning) en construcción.

Adjuntamos modelo multidimensional

...

El Web Service del BCU permite obtener datos de:

  • Cotizaciones: dados una lista de códigos de monedas, un rango de fechas y un grupo de monedas, devuelve las cotizaciones y otros datos de las monedas solicitadas en el período indicado.

  • Monedas/Valores: dado un grupo de monedas, devuelve los códigos y descripciones de las Monedas.

  • Último cierre de cotizaciones: devuelve la fecha del último cierre de cotizaciones realizado.

Especificaciones del servicio

Mediante el uso de la herramienta Postman, se pueden realizar consultas al web service y ver sus respuestas.

Utilizando el archivo adjunto “Cotizaciones.postman_collection.json”, tenemos configurado el servicio para poder consultarlo.

Monedas

Ingresando por el navegador a: https://cotizaciones.bcu.gub.uy/wscotizaciones/servlet/awsbcumonedas?wsdl podemos ver la respuesta del servicio

Parámetro de Entrada

  • Grupo: Código utilizado para seleccionar un grupo de monedas.

    • 1 (Mercado Internacional)

    • 2 (Cotizaciones Locales)

    • 5 Tasas Locales

    • 0 Todos

Parámetro de Salida

  • Código: por ej.: “2222”

  • Nombre por ej.: “DOLAR USA”

Ejemplo Entrada

Consulta para visualizar todo el Grupo “0”

Expand
Code Block
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cot="Cotiza">
    <soapenv:Header/>
    <soapenv:Body>
        <cot:wsbcumonedas.Execute>
            <cot:Entrada>
                <cot:Grupo>0</cot:Grupo>
            </cot:Entrada>
        </cot:wsbcumonedas.Execute>
    </soapenv:Body>
</soapenv:Envelope>

Ejemplo Salida

Expand
Code Block
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Body>
        <wsbcumonedas.ExecuteResponse xmlns="Cotiza">
            <Salida xmlns="Cotiza">
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>2</Codigo>
                    <Nombre>DER.ESP. DE GIRO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>105</Codigo>
                    <Nombre>DOL. AUSTRALIANO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>500</Codigo>
                    <Nombre>PESO ARGENTINO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>1000</Codigo>
                    <Nombre>REAL</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>1111</Codigo>
                    <Nombre>EURO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>1300</Codigo>
                    <Nombre>PESO CHILENO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>1490</Codigo>
                    <Nombre>DOL. NEOZELANDES</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>1620</Codigo>
                    <Nombre>RAND SUDAFRICANO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>1800</Codigo>
                    <Nombre>CORONA DANESA</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>2222</Codigo>
                    <Nombre>DOLAR USA</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>2309</Codigo>
                    <Nombre>DOLAR CANADIENSE</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>2700</Codigo>
                    <Nombre>LIBRA ESTERLINA</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>3600</Codigo>
                    <Nombre>YEN</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>4000</Codigo>
                    <Nombre>NVO.SOL PERUANO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>4150</Codigo>
                    <Nombre>YUAN RENMIMBI</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>4155</Codigo>
                    <Nombre>YUAN OFF SHORE</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>4200</Codigo>
                    <Nombre>PESO MEXICANO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>4300</Codigo>
                    <Nombre>FORINT HUNGARO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>4400</Codigo>
                    <Nombre>LIRA TURCA</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>4600</Codigo>
                    <Nombre>CORONA NORUEGA</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>4800</Codigo>
                    <Nombre>GUARANI</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>4900</Codigo>
                    <Nombre>CORONA ISLANDESA</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>5100</Codigo>
                    <Nombre>DOLAR HONG KONG</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>5300</Codigo>
                    <Nombre>WON</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>5400</Codigo>
                    <Nombre>RUBLO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>5500</Codigo>
                    <Nombre>PESO COLOMBIANO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>5600</Codigo>
                    <Nombre>RINGGIT MALAYO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>5700</Codigo>
                    <Nombre>RUPIA INDIA</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>5800</Codigo>
                    <Nombre>CORONA SUECA</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>5900</Codigo>
                    <Nombre>FRANCO SUIZO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>6200</Codigo>
                    <Nombre>BOLIVAR</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>501</Codigo>
                    <Nombre>PESO ARG.BILLETE</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>1001</Codigo>
                    <Nombre>REAL BILLETE</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>2224</Codigo>
                    <Nombre>DLS. USA CABLE</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>2225</Codigo>
                    <Nombre>DLS. USA BILLETE</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>2230</Codigo>
                    <Nombre>DLS.PROMED.FONDO</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>9700</Codigo>
                    <Nombre>UNIDAD PREVISIONAL</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>9800</Codigo>
                    <Nombre>UNIDAD INDEXADA</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>9900</Codigo>
                    <Nombre>UNIDAD REAJUSTAB</Nombre>
                </wsmonedasout.Linea>
                <wsmonedasout.Linea xmlns="Cotiza">
                    <Codigo>9203</Codigo>
                    <Nombre>Tasa Med. de Mercado</Nombre>
                </wsmonedasout.Linea>
            </Salida>
        </wsbcumonedas.ExecuteResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Cotizaciones

Ingresando por el navegador a: https://cotizaciones.bcu.gub.uy/wscotizaciones/servlet/awsbcucotizaciones?wsdl podemos ver la respuesta del servicio

Parámetros de Entrada

  • Moneda: Lista de códigos de monedas a consultar.

  • Fecha Desde

  • Fecha Hasta

  • Grupo: Grupo de moneda

⚠ Si se consulta más de una moneda, entonces se puede consultar un período de 31 días máximo.

(info) Si se consulta solo una moneda, entonces se puede consultar un período de 1 año máximo.

Parámetros de Salida

  • Fecha: Fecha diaria de cotización (según lo consultado)

  • Moneda: Código de la moneda

  • Nombre: Nombre de la moneda

  • CodigoISO: Símbolo moneda

  • Emisor: País de la moneda

  • TCC: Tipo de Cambio Compra

  • TCV: Tipo de Cambio Venta

  • ArbAct: Arbitraje

  • FormaArbitrar:

    • 0 = Unidad de moneda por dólares EEUU

    • 1 = Dólares EEUU por unidad de moneda

    • 9 = No aplica

Ejemplo Entrada

Consulta para la Moneda “2222” (Dólar USA) para el período 1/5/2021 al 12/5/2021

Expand
Code Block
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cot="Cotiza">
<soapenv:Header/>
<soapenv:Body>
    <cot:wsbcucotizaciones.Execute>
        <cot:Entrada>
            <cot:Moneda>
                <cot:item>2222</cot:item>
            </cot:Moneda>
            <cot:FechaDesde>2021-05-1</cot:FechaDesde>
            <cot:FechaHasta>2021-05-12</cot:FechaHasta>
            <cot:Grupo>0</cot:Grupo>
        </cot:Entrada>
    </cot:wsbcucotizaciones.Execute>
</soapenv:Body>
</soapenv:Envelope>

Ejemplo Salida

Expand
Code Block
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Body>
        <wsbcucotizaciones.ExecuteResponse xmlns="Cotiza">
            <Salida xmlns="Cotiza">
                <respuestastatus>
                    <status>1</status>
                    <codigoerror>0</codigoerror>
                    <mensaje/>
                </respuestastatus>
                <datoscotizaciones>
                    <datoscotizaciones.dato xmlns="Cotiza">
                        <Fecha>2021-05-03</Fecha>
                        <Moneda>2222</Moneda>
                        <Nombre>DOLAR USA</Nombre>
                        <CodigoISO>USD</CodigoISO>
                        <Emisor>ESTADOS UNIDOS</Emisor>
                        <TCC>43.867000</TCC>
                        <TCV>43.867000</TCV>
                        <ArbAct>1.000000</ArbAct>
                        <FormaArbitrar>1</FormaArbitrar>
                    </datoscotizaciones.dato>
                    <datoscotizaciones.dato xmlns="Cotiza">
                        <Fecha>2021-05-04</Fecha>
                        <Moneda>2222</Moneda>
                        <Nombre>DOLAR USA</Nombre>
                        <CodigoISO>USD</CodigoISO>
                        <Emisor>ESTADOS UNIDOS</Emisor>
                        <TCC>44.025000</TCC>
                        <TCV>44.025000</TCV>
                        <ArbAct>1.000000</ArbAct>
                        <FormaArbitrar>1</FormaArbitrar>
                    </datoscotizaciones.dato>
                    <datoscotizaciones.dato xmlns="Cotiza">
                        <Fecha>2021-05-05</Fecha>
                        <Moneda>2222</Moneda>
                        <Nombre>DOLAR USA</Nombre>
                        <CodigoISO>USD</CodigoISO>
                        <Emisor>ESTADOS UNIDOS</Emisor>
                        <TCC>44.097000</TCC>
                        <TCV>44.097000</TCV>
                        <ArbAct>1.000000</ArbAct>
                        <FormaArbitrar>1</FormaArbitrar>
                    </datoscotizaciones.dato>
                    <datoscotizaciones.dato xmlns="Cotiza">
                        <Fecha>2021-05-06</Fecha>
                        <Moneda>2222</Moneda>
                        <Nombre>DOLAR USA</Nombre>
                        <CodigoISO>USD</CodigoISO>
                        <Emisor>ESTADOS UNIDOS</Emisor>
                        <TCC>43.973000</TCC>
                        <TCV>43.973000</TCV>
                        <ArbAct>1.000000</ArbAct>
                        <FormaArbitrar>1</FormaArbitrar>
                    </datoscotizaciones.dato>
                    <datoscotizaciones.dato xmlns="Cotiza">
                        <Fecha>2021-05-07</Fecha>
                        <Moneda>2222</Moneda>
                        <Nombre>DOLAR USA</Nombre>
                        <CodigoISO>USD</CodigoISO>
                        <Emisor>ESTADOS UNIDOS</Emisor>
                        <TCC>43.845000</TCC>
                        <TCV>43.845000</TCV>
                        <ArbAct>1.000000</ArbAct>
                        <FormaArbitrar>1</FormaArbitrar>
                    </datoscotizaciones.dato>
                    <datoscotizaciones.dato xmlns="Cotiza">
                        <Fecha>2021-05-10</Fecha>
                        <Moneda>2222</Moneda>
                        <Nombre>DOLAR USA</Nombre>
                        <CodigoISO>USD</CodigoISO>
                        <Emisor>ESTADOS UNIDOS</Emisor>
                        <TCC>43.969000</TCC>
                        <TCV>43.969000</TCV>
                        <ArbAct>1.000000</ArbAct>
                        <FormaArbitrar>1</FormaArbitrar>
                    </datoscotizaciones.dato>
                    <datoscotizaciones.dato xmlns="Cotiza">
                        <Fecha>2021-05-11</Fecha>
                        <Moneda>2222</Moneda>
                        <Nombre>DOLAR USA</Nombre>
                        <CodigoISO>USD</CodigoISO>
                        <Emisor>ESTADOS UNIDOS</Emisor>
                        <TCC>43.976000</TCC>
                        <TCV>43.976000</TCV>
                        <ArbAct>1.000000</ArbAct>
                        <FormaArbitrar>1</FormaArbitrar>
                    </datoscotizaciones.dato>
                    <datoscotizaciones.dato xmlns="Cotiza">
                        <Fecha>2021-05-12</Fecha>
                        <Moneda>2222</Moneda>
                        <Nombre>DOLAR USA</Nombre>
                        <CodigoISO>USD</CodigoISO>
                        <Emisor>ESTADOS UNIDOS</Emisor>
                        <TCC>44.056000</TCC>
                        <TCV>44.056000</TCV>
                        <ArbAct>1.000000</ArbAct>
                        <FormaArbitrar>1</FormaArbitrar>
                    </datoscotizaciones.dato>
                </datoscotizaciones>
            </Salida>
        </wsbcucotizaciones.ExecuteResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Último cierre de cotizaciones

Ingresando por el navegador a: https://cotizaciones.bcu.gub.uy/wscotizaciones/servlet/awsultimocierre?wsdl podemos ver la respuesta del servicio

Este servicio nos devuelve únicamente la última fecha con cotizaciones. No tiene parámetros de entrada.

Configuración modelo para consumir el Web Service del BCU

Attachments