Publicado el 2 comentarios

Consulta tipo de cambio Banxico en tiempo real

Este es el tipo de cambio actual, el cual verás tambien en Excel:

El siguiente proyecto permite conectar mediante soap al Web Service de Banco de México para obtener el tipo de cambio actual desde Excel y desde .paq

Más info, en este enlace directo www.banxico.org.mx/contacto/whatsapp/   





Esta herramienta remplaza completamente la funcionalidad del servicio web “DgieWS” ubicado en: http://www.banxico.org.mx/DgieWSWeb/DgieWS?WSDL

Estimados usuarios:

Con base en el comunicado emitido por el Banco de México sobre la adopción del protocolo HTTPS, les pedimos que aquellos que utilicen Servicios Web (Webservices) para consultar información de este sitio verifiquen que estén utilizando la última versión de los mismos (www.banxico.org.mx/SieAPIRest/), a fin de que este cambio de protocolo no afecte el funcionamiento de sus procesos de consulta
a partir del 7 de septiembre de 2019.


Sub Main()
'jose felix jofelchez@gmail.com 7222816462
'Consuslta del tipo de cambio USD/MXN desde Banxico.org

Dim NS, NS_SOAP, NS_SOAPENC, NS_XSI, NS_XSD

NS = “http://ws.dgie.banxico.org.mx”
‘”https://www.w3schools.com/xml/”

NS_SOAP = “http://schemas.xmlsoap.org/soap/envelope/”
NS_SOAPENC = “http://schemas.xmlsoap.org/soap/encoding”
NS_XSI = “http://www.w3.org/2001/XMLSchema-instance”
NS_XSD = “http://www.w3.org/2001/XMLSchema”

‘ The URL of the Web service.
Dim URL
URL = “http://www.banxico.org.mx/DgieWSWeb/DgieWS”

‘ The URL of the operation (function).
Dim Operation_TipoCambio
Operation_TipoCambio = “tiposDeCambioBanxicoRequest”

‘ XML DOM objects.
Dim DOM, Envelope, Body, Operation, Param

‘ Creates an XML DOM object.
Set DOM = CreateObject(“MSXML2.DOMDocument.6.0”)

‘ Creates the main elements.
Set Envelope = DOM.createNode(1, “soap:Envelope”, NS_SOAP)
Envelope.setAttribute “xmlns:soapenc”, NS_SOAPENC
Envelope.setAttribute “xmlns:xsi”, NS_XSI
Envelope.setAttribute “xmlns:xsd”, NS_XSD
DOM.appendChild Envelope
Set Body = DOM.createElement(“soap:Body”)
Envelope.appendChild Body

‘ Creates an element for the TIPOSDECAMBIO function.
Set Operation = DOM.createNode(1, “tiposDeCambioBanxico”, NS)
Body.appendChild Operation

‘ Releases the objects.
Set Param = Nothing
Set Operation = Nothing
Set Body = Nothing
Set Envelope = Nothing

‘ Creates an XML HTTP object for sending a request.
Dim XMLHTTP
Set XMLHTTP = CreateObject(“MSXML2.ServerXMLHTTP.6.0”)
XMLHTTP.Open “POST”, URL, False
XMLHTTP.setRequestHeader “Content-Type”, “text/xml; charset=utf-8”
XMLHTTP.setRequestHeader “SOAPAction”, Operation_TipoCambio
‘ Sends the request.
XMLHTTP.send DOM.xml

‘ Loads the response to the DOM object.
DOM.LoadXML XMLHTTP.responseXML.xml

‘ Releases the object.
Set XMLHTTP = Nothing

‘ XML DOM objects.
Dim NodeList, Element

‘xml que se regresa del servidor
‘mymessage “” & replace(replace(replace(DOM.xml ,”><“,”>” &vbCrLf& “<“),”<“,”<“),”>”,”>”)

‘ Searches for the CelsiusToFahrenheitResult object, which contains the value in degrees Fahrenheit.
Set NodeList = DOM.getElementsByTagName(“*”)
For Each Element in NodeList
‘on error resume next
‘mymessage “” & Element.tagName & ” ” & Element.Text
If Element.tagName = “result” then ‘”CelsiusToFahrenheitResult” Then
‘mymessage ” ” & Element.Text
procesaRespuesta Element.Text
Exit For

End If
Next

‘ Releases the objects.
Set Element = Nothing
Set NodeList = Nothing
Set DOM = Nothing

End Sub

Sub procesaRespuesta( sMensaje)
Dim Query, rstArticulo
Dim NodeList, Element

Set Query = NewQuery()
Set Query.Connection = Ambiente.Connection

Set xml = CreateObject(“Msxml2.DOMDocument.3.0”)
xml.loadXML((sMensaje))
Set NodeList = xml.getElementsByTagName(“*”)
For Each Element in NodeList
If Element.tagName = “bm:Obs” then
msgbox “Tipo de cambio : ” & Trim(Element.getAttribute(“OBS_VALUE”) ) & vbCrLf & “Fecha : ” & Trim(Element.getAttribute(“TIME_PERIOD”) )
Exit For
End If
Next
End Sub

SIE API

El API del Sistema de Información Económica permite consultar las series de tiempo de todos los indicadores disponibles en este repositorio. Esta herramienta está orientada a desarrolladores o analistas que requieren la automatización del proceso de extracción de información económica publicada por el Banco de México.

Para utilizar el API se requiere usar el protocolo TLS 1.2

Token de consulta
El token de consulta es un requisito necesario para poder utilizar el API de series de tiempo. Consta de 64 caracteres alfanuméricos y debe ser enviado cada vez que se interactúe con los servicios provistos. El envío se debe realizar a través del header HTTP Bmx-Token o el parámetro token (El header tiene prioridad, si se envía el header se toma este valor en caso contrario se toma el valor del parámetro). Por ejemplo:

Token de consulta generado: 57389428453f8d1754c30564b6b915070587dc7102dd5fff2f5174edd623c90b

Estatus de token
El API define un conjunto de límites en el número de peticiones que se realizan por token de consulta ( Más detalles ). En caso de que estos límites se superen, el token de consulta utilizado será inhabilitado hasta que concluya el periodo de tiempo en el cuál se superó el número límite de consultas.

Token
57389428453f8d1754c30564b6b915070587dc7102dd5fff2f5174edd623c90b
Fecha de creación: 2019-10-14 09:40:44 America/Mexico_City

Estatus consultas oportunas
Activo
Estatus consultas históricas
Activo

Consultas oportunas

Fecha inicio periodo consulta N/D
Fecha fin periodo consulta N/D
Número de consultas en periodo 0
Número de consultas restantes en periodo 80
Número de consultas diarias 0
Número de consultas restantes en el día 40000

Consultas históricas

Fecha inicio periodo consulta N/D
Fecha fin periodo consulta N/D
Número de consultas en periodo 0
Número de consultas restantes en periodo 200
Número de consultas diarias 0
Número de consultas restantes en el día 10000

Fuente:

https://www.banxico.org.mx/SieAPIRest/service/v1/

2 comentarios en “Consulta tipo de cambio Banxico en tiempo real

  1. Hola buenas tardes, muchas gracias por el modulo del tipo de cambio, pero esta igual al anterior el paq no funciona como el del html

  2. Hola buenas tardes, el modulo no esta actualizado.

Deja un comentario