¿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/.
 
 
 
Para esto, ingresa al apartado APIS y selecciona Timbrado masivo para ISVs v1:
 
 
Se mostrará una ventana, donde podrás generar una solicitud para timbrar de manera asíncrona un comprobante.