API DE HERRAMIENTAS PADE

DOCUMENTACIÓN DE LA API DE HERRAMIENTAS PADE

22 marzo, 2021

Revisión Fecha Comentarios
1 2017-12-07 Documento inicial.
2 2020-02-21
Actualización método para consultar EFOS mediante RFC.
3 2020-04-14
Actualización métodos consultar efosbyRFC, consultar la Validez del RFC, generar pdf, obtener pdf, obtener saldo, obtener xml/pdf

Tabla de contenido

  • Introducción

  • Pre-requisitos.

  • Descripción del Servicio.

  • Metodos

    • Método para consulta de RFC.

    • Método para consulta de Efos mediante RFC.

    • Método para consultar la Validez del RFC.

    • Método para generar pdf.

    • Método para obtener pdf.

    • Método para obtener saldo.

    • Método para obtener xml/pdf.

Introducción

La ubicación del WSDL del servicio de herramientas Pade® es la siguiente:  https://timbrado.pade.mx/servicio/herramientas?wsdl

Pre-requisitos

  1. Estar registrado en la plataforma PADE

  2. Datos para la autenticación (Contrato, Usuario y Contraseña)

Método para consulta de RFC: consultarRfc

Este método permite al usuario verificar y validar uno o varios RFCs, tanto su estructura como su vigencia en la lista de RFCs del SAT.

El método acepta los siguientes parámetros:

  • contrato. Identificador único del contrato de servicios.

  • usuario. Nombre del usuario del servicio. Éste usuario debe estar autorizado para utilizar la API.

  • passwd. Contraseña del usuario del servicio.

  • rfcObject. RFC que se desea consultar. El RFC puede ir después de un identificador “id” y un signo pipe “|” en caso de que el usuario requiera identificar cada RFC que se consulte.

Debajo se muestra un ejemplo de una petición de consulta de dos RFCs, en él se pueden observar los parámetros mencionados anteriormente.

Ejemplo de petición SOAP

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.lco.pade.prodigia.mx/"> 
     <soapenv:Header/>
     <soapenv:Body>
         <ws:consultarRfc> 
             <contrato>CONTRATO< /contrato> 
             <usuario>USUARIO </usuario> 
             <passwd>CONTRASEÑA</passwd> 
             <rfcObject>1|AAA010101AAA</rfcObject> 
             <rfcObject>2|VALA7007171E9</rfcObject> 
             </ws:consultarRfc> 
         </soapenv:Body> 
</soapenv:Envelope>

A continuación se describen los atributos que se obtienen en la respuesta.

Respuesta del Servicio

  • codigo. Identifica si una solicitud es correcta o no. Si hay algún error en los parámetros de la solicitud o error en la sintaxis se regresará el código 301; si el request es correcto se devolverá el código 0.

Respuesta en Consulta del RFC

  • codigo. El código es un valor cuya función principal es indicar el error en el RFC. Si el RFC es válido y está vigente en la lista de RFCs del SAT se regresará el código “200”.
  • detalle. Es el mensaje descriptivo que le corresponde al código de error que se regresa, en caso de haberlo. Sí se regresa un código “200”, el atributo “detalle” no estará presente en la respuesta.
  • id. Corresponde al mismo id que se envía en la solicitud por cada RFC, e regresa para fines informativos.
  • rfc. Corresponde al mismo RFC que se envía en la solicitud, se regresa para fines informativos.

Debajo se muestra un ejemplo de una respuesta, en él se pueden observar los parámetros anteriormente mencionados.

Ejemplo de petición SOAP

<![CDATA[<ResultConsultaRFC> 

     <codigo>0</codigo> 

     <rfc> 

         <codigo>101</codigo> 

         <detalle>El rfc no existe en la lista de RFC inscritos no cancelados del SAT</detalle> 

         <id>1</id> 

         <rfc>AAA010101AAA</rfc> 

</rfc> 

<rfc> 

         <codigo>200</codigo> 

         <id>2</id> 

         <rfc>VALA7007171E9</rfc> 

     </rfc>
</ResultConsultaRFC>]]>

REST

El servicio de consulta mediante REST puede ser accedido desde:

URL para servicio REST

https://timbrado.pade.mx/servicio/rest/consulta/consultarRfc

  • El url query de la petición REST deberá ser de tipo GET y contener:
    • El parámetro “contrato” con el código de contrato del usuario
    • El/Los parámetro(s) “rfcObject” con el RFC que se desea consultar. El RFC puede ir después de un identificador “id” y un signo pipe “|” en caso de que el usuario requiera identificar cada RFC que se consulte.
    • IMPORTANTE: Si se desea consultar un rfc cuyo contenido lleva un amperstand ‘&‘ este deberá ser reemplazado por los caracteres ‘%26‘
  • Las credenciales de usuario y contraseña deberán ir en el HEAD de la  petición mediante el atributo “Authorization Basic” con el formato usuario:password codificados en base64.
  • El tipo de contenido (atributo Content-Type) deberá especificar el valor “application/xml“.

Ejemplo de petición mediante el cliente Advanced REST Client:

Ejemplo de petición REST


Ejemplo de respuesta del servicio de consulta de rfc
Ejemplo de respuesta del servicio

<ResultConsultaRFC>

     <codigo>0</codigo>

     <fechaLista>2019-12-03</fechaLista>

     <rfc>

         <codigo>200</codigo>

          <rfc>AAA010101AAA</rfc>

     </rfc>

</ResultConsultaRFC>

Método para consultar EFOS mediante RFC: consultarEfoByRfc (SOAP) 

Esta operación se encarga de realizar la búsqueda del RFC especificado dentro del listado que contempla el SAT como empresas que facturan operaciones simuladas(EFOS)

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.
  • rfc: Indica el rfc que sera consultado en el listado de EFOS proporcionado por el SAT.

Request

Debajo se muestra un ejemplo de una petición, en él se pueden observar los parámetros anteriormente mencionados.

Request_efos

<?xml version="1.0"?>

-<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rfc="http://rfc.ws.pade.prodigia.mx/">

         <soapenv:Header/>
     - <soapenv:Body>

      - <rfc:consultarEfoByRfc>

             <contrato>CONTRATO</contrato>

             <usuario>USUARIO</usuario>

             <passwd>PASSWORD</passwd>

             <rfc>AAA080808HL8</rfc>

         </rfc:consultarEfoByRfc>

     </soapenv:Body>

</soapenv:Envelope>

Response

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

  • consultaOk: 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.
  • fechaLista:Cadena: de texto con información sobre la fecha de actualización de la lista por parte del SAT
  • codigo: Indica el estatus de la operación, si el proceso se realizó correctamente el valor esperado es 0, de lo contrario se especifica el codigo de error.
  • detalles: Nodo que contiene la lista con el resultado de la consulta
  • detalle: Nodo que contiene los atributos de un registro de manera individual
    • rfc
    • razonSocial
    • situacionContrib
    • numFechaPresuncion
    • pubFechaSatPresuntos
    • numGlobalPresuncion
    • pubFechaDofPresuntos
    • pubSatDesvirtuados
    • numContribDesvirtuados
    • pubDofDesvirtuados
    • numFechaDefinitivos
    • pubSatDefinitivos
    • pubDofDefinitivos
    • numFechaSentFav
    • pubSatSentFav
    • numFechaGlobalSentFav
    • pubDofSentFav

Debajo se muestra un ejemplo de una respuesta, en él se pueden observar los parámetros anteriormente mencionados.

<?xml version="1.0"?>

-<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">

     -<S:Body>

         -<ns2:consultarEfoByRfcResponse xmlns:ns2="http://rfc.ws.pade.prodigia.mx/">

             -<return>

                 -<![CDATA[

                     <ResultConsultaEFO>

                         <consultaOk>true</consultaOk>

                         <fechaLista>Información actualizada al 03 de diciembre de 2019</fechaLista>

                         <codigo>0</codigo>

                         <detalles>

                             <detalle>

                                 <rfc>AAA010101AAA</rfc>

                                 <razonSocial>EMPRESA DE PRUEBA, S.A. DE C.V.</razonSocial>

                                 <situacionContribuyente>Sentencia Favorable</situacionContribuyente>

                                 <numFechaPresuncion>500-05-2018-16596 de fecha 01 de junio de 2018</numFechaPresuncion>

                                 <pubFechaSatPresuntos>01/06/2018</pubFechaSatPresuntos>

                                 <numGlobalPresuncion>500-05-2018-16596 de fecha 01 de junio de 2018</numGlobalPresuncion>

                                 <pubFechaDofPresuntos>25/06/2018</pubFechaDofPresuntos>

                                 <numFechaDefinitivos>500-05-2018-27248 de fecha 27 de septiembre de 2018</numFechaDefinitivos>

                                 <pubSatDefinitivos>28/09/18</pubSatDefinitivos>

                                 <pubDofDefinitivos>23/10/18</pubDofDefinitivos>

                                 <numFechaSentFav>500-05-2019-7305 de fecha 5 de marzo de 2019</numFechaSentFav>

                                 <pubSatSentFav>5/03/19</pubSatSentFav>

                                 <numFechaGlobalSentFav>500-05-2019-7987 de fecha 5 de marzo de 2019</numFechaGlobalSentFav>

                                 <pubDofSentFav>16/04/19</pubDofSentFav>

                             </detalle>

                         </detalles>

                     </ResultConsultaEFO>]]>

                 </return>

             </ns2:consultarEfoByRfcResponse>

     </S:Body>
</S:Envelope>


Códigos de respuesta en consulta de RFC


Código
Descripción
0 Request aceptado.
101 El RFC no existe en la lista de RFC inscritos no cancelados del SAT.
102 El RFC no cumple con el patrón requerido.
103 El RFC está vacío.
200 OK. Sin mensaje.
301 Error en los parámetros de request – usuario, password, contrato o algún otro error en la sintaxis.

Método para consultar Efos mediante RFC: consultarEfoByRfc (REST) 

Esta operación se encarga de realizar la búsqueda del RFC especificado dentro del listado que contempla el SAT como empresas que facturan operaciones simuladas(EFOS)

Se encuentra disponible en la siguiente URL:
https://timbrado.pade.mx/servicio/rest/herramientas/consultarEfoByRfc

Y cuyos parámetros (URL Query Parameters) se describen a continuación:

  • contrato: Clave del contrato de servicios.
  • rfc: Indica el rfc que sera consultado en el listado de EFOS proporcionado por el SAT.

Las credenciales (usuario y contraseña) deberán ir en el HEAD de la petición mediante el atributo “Authorization Basic” con el formato usuario:password codificados en base64.

El tipo de contenido (atributo Content-Type) deberá especificar el valor “application/xml“.

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

  • consultaOk: 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.
  • fechaLista: Cadena de texto con información sobre la fecha de actualización de la lista por parte del SAT
  • codigo: Indica el estatus de la operación, si el proceso se realizó correctamente el valor esperado es 0, de lo contrario se especifica el codigo de error.
  • detalles: Nodo que contiene la lista con el resultado de la consulta
  • detalle: Nodo que contiene los atributos de un registro de manera individual
    • rfc
    • razonSocial
    • situacionContrib
    • numFechaPresuncion
    • pubFechaSatPresuntos
    • numGlobalPresuncion
    • pubFechaDofPresuntos
    • pubSatDesvirtuados
    • numContribDesvirtuados
    • pubDofDesvirtuados
    • numFechaDefinitivos
    • pubSatDefinitivos
    • pubDofDefinitivos
    • numFechaSentFav
    • pubSatSentFav
    • numFechaGlobalSentFav
    • pubDofSentFav

Códigos de respuesta en consulta de RFC

Código
Descripción
0 indica que el proceso o resultado de la operación fue correcto.
2 indica que el contrato especificado no es valido.
1 indica un error en los datos de acceso (usuario, password)
3 indica un error en los parámetros enviados(parámetro inválido)
4 indica un error interno

Método  consultarValidezRfc :

El método permite consultar el estatus de un rfc en la LCO

Se encuentra disponible en la siguiente URL:
https://timbrado.pade.mx/servicio/rest/herramientas/consultarValidezRfc

Y cuyos parámetros (URL Query Parameters) se describen a continuación:

  • contrato: Clave del contrato de servicios.
  • busqueda: Este parámetro puede recibir el rfc, el numero de certificado o ambos, en caso de ser ambos deberán separarse por el elemento pipe ‘|’.

Las credenciales (usuario y contraseña) deberán ir en el HEAD de la petición mediante el atributo “Authorization Basic” con el formato usuario:password codificados en base64.

El tipo de contenido (atributo Content-Type) deberá especificar el valor “application/xml“.

No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la operación. La descripción de los atributos se describe a continuación:

  • consultaOk. Los valores posibles son “true” o “false”, y determina si la invocación al webservice fue exitosa.
  • codigo. Código global de la invocación. Un valor de 0 (cero) indica que la invocación se dio exitosamente, o de otra forma se indica la razón del problema.
  • rfc. Retorna el rfc al cual pertenece la consulta devuelta
  • lcoItems. Nodo padre de los resultados de la consulta

lcoItem. Nodo hijo para resultados individuales estatus.

      • fechaFin.
      • fechaInicio.
      • numCert.
      • validez.

Ejemplo de petición REST con el cliente Advanced Rest Client


Códigos devueltos por el servicio

Código
Descripción
0 indica que el proceso o resultado de la operación fue correcto.
2 indica que el contrato especificado no es valido.
1 indica un error en los datos de acceso (usuario, password).
3 indica un error en los parámetros enviados(parámetro inválido)
4 indica un error interno.

Método  GenerarPdf :

Este método nos permite recuperar el pdf en formato base64 de un xml proporcionado

Se encuentra disponible en la siguiente URL:
https://timbrado.pade.mx/servicio/rest/herramientas/generarPdf

Y cuyos parámetros (URL Query Parameters) se describen a continuación:

  • contrato: Clave del contrato de servicios.
  • xml: String con el xml del comprobante del cual se requiere recuperar el pdf.
  • obsBase64: String base64 con las observaciones que seran agregadas al pdf.

Las credenciales (usuario y contraseña) deberán ir en el HEAD de la petición mediante el atributo “Authorization Basic” con el formato usuario:password codificados en base64.

El tipo de contenido (atributo Content-Type) deberá especificar el valor “application/xml“.


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

  • ok: 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.
  • pdfBase64: String en formato base64 del pdf devuelto.
  • mensaje: Mensaje devuelto por el servicio
  • codigo: Indica el estatus de la operación, si el proceso se realizó correctamente el valor esperado es 0, de lo contrario se especifica el código de error.


Códigos devueltos por el servicio

Código
Descripción
0 indica que el proceso o resultado de la operación fue correcto.
2 indica que el contrato especificado no es valido.
1 indica un error en los datos de acceso (usuario, password).
3 indica un error en los parámetros enviados(parámetro inválido)
4 indica un error interno.

Método obtenerPdf:

Este metodo nos permite recuperar el pdf en formato base64 a partir del uuid del comprobante especificado

Se encuentra disponible en la siguiente URL:
https://timbrado.pade.mx/servicio/rest/herramientas/obtenerPdf

Y cuyos parámetros (URL Query Parameters) se describen a continuación:

  • contrato: Clave del contrato de servicios.
  • uuid: Folio fiscal del comprobante del cual queremos obtener el pdf.
  • obsBase64: String base64 con las observaciones que seran agregadas al pdf.

Las credenciales (usuario y contraseña) deberán ir en el HEAD de la petición mediante el atributo “Authorization Basic” con el formato usuario:password codificados en base64.

El tipo de contenido (atributo Content-Type) deberá especificar el valor “application/xml“.


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

  • ok: 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.
  • pdfBase64: String en formato base64 del pdf devuelto.
  • mensaje: Mensaje devuelto por el servicio
  • codigo: Indica el estatus de la operación, si el proceso se realizó correctamente el valor esperado es 0, de lo contrario se especifica el código de error.


Códigos devueltos por el servicio

Código
Descripción
0 indica que el proceso o resultado de la operación fue correcto.
2 indica que el contrato especificado no es valido.
1 indica un error en los datos de acceso (usuario, password).
3 indica un error en los parámetros enviados(parámetro inválido)
4 indica un error interno.
602 El cfdi especificado no existe

Método  obtenerSaldo :

Este metodo nos permite recuperar la cantidad de transacciones que tenemos disponible en nuestro contrato de servicios

Se encuentra disponible en la siguiente URL:
https://timbrado.pade.mx/servicio/rest/herramientas/obtenerSaldo

Y cuyos parámetros (URL Query Parameters) se describen a continuación:

  • contrato: Clave del contrato de servicios.
    Las credenciales (usuario y contraseña) deberán ir en el HEAD de la petición mediante el atributo “Authorization Basic” con el formato
  • usuario:password codificados en base64.
    El tipo de contenido (atributo Content-Type) deberá especificar el valor “application/xml“.


Atributos de la respuesta:

  • ok: 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.
  • saldo: Cantidad de transacciones disponibles.
  • mensaje: Mensaje devuelto por el servicio
  • codigo: Indica el estatus de la operación, si el proceso se realizó correctamente el valor esperado es 0, de lo contrario se especifica el código de error.


Códigos devueltos por el servicio

Código
Descripción
0 indica que el proceso o resultado de la operación fue correcto.
2 indica que el contrato especificado no es valido.
1 indica un error en los datos de acceso (usuario, password).
3 indica un error en los parámetros enviados(parámetro inválido)
4 indica un error interno.

Método  obtenerXmlPdf :

Este metodo nos permite recuperar tanto el xml como el pdf en formato base64 del uuid especificado

Se encuentra disponible en la siguiente URL:
https://timbrado.pade.mx/servicio/rest/herramientas/obtenerXmlPdf

Y cuyos parámetros (URL Query Parameters) se describen a continuación:

  • contrato: Clave del contrato de servicios.
  • uuid: Folio fiscal del comprobante del cual queremos obtener ambos archivos.
  • obsBase64: String base64 con las observaciones que seran agregadas al pdf.

Las credenciales (usuario y contraseña) deberán ir en el HEAD de la petición mediante el atributo “Authorization Basic” con el formato usuario:password codificados en base64.

El tipo de contenido (atributo Content-Type) deberá especificar el valor “application/xml“.


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

  • ok: 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.
  • pdfBase64: String en formato base64 del pdf devuelto.
  • xmlBase64: String en formato base64 del xml devuelto.
  • mensaje: Mensaje devuelto por el servicio
  • codigo: Indica el estatus de la operación, si el proceso se realizó correctamente el valor esperado es 0, de lo contrario se especifica el código de error.


Códigos devueltos por el servicio

Código
Descripción
0 indica que el proceso o resultado de la operación fue correcto.
2 indica que el contrato especificado no es valido.
1 indica un error en los datos de acceso (usuario, password).
3 indica un error en los parámetros enviados (parámetro inválido)
4 indica un error interno.
602 El cfdi especificado no existe