¿Cómo utilizar las APIs de timbrado en CONTPAQi®?
Una vez que ya tenemos nuestra cuenta de
CONTPAQi® Nube y se esté suscrito a la
API de Timbrado mediante el
Portal de Desarrolladores API CONTPAQi® tendremos que utilizar las
APIs de timbrado en el sistema para el consumo de servicios.
Proceso de las APIs de timbrado:
Para lograr un consumo exitoso de los servicios de APIs, es necesario realizar estos tres siguientes pasos:
|
Paso
|
Acción
|
|
|
|
Genera tu solicitud de atención por medio de una petición POST (son diferentes puntos finales de comunicación o endpoints cuando envías un sólo CFDI en XML, o cuando envías un archivo ZIP con varios CDFI en formato XML).
|
|
Nota:
Esta solicitud no recibe todavía la información para timbrar, solamente está reservando el “ticket” de atención. Dicho endpoint responde la información que necesitas para subir el archivo a tu espacio reservado.
|
|
|
|
|
Sube tu archivo ( XML o ZIP) a tu espacio reservado en S3 de Amazon Web Services (por medio de una URL segura de tipo PUT), este endpoint no es parte de nuestra API, pero es parte de los servicios seguros de AWS para el manejo de archivos.
|
|
|
|
Una vez que esta petición ha sido completada correctamente comenzará el timbrado de tú XML o tu archivo ZIP.
|
|
|
|
Dentro de 1 a 5 minutos después de que se haya recibido tu archivo, tendrás que preguntar por el resultado de tu timbrado (mediante una petición GET).
|
|
Dentro de la
API de
Timbrado existen tres métodos distintos de consumo de servicios, por lo que, para cumplir este proceso, el
endpoint para subir tu archivo será dinámico:
Generar una solicitud para timbrar de manera asíncrona un comprobante.
Su funcionalidad es reservar una petición a los servicios de sellado para poder enviar un
XML. Sirve para un solo
XML y responde con la URL para subir el archivo
XML a tu espacio reservado en S3 AWS y un identificador de tu solicitud.
Genera una solicitud para timbrar de manera asíncrona un paquete de comprobantes.
Su funcionalidad es realizar una petición a los servicios de sellado para poder enviar una cantidad mayor a 1 de XML a la vez. Este método solo admite archivos
.ZIP en el que deberán ir comprimidos los documentos XML. Responde con la URL para subir el archivo .ZIP a tu espacio reservado en S3 AWS y un identificador de tu solicitud.
Enviar el archivo o paquete a timbrar (xml o zip).
Este
endpoint solo existirá una única vez ya que hayas generado la solicitud. Su funcionalidad es recibir la información del archivo
XML o el archivo
ZIP con los XML, y es necesario enviarlo por medio de la URL asignada para poder comenzar el proceso de timbrado.
|
|
Nota:
Toma en cuenta que, en la respuesta para generar tu solicitud recibirás encabezados de seguridad (encabezado / headers) los cuales se tendrán que adjuntar en la petición para enviar el archivo de manera segura.
|
Obtener la información de un archivo que se solicitó timbrar (xml o zip).
Su funcionalidad es consultar el estado de la solicitud, tanto de uno o varios
XML. Si la solicitud ya fue procesada, obtendrás el estado de cada uno de tus
XML y algunos detalles en específico, y un
TFD por documento el cual podrás adjuntar a tu XML para formar un documento con su sello oficial.
|
|
Importante:
Los servicios de API Timbrado no generan XML ni los sellan, la funcionalidad es generar el TFD del documento, es decir, el timbre correspondiente al documento que se haya indicado, por lo que obtendrás el TFD que posteriormente deberás incluir en tu XML en el campo que corresponda.
|
Para ejemplificar el uso de esta
API y sus distintos métodos, enseguida se mostrará cómo desarrollar algunas herramientas utilizando el lenguaje de programación orientada a objetos
Python 3.7 para mostrar de una manera más real su funcionalidad.
|
Paso
|
Acción
|
|
|
|
Ingresa a la siguiente liga, donde podrás consultar desde el portal oficial de API Timbrado, toda la documentación que se comparte a los desarrolladores para que puedan hacer uso del servicio: https://developers.contpaqinube.com/.
|
|
|
|
|
|
|
|
Se mostrará una ventana, donde podrás generar una solicitud para timbrar de manera asíncrona un comprobante.
|
|