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
‘ 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
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
Dirigirse al icono de inicio de windows y seleccionar en la carpeta de Microsoft SQL Server 2005/Herramientas de Configuración/Administrador de Configuración
Le aparecerá una pantalla como la siguiente en donde se muestra que los servicios de SQL SERVER 2005 (se encuentran en el rectángulo rojo) están activados. Si alguno esta en color rojo, lo debe seleccionar, dando un clic con el botón derecho y elegir Propiedades
Le aparecerá una ventana, seleccione la pestaña Servicio, posteriormente Automático en el Modo de inicio. Dar un clic en Aplicar y en Aceptar.
Verifique que el Puerto 1400 este liberado, siga las instrucciones:
En el icono Protocolos for SQLEXPRESS, verifique si los protocolos de SQL Server están habilitados
Seleccione el Protocolo TCP/IP, Clic con el botón derecho y elegir propiedades
Debe seleccionar la pestaña IP Addresses, verifique que en la parte inferior tenga el Puerto Dinámico 1400
+ IP All
TCP Dynamic Ports 1400
En caso de que no esté o aparezca en blanco, colocar el número de puerto 1400.