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