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/

Publicado el 1 comentario

Cambiar venta de moneda MXN a USD

En zonas fronterizas, las ventas en ocasiones son en pesos mexicanos y en otras se aplican en usd. Más allá de las reformas fiscales y contables, esta actividad se lleva a cabo en más de un negocio.

El punto de venta tiene un código que puede ser de utilidad, solo hay que escribir esta sintaxis:

MONEDA[espacio]CLAVE_MONEDA

Así, si nuestra moneda base es peso mexicano MXN, podemos hacer ventas en USD. Solo escribiremos:

MONEDA USD

En ese momento el sistema cambiará de acuerdo al tipo de cambio que hayamos aplicado en el sistema.

Si queremos que la moneda se convierta a peso mexicano, escribiremos

MONEDA MXN

Ya con eso es suficiente para que el sistema muestre la venta en pesos.

Cabe mencionar que una vez que cerramos el punto de venta, si lo abrimos nuevamente  el sistema iniciará con el tipo de cambio de la moneda base, en nuestro caso, peso mexicano.

Una segunda observación es que al cambiar de tipo de cambio, el sistema recalcula importes con el precio de venta que tiene el catálogo de productos.

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

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

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