Created
October 13, 2022 16:34
-
-
Save agarciagaray/1475b9f8c87fa6e91918e092f1db03ee to your computer and use it in GitHub Desktop.
Consultar la tasa de cambio del día en Colombia
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* ===================================================================================== | |
* El siguiente código es una adpatación de un código compartido por un amigo, Irwin Rodriguez | |
* puede consultar el origianl creado para la Argentina acá: https://gist.github.com/Irwin1985/f2ac4801d177ba48aa537a7a49b072d7 | |
* Consulta las tasas del dolar desde el sitio web: | |
* https://www.dolarsi.com/api/api.php?type=valoresprincipales | |
* | |
* Dependencias: | |
* VfpRestClient: https://github.com/Irwin1985/VFPRestClient | |
* JSONFox: https://github.com/Irwin1985/JSONFox | |
* | |
* NOTA: | |
* 1. Cambie las rutas de vfpRestClient y JSONFox por las correspondientes. | |
* 2. El objeto de nombre 'Argentina' tiene 2 propiedades adicionales, para | |
* manipularlos solo use las variables: loAfluencia y loObservaciones | |
* 3. La serialización de JSON a Objeto Fox no sustituye los valores string | |
* por los reales, por lo tanto todo es tratado como un string. | |
* ===================================================================================== * | |
CLOSE DATABASES ALL | |
LOCAL lcVfpRestClientDir, lcJsonFoxDir, loRest | |
lcVfpRestClientDir = "D:\ConsultaDolar\VFPRestClient\vfprestclient.prg" | |
lcJsonFoxDir = "D:\ConsultaDolar\JSONFox\jsonfox.app" | |
SET PROCEDURE TO (lcVfpRestClientDir) ADDITIVE | |
lcDate = DATE() | |
lcURL = 'https://www.datos.gov.co/resource/32sa-8pi3.json?vigenciadesde=' | |
lcURLFin = 'T00:00:00.000' &&'&%24%24app_token=o5dWSiaVQYs8tivrOZDgO9uCe' | |
lcDate = ALLTRIM(STR(YEAR(lcDate))) + "-" + PADL(MONTH(lcDate), 2, '0') + "-" + PADL(DAY(lcDate), 2, '0') | |
*--- Se arma la dirección a consultar completa | |
lcURLTotal = lcURL + lcDate + lcURLFin | |
loRest = CREATEOBJECT("Rest") | |
loRest.AddRequest(loRest.GET, lcURLTotal) | |
loRest.addHeader("Content-Type", "application/json") | |
loRest.SEND() | |
IF loRest.STATUS != 200 | |
MESSAGEBOX(loRest.LastErrorText, 16, "Error") | |
RETURN | |
ENDIF | |
DO (lcJsonFoxDir) | |
_SCREEN.json.JSONToCursor(loRest.ResponseText, 'cData', SET("Datasession")) | |
SELECT cData | |
BROWSE | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Se consulta solamente la fecha del día y recuerden que en Colombia la TRM puede durar varios días con el mismo valor (fines de semana rige desde el viernes hasta el lunes o martes si el lunes es feriado), igualmente cuando en los Estados Unidos hay feriado ese día rige el del día anterior, por eso vemos que en la tabla hay una vigenciadesde y vigenciahasta.