API DE INTEGRACIÓN AL SERVICIO DE TIMBRADO MASIVO

    Documentación de la API de Timbrado Masivo Asíncrono

    30 jul, 2019


    Revisión
    Fecha
    Comentarios
    1 2019-07-30
    Documento inicial

    Introducción

    El servicio de Timbrado Masivo Asíncrono, surge por la necesidad de los clientes de timbrar de manera masiva sus comprobantes, por medio de proporcionar el Base64 de un zip con los xml’s a ser timbrados. El resultado del procesamiento, es un nuevo fichero zip con las respuestas del servicio de timbrado de PADE, que podrá ser recuperado a través de la url de descarga que nos devuelve el método descargarSolicitud de este servicio.

    Pre-requisitos

    • Estar registrado en la plataforma PADE
    • Datos para la autenticación (Contrato, Usuario y Contraseña)
    • 30 MB por zip y no mas de 10 mil xml’s

    Conexión al servicio de Timbrado Masivo 

    El servicio se encuentra disponible en una dirección URL pública:
    URL del servicio: https://masivo.pade.mx/servicioMasivo/TimbradoMasivo

    A continuación, se detallan las operaciones de este servicio:

    Métodos del servicio

    *crearSolicitud

    Esta operación se encarga de recibir, procesar, guardar el zip y regresar el folio asignado de la respuesta a su petición. El folio obtenido es indispensable para la operación ya que con este se podrá dar seguimiento a la solicitud.

    Los parámetros que acepta el método son:

    • contrato: Indica el código de contrato del usuario con el que se realizará el timbrado.
    • usuario: Indica el usuario con el que se autenticará el servicio de timbrado.
    • passwd: Indica la contraseña del usuario con el que se autenticará al servicio de timbrado.
    • opciones: Arreglo de strings que indica al servicio las opciones que se utilizarán en la petición de timbrado.
    • archivoZip: String base64 del zip con los xml’s que serán timbrados, el zip deberá contener solo xml’s y éstos no deberán estar bajo ninguna carpeta dentro del zip.
    • timbradoPrueba: Determina si la operación se realizará en modo prueba o no. Los valores permitidos son “True” ó “False” siendo “True” el utilizado para timbrar en modo prueba y en caso contrario “False” para timbrado real.

    Opciones disponibles

    Éstas opciones se encuentran descritas en la API de Timbrado 

    URL API de Timbrado: https://prodigia.com.mx/api-de-integracion-para-timbrado-de-cfdi-3-3/

    • CALCULAR_SELLO
    • CONSULTAR_SALDO
    • RESPUESTA_XML_CFDI
    • REGRESAR_CON_ERROR_307_XML
    • REGRESAR_CON_ERROR_307_UUID
    • GENERAR_PDF
    • GENERAR_CBB
    • REGRESAR_CADENA_ORIGINAL
    • VERIFICAR_SERIE_FOLIO

    REQUEST


    RESPONSE

    No todos los atributos estarán presentes siempre en la respuesta, esto dependerá del flujo del proceso; a continuación se definen:

    • procesoOk: Valores permitidos, true | false, indican el resultado de la operación. En concreto si todo resultó exitosamente y el proceso no presentó errores, el valor esperado será true, por el contrario false.
    • mensaje: Es el mensaje de respuesta del servicio una vez procesada la petición, de ser exitosa, la respuesta es que la solicitud sea aceptada, en caso contrario el servicio devolverá el mensaje de error correspondiente.
    • codigo: Indica el estatus de la operación.
    • folio: Este valor corresponde al folio de la solicitud, se utilizará para verificar el estatus de la solicitud y en su operación correspondiente para descargar los archivos generados, este atributo aparecerá únicamente cuando la transacción es exitosa.


    *descargarSolicitud

    Esta operación se encarga de proporcionar el resultado del procesamiento de la solicitud, brinda la descripción del estatus de la misma, y cuando la solicitud finaliza, devuelve la url de la cual podrá ser descargado el zip con las respuestas del timbrado.

    • contrato: indica el código de contrato del usuario con el que se realizará el timbrado.
    • usuario: indica el usuario con el que se autenticará el servicio de timbrado.
    • passwd: indica la contraseña del usuario con el que se autenticará al servicio de timbrado.
    • folio: indica el folio que fue generado cuando se creó la solicitud, mismo que es enviado al servicio para verificar el estatus de la misma.

    REQUEST


    RESPONSE

    No todos los atributos estarán presentes siempre en la respuesta, esto dependerá del flujo del proceso; a continuación se definen:

    • procesoOk: Valores permitidos, true | false, indican el resultado de la operación. En concreto si todo resultó exitosamente y el proceso no presentó errores, el valor esperado será true, por el contrario false.
    • mensaje: Es el mensaje de respuesta del servicio una vez que se procesa la petición, indica el estatus en la cuál se encuentra la solicitud al momento de su consulta, en caso de ocurrir algún error en el proceso, éste será informado a través de este atributo.
    • codigo: Indica el estatus de la operación.
    • estatus: Indica el estatus en que se encuentra la solicitud al momento de ser consultada
    • urlDescarga: Este valor corresponde a la url desde donde se podrá descargar el archivo zip con las respuestas del servicio, este atributo solamente aparecerá cuando la solicitud ha sido finalizada. La url tendrá un tiempo de expiración de 5 minutos, que después de estos caducará y será necesario volver a realizar la solicitud de descarga para obtener una nueva url y poder descargar nuevamente el zip en caso de ser necesario.

    NOTA

    Una vez descargado el zip, podremos encontrar el xml procesado dentro del nodo <xmlBase64> para cada uno de los archivos contenidos en el paquete.


    Al descargar el zip podrás contar con los archivos respuesta del servicio de timbrado los cuáles conservan el nombre correspondiente al que tenían en el zip para una manera más fácil de relacionar ambos archivos de petición y respuesta. Los distintos códigos del servicio se encuentran detallados en las siguientes tablas.

    Tabla 1: Códigos generales del Servicio de Timbrado Masivo

    Código
    Descripción
    0 Ok.  Le indica a la operación que el proceso fue correcto.
    1 Error login. Código relacionado al proceso de login, algún dato(contrato, usuario y/o contraseña) es incorrecto.
    3 Parámetro inválido. Parámetro de la operación incorrecta.
    4 Error interno. Contacte a Soporte Prodigia, email: soporte@prodigia.com.mx

    Tabla 2: Códigos para el método Generar Solicitud

    Código
    Descripción
    2 Zip. Indica que ocurrió algún error relacionado al zip proporcionado.
    5 Opciones. Indica que alguna de las opciones que envía es incorrecta o no reconocida por el servicio.
    6 Timbrado prueba. Indica que el contenido es diferente a “true” o “false”

    Tabla 3: Códigos para el método Descarga Solicitudes

    Código
    Descripción
    7 Folio. Indica que el folio proporcionado para la descarga no existe o es incorrecto.

    Tabla 4: Códigos de estatus de solicitud para la descarga de solicitudes

    Código
    Descripción
    0 Solicitud recibida.
    1 Solicitud en espera de ser procesada.
    2 Procesando solicitud.
    3 Solicitud con error, en espera de ser revisada.
    4 Solicitud suspendida, en espera de ser revisada.
    5 Solicitud finalizada.