Conexiones Directas
La transacción para generar facturas se envía a la liga :
https://facturas.easysmart.com.mx/cgi-bin/externos/timbrarGR40
- La transacción debe ser un POST. No funciona con GET.
RFC Emisor de Pruebas vigente
- Persona moral EKU9003173C9
- Persona física XAMA620210DQ5
- Usuario y contraseña para el Layout :
EMPRESA:EXTERNOS|testext452|EKU9003173C9||
Recomendaciones
Debe enviar el formato estándar de facturación con los datos correctamente llenos dentro de la variable txtdata
Ejemplo : txtdata = "formato estándar con saltos de línea en utf8";
Nota importante
Los campos numéricos (cantidades, precios, totales, deben venir con la cantidad de decimales que desea que aparezcan en la factura, el sistema "no" agrega o quita decimales. Elementos como $ y comas, son eliminados de los números.
El layout se debe codificar en url-encode. Buscar en su lenguaje como codificar en este formato para que no existan problemas de transferencias de datos con símbolos especiales como : & % = y otros similares.
Para que no tenga problemas de que los caracteres con acentos o ñ se conviertan en caracteres o símbolos “raros”. Debe codificar su layout en UTF8.
Si no puede localizar una librería o función en su lenguaje que le permita realizar esta codificación, por lo menos reemplace los símbolos con la siguiente tabla.
& --> %26
% --> %25
= --> %3D
Mensaje de respuesta estándar
El sistema regresa la página HTML que se debe imprimir en un navegador o un mensaje de error, en formato HTML. Dentro del código HTML viene 2 etiqueta de campo hidden :
<input type="hidden" name="status" value="mensaje">
<input type="hidden" name="uuid" value="UUID_timbrado_SAT">
Si el mensaje inicia con "ERROR:", la transacción no funcionó y el mensaje incluye el error generado.
Si el mensaje es "OK", entonces el HTML contiene la impresión de la factura a desplegar en el navegador.
Posteriormente puede descargar el XML, cancelar o realizar otras acciones utilizando las instrucciones que aparecen en las siguientes páginas.
Nota
El principal motivo por el cual se genera la respuesta en HTML, es porque en el inicio del servicio los programadores tenían muy poca experiencia con internet y usaban los componentes DLL de Microsoft® para abrir una ventana del navegador e interactuar con la ventana del navegador por medio del DLL.
Hoy en día ofrecemos otra forma de respuesta como se describe abajo.
Nota
Al generar una factura, el sistema envía el XML y PDF a las direcciones de correo que haya agregado en el archivo de la factura.
El mensaje de respuesta es una página HTML, por si desea presentar la imagen de la factura generada al usuario y en ella misma recibir el estatus de la transacción.
Si no desea presentarla, puede desechar el HTML una vez que haya leído el estatus de respuesta.
En entornos de programación de Windows®, el acceso a el documento recibido se realiza por medio de objetos de Windows®, y se puede acceder al dato específico sin necesidad de procesar el texto directamente, por ejemplo:
estatus = IE.document.Forms(0).namedItem("status").Value
uuid = IE.document.Forms(0).namedItem("uuid").Value
Debido a que la información para realizar este tipo de conexiones, depende mucho de su lenguaje de programación, es necesario que consulte los códigos ejemplo que se tienen en el paquete de información, hay ejemplos para : Visual Basic, C#.
Recibir XML timbrado
Si no desea recibir una respuesta HTML, sino el XML timbrado, entonces deberá enviar en su Layout alguno de los siguientes formatos :
- RESPUESTA:XML
- Regresa el XML timbrado, no se envía correo electrónico con XML y PDF al cliente.
- Errores regresan como mensajes de HTML, similar a opción HTML
- Útil si desea generar su propia versión impresa, PDF y enviar correos usted mismo su XML y PDF
- RESPUESTA:XML2
- Regresa el XML timbrado, sí se envía correo electrónico con XML y PDF al cliente.
- Errores regresan como mensajes de HTML, similar a opción HTML
- Útil para recibir directamente el XML sin, necesidad de realizar una segunda transacción para descargarlo
- RESPUESTA:XML3
- Regresa el XML timbrado, sí se envía correo electrónico con XML y PDF al cliente.
- Errores regresan como mensajes XML
- Útil para recibir directamente el XML sin, necesidad de realizar una segunda transacción para descargarlo
- RESPUESTA:JSON
- Regresa JSON con UUID y XML codificado en Base64, sí se envía correo electrónico con XML y PDF al cliente.
- Errores regresan como mensajes JSON
- Útil para recibir directamente el XML sin, necesidad de realizar una segunda transacción para descargarlo
Esto hace que reciba como respuesta el XML timbrado en caso de que todo salga bien.
O en caso de errores recibirá el mensaje de respuesta HTML normal con el estatus del error.
Códigos de ejemplo
Código Delphi
Código C#
Visual Basic
Layout
El layout es el archivo de texto que debe enviar para que se genere un documento.
Para ver las instrucciones del Layout actual ver la sección de CFDI 4.0