API DE DESCARGA MASIVA 2.0

Documentación de la API de Descarga Masiva 2.0

 

Revisión Fecha Comentarios
1 2021-06-16 Documento inicial.

Tabla de contenido

  • Introducción
  • Razón social
    • Agregar razón social
    • Actualizar razón social
    • Eliminar razón social
    • Lista de razones sociales
  • Sincronización con SAT
  • Lista de peticiones con SAT
  • Comprobante
  • Consultar comprobante
    • Solicitar
    • Verificar
  • Multi comprobantes
    • Solicitar
    • Verificar
  • Códigos de respuestas
  • Anexos: Diagramas del Proceso de Descarga Masiva

Introducción

Descarga Masiva 2.0 es un servicio en el cual se pueden dar de alta en un proceso de sincronización, permitiendo la descarga y visualización de los comprobantes fiscales de forma automática. Creado para ser la base para un sistema de información escalable.

Razón Social

Pre-requisitos

  • Contar con la FIEL de cada RFC a usar en las consultas.
  • Estar registrado en la plataforma PADE, lo que garantizará que cuente con usuario, contraseña y contrato para autenticarse en el servicio.
  • Contar con un software cliente que le permita realizar las peticiones a nuestro servicio.

Agregar razón social.

URL para agregar una razón social.

https://dm.pade.mx/razon-social/create

Descripción.

Este método se utiliza para agregar una razón social (RFC) a la lista de catálogo para el usuario que mande las credenciales. En caso de no encontrar el usuario será dado de alta con las credenciales de PADE. Características de la petición.

  • Petición REST.
  • Tipo POST.
  • Headers: Content-Type = application/json Parámetros del servicio:
  • userPade*: Indica el usuario con el cual se autenticará al servicio de Pade.
  • passPade*: Indica la contraseña del usuario con el cual se autenticará al servicio de Pade.
  • contrato*: Indica el código de contrato del usuario con el que se realizará la solicitud.
  • razonSocial: Nombre de la empresa.
  • fechaInicioSync*: El valor no debe ser mayor a una fecha con antigüedad de -71 meses al día 1.                                                                                                                                  Ejemplo día actual 2024-04-18  fecha máxima con antigüedad 2018-05-01
                  día actual 2024-05-18  fecha máxima con antigüedad 2018-06-01
  • maxComprobantesMensual: Cantidad máxima de los comprobantes por mes.
  • celular*: el número de celular para notificaciones. Códigos de marcado de móviles internacionales. Ej. +520000000000.

    En caso de que el certificado utilizado para el pfx no sea valido o esté revocado por el sat, el proveedor no muestra algún dato invalido al momento de agregar la razón social pero si al querer obtener la información solicitada. Puede verificar el certificado ante el sat y en caso de ver si esta revocado en la url:  https://portalsat.plataforma.sat.gob.mx/RecuperacionDeCertificados/faces/consultaCertificados.xhtml                                                                                                          Al ingresar una razón social para sincronización con CIEC, se debe tener en cuenta que en el caso de que el rfc o contraseña sea incorrecta el proveedor no lo valida al instante, por lo que se le hará saber en momento que el sat lo valide.                                                                                                                                                                        La sincronización con ciec contiene mas límites en comparación a sincronización con fiel por parte del sat solo se puede descargar un maximo de 2000 comprobantes por día por lo que la sincronización puede tardar en caso de tener un volumen grande, se recomienda en razones sociales con volumen pequeño menor.                                                                                                                                                                                                                                                                                                Al ingresar una razón social por sincronización por fiel, es recomendable indicar el numero aproximado de comprobantes por mes que tiene ya que como el sat no da un estimado del mismo se utiliza para la obtención mas optimizada de la información ya que una petición puede obtener un numero de 200 mil comprobantes.                                                                                                                                                                     
  • fiel*: Archivo firma electrónica.
    • pfx*: Archivo generado con la Fiel del contribuyente y enviado en base64.
    • passPfx*: Indica la contraseña de la clave privada de su archivo Fiel.
  • ciec*: 
    • rfc: indica la razón social que va dar de alta
    • passCiec*: Indica la contraseña de la ciec.
  • sync*: el valor será "fiel" o "ciec", esto depende del valor del nodo que llenes.

Los parámetros marcados con * son obligatorios

Ejemplo del request body


Ejemplo de respuesta exitoso:

Actualizar razón social.

URL para actualizar una razón social.

https://dm.pade.mx/razon-social/ciec-update

Descripción.

Este método se utiliza para actualizar la contraseña de la razón social por el método de la ciec.

Características de la petición

  • Petición REST
  • Tipo POST
  • Headers: Content-Type = application/json

Parámetros del servicio:

  • userPade*: Indica el usuario con el cual se autenticará al servicio.
  • passPade*: Indica la contraseña del usuario con el cual se autenticará al servicio.
  • contrato*: Indica el código de certificado del usuario con el que se realizará la solicitud.
  • rfc*: RFC correspondiente a la razón social que se modificara.
  • Password: nueva contraseña de razón social ciec.

Los parámetros marcados con * son obligatorios.

Ejemplo del request body.


Ejemplo de respuesta exitoso:


Actualizar razón social CIEC.
URL para actualizar una razón social.

https://dm.pade.mx/razon-social/ciec-update

Descripción.
Este método se utiliza para actualizar la contraseña de la razón social por el método de la ciec.

Características de la petición

  • Petición REST
  • Tipo POST
  • Headers: Content-Type = application/json

Parámetros del servicio:

  • userPade*: Indica el usuario con el cual se autenticará al servicio.
  • passPade*: Indica la contraseña del usuario con el cual se autenticará al servicio.
  • contrato*: Indica el código de contrato del usuario con el que se realizará la solicitud.
  • rfc*: RFC correspondiente de la razón social a eliminar.
  • Password: nueva contraseña de razón social ciec.

Los parámetros marcados con * son obligatorios.

Ejemplo de request body.

Ejemplo de respuesta exitoso:


Eliminar razón social.

URL para eliminar una razón social.

https://dm.pade.mx/razon-social/delete

Descripción.

Este método elimina una razón social del catálogo, si envían las credenciales correctas.

Características de la petición

  • Petición REST
  • Tipo POST
  • Headers: Content-Type = application/json

Parámetros del servicio:

  • userPade*: Indica el usuario con el cual se autenticará al servicio.
  • passPade*: Indica la contraseña del usuario con el cual se autenticará al servicio.
  • contrato*: Indica el código de contrato del usuario con el que se realizará la solicitud.
  • rfc*: RFC correspondiente de la razón social a eliminar.

Los parámetros marcados con * son obligatorios.

Ejemplo de request body.

Ejemplo de respuesta exitoso:


Ejemplo de respuesta con error:


Lista de razones sociales.

URL para enlistar razones sociales.

https://dm.pade.mx/razon-social/select-all-by-user

Descripción.

Este método se utiliza para enlistar las razones sociales, de la lista del catálogo para el usuario que mande las credenciales.

Características de la petición

  • Petición REST
  • Tipo POST
  • Headers: Content-Type = application/json

Parámetros del servicio:

  • userPade*: Indica el usuario con el cual se autenticará al servicio.
  • passPade*: Indica la contraseña del usuario con el cual se autenticará al servicio.
  • contrato*: Indica el código de contrato del usuario con el que se realizará la solicitud.

Los parámetros marcados con * son obligatorios.

Ejemplo del request body.

Ejemplo de respuesta exitoso:


Sincronización con SAT.

URL para sincronizar una razón social automáticamente con el SAT.

https://dm.pade.mx/sat/sync

Descripción.

Este método se utiliza para habilitar una razón social de la lista de catálogo para el usuario que mande las credenciales. Si se habilita se activará la sincronización automática. En caso contrario se deshabilita la sincronización automática.

Características de la petición

  • Petición REST
  • Tipo POST
  • Headers: Content-Type = application/json

Parámetros del servicio:

  • userPade*: Indica el usuario con el cual se autenticará al servicio.
  • passPade*: Indica la contraseña del usuario con el cual se autenticará al servicio.
  • contrato*: Indica el código de contrato del usuario con el que se realizará la solicitud.
  • rfc*: RFC correspondiente a la razón social de la empresa.
  • habilitado*: indica si el servicio para la razón social se encuentra habilitado, 1 habilitado - 0 deshabilitado.

Los parámetros marcados con * son obligatorios.

Ejemplo del request body.


Ejemplo de respuesta exitoso:

Lista de peticiones con SAT.

URL para enlistar las peticiones hechas con el SAT.

https://dm.pade.mx/sat/peticiones

Descripción.

Este método se utiliza enlistar las peticiones realizadas con el SAT.

Características de la petición

  • Petición REST
  • Tipo POST
  • Headers: Content-Type = application/json

Parámetros del servicio:

  • userPade*: Indica el usuario con el cual se autenticará al servicio.
  • passPade*: Indica la contraseña del usuario con el cual se autenticará al servicio.
  • contrato*: Indica el código de contrato del usuario con el que se realizará la solicitud.
  • rfc*: RFC correspondiente a la razón social de la empresa.
  • limit*: corresponde al número máximo de la lista de peticiones a mostrar.

Los parámetros marcados con * son obligatorios.

Ejemplo del request body.


Ejemplo de respuesta exitoso:


Comprobante

Pre-requisitos

  • Estar registrado en la plataforma PADE, lo que garantizará que cuente con usuario, contraseña y contrato para autenticarse en el servicio.
  • Contar con un software cliente que le permita realizar las peticiones a nuestro servicio.

Limitantes

  • El contrato en relación con el usuario de estar vigente
  • Se debe contar con un folio fiscal

URL de generación de una solicitud de consulta de comprobantes:

https://dm.pade.mx/comprobante

Este método se utiliza para la obtención de un comprobante en formato base 64 enviando un folio fiscal. El método realiza la autenticación al servicio, valida los parámetros y regresa un Json como respuesta.

Características de la petición

  • Petición REST
  • Tipo POST
  • Headers: Content-Type = application/json

Parámetros del servicio:

  • userPade *: Indica el usuario con el cual se autenticará al servicio.
  • passPade*: Indica la contraseña del usuario con el cual se autenticará al servicio.
  • contrato*: Indica el código de contrato del usuario con el que se realizará la solicitud.
  • uuid*: Folio fiscal

Ejemplo para solicitar comprobante:


Ejemplo de solicitud exitosa

Consulta de Metadata

Pre-requisitos

  • Estar registrado en la plataforma PADE, lo que garantizará que cuente con usuario, contraseña y contrato para autenticarse en el servicio.
  • Contar con un software cliente que le permita realizar las peticiones a nuestro servicio.

Limitantes

  • El contrato en relación con el usuario de estar vigente.
  • Se debe contar con una fecha inicio y una fecha fin para poder consultar el servicio, así como un rfcs emisor y/o receptor.
  • Solo se pueden solicitar comprobantes de rfcs relacionados al usuario que realiza la petición.
  • Los rfcs a solicitar deben estar activos para el usuario.
  • Se realiza una petición para solicitar la información de cabecera de los comprobantes y otra para verificar el estatus de descarga.
  • Cada solicitud tiene su propio número de solicitud.

Generar Solicitud Metadata

URL de generación de una solicitud de Metadata:

https://dm.pade.mx/metadata/solicitar

Este método se utiliza para generar la solicitud según los parámetros especificados en la petición para mostrar la información relacionada  de cabecera en los comprobantes en la relación a los parámetros enviados son los parámetros que mostrará como respuesta. El método realiza la autenticación al servicio, valida los parámetros y regresa un Json como respuesta al servicio, con un número  único de solicitud.

Características de la petición

  • Petición REST
  • Tipo POST
  • Headers: Content-Type = application/json

Parámetros del servicio:

  • userPade *: Indica el usuario con el cual se autenticará al servicio.
  • passPade*: Indica la contraseña del usuario con el cual se autenticará al servicio.
  • contrato*: Indica el código de contrato del usuario con el que se realizará la solicitud.
  • rfc*: Listado de rfcs relacionados al usuario pade para buscar información.
  • tipoPeticion*: puede ser de tipo emisor o receptor,
  • fechaInicio*: fecha inicial del rango de búsqueda con formato yyyy-mm-dd,
  • fechaFin*: fecha fin del rango de búsqueda con formato yyyy-mm-dd,
  • montoMinimo*: rango mínimo de total de búsqueda del parámetro debe estar en el cuerpo de la solicitud con valores vacio o mayor igual a 0 con formato de cadena ej. "" o "0" o "1000".
  • montoMaximo*: rango máximo del rango de  búsqueda el parámetro debe estar en el cuerpo de la solicitud con valores vacio o mayor igual a 0 con formato de cadena ej. "" o "0" o "1000".

Los parámetros marcados con  * son obligatorios.

Sin embargo, los parámetros  emisor o  receptor dentro del componente filtros debe de ir al menos uno, ya que uno de los dos (emisor o receptor) debe coincidir con el rfc del solicitante.

Ejemplo de generación de solicitud:

  {
      "userPade": "usuario",
      "passPade": "password",
      "contrato": "contrato-dm",
      "rfc":["XXXAAA111000", “XXXAAA222111”],
      "tipoPeticion":"emisor",
      "fechaInicio":"2022-11-01",
      "fechaFin":"2022-12-15",
      "montoMinimo":"",
      "montoMaximo": ""
}

Ejemplo de respuesta de exitoso:

  {
        "solicitud":  "ad617cfe-1d1d-11ee-90a9-66286f7f377d",
        "codigo": 10,
        "mensaje": "Solicitud Creada",
        "respuesta": ""
}

No todos los atributos estarán presentes siempre en la respuesta. La descripción de los mismos se define a continuación:

  • solicitud: Número correspondiente a la solicitud generada.
  • codigo: Código correspondiente al estado de la solicitud procesada.
  • mensaje: Mensaje referente al estado de la solicitud.
  • respuesta: Este valor de la respuesta de la solicitud al ser exitosa.

Verificar Solicitud Metadata

URL de verificación de una solicitud para consultar comprobantes:

https://dm.pade.mx/metadata/verificar

Este método se utiliza para verificar el estatus de la solicitud según los parámetros de autenticación con PADE y numero de solicitud creado. El método realiza la  autenticación al servicio, valida los parámetros, el número de solicitud y regresa  un Json como respuesta al servicio, con un código y toda la información relacionada a los comprobantes con la información filtrada de descarga en caso de  respuesta exitosa.

Características de la petición

  • Petición REST
  • Tipo POST
  • Headers: Content-Type = application/json

Parámetros del servicio:

  • userPade*: Indica el usuario con el cual se autenticará al servicio.
  • passPade*: Indica la contraseña del usuario con el cual se autenticará al servicio.
  • contrato*: Indica el código de contrato del usuario con el que se realizará la solicitud.
  • solicitud*: número de solicitud que se realizó en la solicitud

Ejemplo de verificación de solicitud:

{

         "userPade": "usuario ",

          "passPade": "password",

         "contrato": "contrato-dm",

         "solicitud": "ad617cfe-1d1d-11ee-90a9-66286f7f377d"

}

Solicitud exitosa:

{

    "codigo": 0,

    "mensaje": "",

    "respuesta": [

        {

            "uuid": "16F5C64A-B3DA-3327-B8C6-3AA17A380EC3",

            "emisor_rfc": " XXXAAA111000",

            "emisor_nombre": "Razón social XXXAAA111000",

            "receptor_rfc": " YYYAAA444333",

            "receptor_nombre": "Razón Social YYYAAA444333 ",

            "rfc_pac": " YYYXXX999666",

            "fecha_emision": "2022-11-01 10:21:47",

            "fecha_timbrado": "2022-11-01 11:21:47",

            "total": 1.16,

            "tipo_comprobante": "I",

            "estatus": "cancelado",

            "fecha_cancelacion": "2022-11-11 16:48:22",

            "serie": "A",

            "folio": "499",

            "moneda": "MXN",

            "no_certificado": "00001000000507535193",

            "subtotal": 1.0,

            "version": "4.0"

        },

        {

            "uuid": "245BF443-F959-42A7-8932-0093DD94D501",

            "emisor_rfc": " XXXAAA222111",

            "emisor_nombre": "Razón Social XXXAAA222111",

            "receptor_rfc": "KALF8505106B9",

            "receptor_nombre": "Razón Social YYYAAA444333 ",

            "rfc_pac": " YYYXXX999666",

            "fecha_emision": "2022-11-18 10:33:48",

            "fecha_timbrado": "2022-11-18 11:33:48",

            "total": 1.16,

            "tipo_comprobante": "I",

            "estatus": "activo",

            "fecha_cancelacion": "2023-01-26 15:47:45",

            "serie": "A",

            "folio": "510",

            "moneda": "MXN",

            "no_certificado": "00001000000507535193",

            "subtotal": 1.0,

            "version": "3.3"

        }

   ]

}

No todos los atributos estarán presentes siempre en la respuesta. La descripción de los mismos se define a continuación:

  • solicitud: Número correspondiente a la solicitud generada.
  • codigo: Código correspondiente al estado de la solicitud procesada.
  • mensaje: Mensaje referente al estado de la solicitud.
  • respuesta: El valor contiene la dirección el json con comprobantes filtrados en la búsqueda

Multi comprobantes

Pre-requisitos

  • Estar registrado en la plataforma PADE, lo que garantizará que cuente con usuario, contraseña y contrato para autenticarse en el servicio.
  • Contar con un software cliente que le permita realizar las peticiones a nuestro servicio.

Limitantes

  • El contrato en relación con el usuario de estar vigente
  • Se debe contar con una fecha inicio y una fecha fin para poder consultar el servicio, así como un rfcs emisor y/o receptor
  • Solo se pueden solicitar comprobantes de rfcs relacionados al usuario que realiza la petición
  • Los rfcs a solicitar deben estar activos para el usuario
  • Se realiza una petición para solicitar los comprobantes, y otra para verificar el estatus de descarga
  • Cada solicitud tiene su propio número de solicitud

Generar Solicitud de multicomprobantes

URL de generación de una solicitud de multicomprobantes:

https://dm.pade.mx/multicomprobantes/solicitar

Este método se utiliza para generar la solicitud según los parámetros especificados en la petición para mostrar la información relacionada con la búsqueda en los comprobantes en la relación a los parámetros enviados son los parámetros que mostrará como respuesta. El método realiza la autenticación al servicio, valida los parámetros y regresa un Json como respuesta al servicio, con un número de único de solicitud.

Características de la petición

  • Petición REST
  • Tipo POST
  • Headers: Content-Type = application/json

Parámetros del servicio:

  • userPade*: Indica el usuario con el cual se autenticará al servicio.
  • passPade*: Indica la contraseña del usuario con el cual se autenticará al servicio.
  • contrato*: Indica el código de contrato del usuario con el que se realizará la solicitud.
  • fechaInicio*: Indica la fecha inicial de búsqueda
  • fechaFin*: Indica la fecha final de búsqueda
  • rfc*: listado de los rfc a buscar
  • petición*: Indica el valor si es rfc emisor o receptor.

Filtros opcionales que se pueden agregar como parámetros para ampliar la búsqueda (no son obligatorios)

  • uuid: Folio fiscal
  • tipo: tipo de comprobante (I,E,T,N,P)
    • I = Ingreso
    • E= Egreso
    • T = Traslado
    • N = Nomina
    • P = Pago
  • serie: serie de un comprobante
  • montoMin: monto mínimo del comprobante, valor entero
  • montoMax: monto máximo del comprobante, valor entero

Los parámetros marcados con * son obligatorios.

Sin embargo, los parámetros emisor o receptor debe de ir al menos uno, ya que uno de los dos (emisor o receptor) debe coincidir con el rfc del solicitante.

Ejemplo de generación de solicitud:  

{
"userPade":"",
"passPade":"",
"contrato":"",
"fechaInicio":"2022-07-19",
"fechaFin":"2022-08-18",
"rfc":[
     "ABCD123456EF7",
     "AAAA123456BB7",
 ],
"peticion":"emisor",
"uuid":"",
"tipo":"I",
"serie":"",
"montoMin":0,
"montoMax":0
}

El parámetro petición puede tener el valor “emisor” o “receptor”            

Solicitud exitosa:


No todos los atributos estarán presentes siempre en la respuesta. La descripción de los mismos se define a continuación:

  • solicitud: Número correspondiente a la solicitud generada.
  • codigo: Código correspondiente al estado de la solicitud procesada.
  • mensaje: Mensaje referente al estado de la solicitud.
  • respuesta: Este valor de la respuesta de la solicitud al ser exitosa.

Verificar Solicitud de multicomprobantes

URL de verificación de una solicitud para consultar comprobantes:

https://dm.pade.mx/multicomprobantes/verificar

Este método se utiliza para verificar el estatus de la solicitud según los parámetros de autenticación con pade y numero de solicitud creado. El método realiza la autenticación al servicio, valida los parámetros, el número de solicitud y regresa un Json como respuesta al servicio, con un código y toda la información relacionada a los comprobantes con la información filtrada de descarga en caso de respuesta exitosa

Características de la petición

  • Petición REST
  • Tipo POST
  • Headers: Content-Type = application/json

 Parámetros del servicio:

  • usuario*: Indica el usuario con el cual se autenticará al servicio.
  • passPade*: Indica la contraseña del usuario con el cual se autenticará al servicio.
  • contrato*: Indica el código de contrato del usuario con el que se realizará la solicitud.
  • solicitud*: número de solicitud que se realizó en la solicitud

 Ejemplo de verificación de solicitud:


Solicitud exitosa:


No todos los atributos estarán presentes siempre en la respuesta. La descripción de los mismos se define a continuación:

  • solicitud: Número correspondiente a la solicitud generada.
  • codigo: Código correspondiente al estado de la solicitud procesada.
  • mensaje: Mensaje referente al estado de la solicitud.
  • respuesta: El valor contiene la dirección el json con comprobantes filtrados en la búsqueda

Códigos de respuestas

Código
Mensaje
0 Solicitud Exitosa: <mensaje de confirmación>
1 Solicitud vacía
2 No se encontró el parámetro <parámetro>, favor de verificar
3 Solicitud errónea: Error de sintaxis
4 El parámetro <parámetro> no puede estar vacío, favor de verificar
5 El parámetro <parámetro> no es válido, favor de verificar. <detalles de validación>
6 Error autenticación pade: Código pade, mensaje error
7 Error de conexión a bd : <nombre db>
8 Error de base de datos: <mensaje personalizado>
9 Solicitud en proceso
10 Solicitud Creada
11 Solicitud Vencida
101 El rfc <RFC> ya existe
102 El rfc <RFC> no existe
103 Hubo un problema al tratar con el pfx favor de verificar que sea válido e igual su contraseña
201 No se encontró uuid
202 Rfc deshabilitado
203 No existe rfc
204 No se encontraron comprobantes
205 Error al crear zip
206 Error al generar url de descarga
207 Hubo un error interno
208 Error al crear Solicitud
209 Información expirada
210 No se encontró información solicitada

Anexos: Diagramas del Proceso de Descarga Masiva

Dar de Alta razón social

  • Es necesario dar de alta las razones sociales en el servicio de crear razón social.



¿Cómo obtener mis comprobantes?

  • Una vez Dadas de alta nuestras razones sociales, es necesario habilitar uso del servicio de sincronización automática de descarga de comprobantes

Sincronización SAT

  • Habilitada la sincronización automática, el servicio se hará cargo de realizar la descarga y almacenamiento de tus comprobantes al día, de esta manera para poder obtenerlos y consultarlos dentro de los servicios de Descarga masiva



Descargar comprobante

  • El flujo consiste en enviar la petición al servicio de descargar comprobante, el servicio pide el comprobante en el lugar donde esta almacenado, el comprobante se encripta para mayor seguridad y regresa una cadena base64.


Descarga multicomprobantes

  • Se realiza una petición al servicio de multicomprobantes, este valida la información, obtiene todos los comprobantes relacionados a la búsqueda, crea un archivo zip, inserta los comprobantes al archivo, crea una dirección temporal para descargar el archivo, y se regresa la URL 


Consultar comprobantes

  • El servicio realiza la petición, se realiza búsqueda de contenido de los comprobantes en relación a la información a buscar y regresa información de los comprobantes encontrados.


Actualizar razón social

  • Se envía al servicio la información solicitada a actualiza, el servicio la recibe y ejecuta el cambio.


Eliminar razón social

  • Se envía al servicio la información solicitada, el servicio la recibe y elimina la razón social.


Lista de razones sociales

  • Se solicita el servicio de lista de comprobantes, el cual busca el listado de razones sociales que hacen referencia al usuario.