UNPKG

cotizaciones-uruguay

Version:
36 lines 1.38 kB
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