cotizaciones-uruguay
Version:
Cotizaciones de bancos en Uruguay
36 lines • 1.38 kB
JavaScript
import { getSoapClient } from "./soapClient.js";
import { obtenerUltimoCierre } from "./ultimoCierre.js";
export async function obtenerCotizaciones(params = {}) {
const client = await getSoapClient("awsbcucotizaciones");
const ultimoCierre = await obtenerUltimoCierre();
const [result] = await client.ExecuteAsync({
Entrada: {
Moneda: params.Moneda ?? [{ item: 2225 }],
Grupo: params.Grupo ?? 0,
FechaDesde: params.FechaDesde || ultimoCierre,
FechaHasta: params.FechaHasta || ultimoCierre,
},
});
handleError(result);
return result.Salida.datoscotizaciones["datoscotizaciones.dato"];
}
const errorCodes = {
100: "NO_EXCHANGE_RATE_EXISTS_FOR_THE_SPECIFIED_DATE",
101: "CURRENCY_CODE_DOES_NOT_EXIST",
102: "INVALID_DATE_FIELD",
103: "END_DATE_IS_EARLIER_THAN_START_DATE",
104: "DATE_RANGE_EXCEEDS_THE_ALLOWED_LIMIT",
105: "GROUP_DOES_NOT_EXIST_OR_IS_DISABLED",
106: "SERVICE_UNAVAILABLE_DUE_TO_DATA_UPDATE",
107: "SERVICE_UNAVAILABLE",
};
function handleError(result) {
const status = result.Salida.respuestastatus;
if (status.codigoerror === 0) {
return;
}
const errorCode = status.codigoerror;
const errorMessage = errorCodes[errorCode] || "UNKNOWN_ERROR";
throw new Error(errorMessage);
}
//# sourceMappingURL=cotizaciones.js.map