Para obtener las cotizaciones del Banco Central de Uruguay a través de su API se debe llamar al enpoint:
https://cotizaciones.bcu.gub.uy/wscotizaciones/servlet/awsbcucotizaciones?wsdl
Utilizando el método http POST, añadiendo en el body de la solicitud, un xml con el sigiuente formato:
<?xml version="1.0" encoding="UTF-8"?>
<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>2225</cot:item> <-- acá va el código de la moneda que queremos obtener la cotización (ver abajo lista de códigos)
</cot:Moneda>
<cot:FechaDesde>2021-06-28</cot:FechaDesde> <-- acá va la fecha inicio del período el cual queremos conocer la cotización
<cot:FechaHasta>2021-07-04</cot:FechaHasta> <-- acá va la fecha final del período
<cot:Grupo>0</cot:Grupo>
</cot:Entrada>
</cot:wsbcucotizaciones.Execute>
</soapenv:Body>
</soapenv:Envelope>
Ver acá, es la tercer columna
No encontré documentación oficial sobre este servicio, aportes bienvenidos
Si browseas el endpoint vas a ver la estructura de datos que espera el servicio SOAP casi arriba del todo.
Endpoint:
https://cotizaciones.bcu.gub.uy/wscotizaciones/servlet/awsbcucotizaciones?wsdlEstructura esperada:
<complexType name="wsbcucotizacionesin"><sequence><element name="Moneda" type="tns:ArrayOfint"> </element><element name="FechaDesde" type="xsd:date" nillable="true"> </element><element name="FechaHasta" type="xsd:date" nillable="true"> </element><element name="Grupo" type="xsd:byte"> </element></sequence></complexType>