Se utiliza para realizar el timbrado de un XML mediante webservices, esto aplica para
clientes que ya cuentan con un sistema donde requieran integrar la facturación
electrónica, se requiere del envío de sus CFDI's, para validar que cumpla con los
lineamientos y requisitos correspondientes y poder emitir sus XML's y PDF's.
Requisitos
Contar con un Certificado de Sello Digital (CSD) válido ante el SAT.
Contar con un software cliente para realizar las peticiones de timbrado.
Estar registrado en la plataforma Pade (con esto obtienes el usuario, contraseña y contrato
necesario para autenticarte en el servicio).
Para conocer el proceso de registro a la plataforma Pade, consulta la
documentación en la sección de primeros
pasos.
Consideraciones
Contrato: el contrato es la bolsa de transacciones de la cuenta. El
contrato sólo puede ser de un tipo de servicio (Timbrado, Emisión, Validación, etc.). Al
registrarse y antes de adquirir transacciones, el contrato tiene vigencia de 30 días
naturales.
Inicio de sesión: el inicio de sesión es diferente para portal y
webservice.
Portal: es requerido el RFC con el que se hizo el registro, o
el código de cliente, el usuario y la contraseña establecidas.
Webservice: es requerido el contrato asignado en el registro,
el usuario y la contraseña establecidas.
Bloqueo de acceso: esto ocurre al ingresar incorrectamente el usuario
y/o contraseña en 3 ocasiones, ya sea a través del portal o webservice.
Restablecimiento de acceso: para iniciar el restablecimiento de acceso
es necesario ingresar a la plataforma Pade:
Seleccione la opción "INICIAR SESIÓN".
Da clic en: ¿Olvidó su contraseña?
Capturar el código de cliente y correo electrónico del usuario. El código del
cliente se entrega únicamente por correo electrónico al confirmar su registro en
la plataforma Pade.
Para mayor facilidad, los procesos de registro, inicio de sesión, restablecimiento de
acceso y cambio de correo se detallan en los siguientes manuales:
Lo siguiente es una guía sugerida para realizar una integración exitosa al servicio de timbrado
de Prodigia.
Registro a la plataforma Pade: el proceso se detalla en la sección Manuales.
Conocer el método de timbrado: en la sección "Método de Timbrado" del servicio SOAP o el servicio REST
encontrarás el detalle de cómo realizar el llamado de timbrado.
Conocer la funcionalidad adicional(opciones) que utilizarás: una opción es
funcionalidad adicional que realiza el servicio de timbrado en base a tu necesidad. Estas se
envían como parámetro durante el llamado de timbrado, Las opciones más comunes se utilizan
para cálculo del sello del comprobante y generación de PDF.
En el caso de que se requiera que el sello se calcule de nuestro lado, es necesario cargar el
certificado de sello digital (CSD) el cual será almacenado en base de datos, para realizar este
proceso contamos con un manual de usuario.
Recomendaciones
Establecer un timeout adecuado: la duración del proceso de timbrado depende de
las opciones establecidas, el tamaño del comprobante,entre otras cosas. Si bien el promedio de
timbrado de un comprobante va de 350ms a 500ms, recomendamos establecer un timeout de 60
segundos.
Crear un usuario para el webservice y otro para el portal: por seguridad se
recomienda generar diferentes usuarios en plataforma para utilizar el servicio de webservice y
portal.
Guardar muy bien el código de cliente: es importante mantenerlo seguro para
restablecer su contraseña, solo se hace llegar mediante correo electrónico.
Duplicar comprobantes: Por reglas del SAT, un comprobante con exactamente la
misma información no puede ser duplicado. Sin embargo, si dos comprobantes tienen 1 segundo de
diferencia en la fecha de emisión o algún otro dato tenga un caracter diferente, es fiscalmente
otro comprobante.
En el servicio de Prodigia no pueden duplicarse comprobantes mientras estos cuenten con
exactamente la misma información. Si hay una variación de tan solo 1 dígito o caracter,
fiscalmente es un comprobante nuevo.
Ambientes
Prodigia ofrece 2 tipos de ambientes: Ambiente productivo y de pruebas son
los ambientes que Prodigia ofrece para realizar sus procesos de timbrado:
Ambiente de producción: este ambiente se utiliza para realizar el proceso de
timbrado y la obtención de sus CFDI's, mismos que se reflejan ante el SAT, así como también los
diferentes métodos y opciones del servicio de timbrado y cancelación. La URL de este ambiente
varía según el tipo de conexión al servicio que se vaya a utilizar (SOAP o REST).
Para conocer el proceso de conexión de su interés, deberá ir a la sección del Servicio
deseado. Todas nuestras url de este ambiente inician con
https://timbrado.pade.mx
Ambiente de pruebas: este ambiente se utiliza para realizar pruebas de cambios que
aún no entran en vigor y de los cuales se utiliza para que el cliente conozca la funcionalidad y
prepare sus casos de prueba previos a productivo.
Todas nuestras url en este ambiente inician con https://pruebas.pade.mx
Infraestructura y Ambientes Separados
Es importante señalar que los diferentes tipos ambientes, no comparten infraestructura. Cada uno
opera de forma completamente independiente, lo que incluye:
Bases de datos separadas.
Infraestructura específica para cada ambiente.
URLs exclusivas que permiten el acceso a los servicios correspondientes de acuerdo con el
tipo de ambiente.
Usuarios y correos no coexisten.
Esta separación asegura que los servicios no interfieran entre sí y que puedan operar de manera
autónoma, optimizando así la funcionalidad y el control de cada uno de ellos.
Servicio SOAP
Conexión al servicio de timbrado CFDI (SOAP)
El servicio se encuentra disponible en una dirección URL pública:
Conexión al servicio de timbrado 4.0 SOAP https://timbrado.pade.mx/servicio/Timbrado4.0?wsdl
NOTA: La URL descrita en esta conexión es al ambiente
productivo, en caso de querer utilizar el ambiente de pruebas favor de ir a la
sección de Ambientes.
Método de timbradoCfdi
Es el método para obtener la validación de la estructura correcta, así mismo enviar dentro de la
petición cualquier tipo de caracter para que el servicio pueda convertirlo y detectarlo como válido
para obtener un XML armado. Por último, se realiza la autenticación al servicio, valida la
estructura del XML y devuelve la respuesta de la petición con el XML timbrado, en caso de algún
error, se especifica el código y mensaje.
En caso de alguna duda sobre el catálogo de errores. favor de revisar la sección de códigos.
El contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se
obtienen a través del registro de la plataforma Pade.
Parámetros marcados con * son obligatorios:
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.
cfdixml (comprobante a timbrar) *
Es el XML que se requiere timbrar, mismo que deberá estar previamente llenado con la
estructura correcta.
opciones
En caso de requerir alguna opción del servicio, ir a la sección de opciones del
servicio de timbrado.
Este parámetro se puede repetir cuantas opciones desea especificar.
prueba
Parámetro para realizar la petición en modo prueba, deberá especificarse como true (modo
prueba) o false (timbrado real), si no agregamos el parámetro, se toma como timbrado
real.
key
Arreglo de bytes Llave privada correspondiente al certificado.
keyPass
Contraseña de la llave privada.
cert
Arreglo de bytes con el archivo del certificado de sello digital. Se debe enviar el
archivo binario tal como se obtuvo del SAT (formato CER).
NOTA: Para conocer las guías de llenado de los diferentes tipos de comprobantes
puede consultar la información oficial que el SAT ofrece.
Ejemplo de petición de timbrado
Ejemplo de petición para timbrar un XML en sus dos versiones de CFDI. Se puede observar los
parámetros necesarios para el servicio, los cuales se describen más adelante.
Para los ejemplos de petición y respuesta del método timbradoCfdi solo se diferencía mediante el
nodo <timbradoCfdiResponse>.
La descripción de los atributos se define a continuación:
Atributo
Descripción
id
Identificador de la transacción interna, en formato UUID. Este valor es de uso
interno, no está relacionado con ninguna propiedad del XML o del Timbre Fiscal
Digital.
timbradoOk
Indica si la operación de timbrado fue conducida exitosamente. Los valores
posibles son “true”, que indica éxito; y “false”, que indica que el CFDI no pudo
ser timbrado y en consecuencia no fue aceptado por el servicio.
contrato
Identificador único del contrato del cliente. Se regresa para fines
informativos.
codigo
El código es un valor cuya función principal es indicar el error que fue
detectado, en caso de haberlo. Cuando la transacción de timbrado fue exitosa
(timbradoOk vale “true”) el código se regresa con un valor de 0 (cero) y de otra
forma se regresa con el código de error específico definido por el SAT. Por otro
lado, es posible que se acepte el certificado, pero con incidencias, lo que
causará que se regrese un código aun cuando el atributo timbradoOk tenga valor
de “true”. El código siempre pertenecerá al último error registrado por el
servicio (en caso de que se hayan registrado más de uno).
mensaje
Este valor es un texto informativo. Es especialmente útil cuando ocurren errores
en el procesamiento del CFDI. Cuando la transacción de timbrado fue exitosa,
este valor viene vacío. Es probable que la respuesta del servicio incluya más de
un mensaje de error, éstos serán separados por un carácter pipe (|).
version
Versión del Timbre Fiscal generado. A la fecha, el valor es 1.1. Este valor
forma parte del elemento tfd:TimbreFiscalDigital dentro del CFDI. Este valor se
incluye solamente cuando la transacción de timbrado es exitosa.
uuid
Folio fiscal asignado al CFDI. Este valor forma parte del elemento <
tfd:TimbreFiscalDigital> dentro del CFDI. Este valor se incluye solamente
cuando la transacción de timbrado es exitosa.
FechaTimbrado
Fecha de generación del Timbre Fiscal Digital. Este valor forma parte del
elemento < tfd:TimbreFiscalDigital> dentro del CFDI. Este valor se incluye
solamente cuando la transacción de timbrado es exitosa.
selloCFD
Sello del CFDI. Este valor forma parte del elemento < tfd:TimbreFiscalDigital>
dentro del CFDI. Este valor se incluye solamente cuando la transacción de
timbrado es exitosa.
noCertificadoSAT
Número de certificado del SAT. Este valor forma parte del elemento <
tfd:TimbreFiscalDigital> dentro del CFDI. Este valor se incluye solamente
cuando la transacción de timbrado es exitosa.
selloSAT
Sello del timbre fiscal digital. Este valor forma parte del elemento <
tfd:TimbreFiscalDigital> dentro del CFDI. Este valor se incluye solamente
cuando la transacción de timbrado es exitosa.
xmlBase64
String codificado en Base 64 que contiene el documento XML timbrado. Este valor
se incluye solamente cuando la transacción de timbrado es exitosa.
pdfBase64
String codificado en Base 64 que contiene el arreglo de bytes del PDF del
documento XML timbrado. Este valor se incluye solamente cuando la transacción de
timbrado es exitosa y se utiliza la opción GENERAR_PDF.
saldo
El valor de este nodo es el número de transacciones disponibles para el contrato
con el que se realizó la petición de timbrado. Este valor se incluye solamente
cuando la transacción es exitosa y se utiliza la opción CONSULTAR_SALDO.
Método enviar XML y PDF por correo
Se encarga de enviar el XML y el PDF de un comprobante timbrado a través de los servicios de
prodigia, este método es solo para el envío de archivos de un UUID, este UUID debe de estar
guardado en base de datos.
Parámetros marcados con * son obligatorios:
Parámetros
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.
uuid *
indica el código identificador único del comprobante.
destinatarios*
El parámetro destinatarios permite hasta la captura de 20 correos electrónicos separados
por el carácter coma ",".
La descripción de los atributos se describe a continuación:
Atributo
Descripción
contrato
Clave del contrato de servicio
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.
xmlBase64
String en formato base64 del XML correspondiente al UUID consultado.
Método de búsqueda de CFDI's por emisor, serie y folio
Este método permite realizar búsquedas de comprobantes fiscales digitales por internet (CFDI's)
que han sido previamente timbrados a través de los servicios de Prodigia. La búsqueda se puede
realizar aplicando filtros específicos por RFC del emisor, serie del comprobante y/o número de
folio, facilitando la localización y recuperación de documentos fiscales de manera precisa y
eficiente.
Parámetros marcados con * son obligatorios:
Parámetros
contrato *
Indica el código de contrato del usuario con el que se realizará la búsqueda.
usuario *
Indica el usuario con el que se autenticará el servicio.
passwd *
Contraseña del usuario del servicio.
rfcEmisor *
RFC del Emisor del CFDI.
serie
Serie del comprobante fiscal.
folio
Número de folio del comprobante fiscal.
El servicio de búsqueda de cfdis por emisor, serie y folio regresa un archivo XML sin esquemas,
estructurado de la siguiente manera:
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 define a continuación:
Atributo
Descripción
contrato
Indica el código de contrato del usuario con el que se realizará la búsqueda.
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.
xmlBase64
Es el XML codificado en base64 que fue encontrado correspondiente a los
parámetros de búsqueda.
En caso de encontrar más de un CFDI, se regresará un listado de XMLs, es decir
mostrará
todos los que coincidan con los parámetros de búsqueda.
Método de Cancelación
Método de Cancelación de CFDI
Este método crea la solicitud de cancelación de uno o varios CFDI. Debido a los cambios hechos
por el SAT, es necesario que el receptor responda la solicitud de cancelación (en algunos
casos), por lo que te recomendamos utilizar el método consultarEstatusComprobante(descrito más
abajo) después de crear la solicitud de cancelación para confirmar el estatus del comprobante.
Parámetros marcados con * son obligatorios:
Parámetros
contrato*
Clave del contrato de servicios.
usuario*
Indica el usuario con el que se autenticará el servicio.
passwd*
Contraseña del usuario del servicio.
rfcEmisor*
RFC del emisor de los CFDI’s a cancelar.
arregloUUID*
Arreglo de Strings con el UUID del Comprobante que se está cancelando. se requiere el
motivo de cancelación y opcionalmente el folio fiscal que sustituye el UUID que se está
cancelando.
Esta información separada por el carácter pipe (|):
UUID para cancelar.
Motivo de cancelación (más adelante se explican los valores que pueden contenerse).
Folio fiscal que sustituye el documento a cancelar (opcional).
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo
Descripción
statusOk
Los valores posibles son “true” o “false” y determina si la invocación al
webservice fue exitosa. Es importante observar que el valor de este atributo no
refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener
“true” aquí, pero error en cada cancelación individual. Obtendremos un valor de
false en este atributo en caso de un error mayor, por ejemplo que el contrato de
servicios esté expirado, o el usuario tenga una contraseña incorrecta.
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.
mensaje
Mensaje descriptivo del error en caso de que el valor de código sea diferente de
cero.
cancelaciones
Nodo que contiene la lista con los resultados de las operaciones individuales
sobre cada UUID.
cancelacion: Nodo que contiene el resultado de una
cancelación individual
uuid: UUID que fue procesado.
código: Código generado por el SAT con el resultado de
la cancelación. La lista de códigos individuales se muestra al final del
documento en la tabla 2 “Códigos para los
estatus de cancelación”.
mensaje: Mensaje opcional adicional con la descripción
del problema (en caso de haberlo).
acuseCancelBase64
Acuse de cancelación proporcionado por el SAT, codificado en base 64.
Método de Cancelación con opciones
Este método es similar a la operación de cancelación básica. La diferencia es el argumento
“opciones”, que es un arreglo de Strings con indicaciones adicionales para el servicio de
cancelación.
Indica el usuario con el que se autenticará el servicio.
passwd*
Contraseña del usuario del servicio.
rfcEmisor*
RFC del emisor de los CFDI’s a cancelar.
certBase64
Certificado con el cual fueron emitidos los CFDI’s a cancelar en formato Base64.
keyBase64
Llave privada con el cual fueron emitidos los CFDI’s a cancelar en formato Base64.
keyPass
Contraseña de la llave privada.
arregloUUID*
Arreglo de Strings con el UUID del Comprobante que se esta cancelando. Es requerido el
motivo de cancelación y opcionalmente el folio fiscal que sustituye el UUID que se está
cancelando.
Esta información separada por el carácter pipe (|):
UUID para cancelar.
Motivo de cancelación (más adelante se explican los valores que pueden contenerse).
Folio fiscal que sustituye el documento a cancelar (opcional).
No todos los atributos están presentes en la respuesta y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo
Descripción
statusOk
Los valores posibles son “true” o “false” y determina si la invocación al
webservice fue exitosa. Es importante observar que el valor de este atributo no
refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener
“true” aquí pero error en cada cancelación individual. Obtendremos un valor de
false en este atributo en caso de un error mayor, por ejemplo, que el contrato
de servicios esté expirado, o el usuario tenga una contraseña incorrecta.
rfc
RFC del emisor de los CFDI. Se proporciona para fines informativos.
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.
mensaje
Mensaje descriptivo del error en caso de que el valor de código sea diferente de
cero.
cancelaciones
Nodo que contiene la lista con los resultados de las operaciones individuales
sobre cada UUID.
cancelación: Nodo que contiene el resultado de una
cancelación individual.
uuid: UUID que fue procesado.
código: Código generado por el SAT con el resultado de
la cancelación. La lista de códigos individuales se muestra al final del
documento en la tabla 2 “Códigos de respuesta para los diferentes
servicios”.
mensaje: Mensaje opcional adicional con la descripción
del problema (en caso de haberlo).
Método consulta estatus del comprobante
El método consultarEstatusComprobante permite consultar el estatus de un comprobante ante el SAT.
Parámetros marcados con * son obligatorios:
Parámetros
contrato*:
Clave del contrato de servicios.
usuario*:
Indica el usuario con el que se autenticará el servicio.
passwd*:
Contraseña del usuario del servicio.
uuid*:
Folio Fiscal del comprobante que se quiere consultar su estatus.
rfcEmisor*:
RFC del Emisor del CFDI.
rfcReceptor*:
RFC del receptor del CFDI.
total*:
Total del comprobante que se quiere consultar.
opciones:
Arreglo de strings que indica al servicio las opciones que se utilizarán en la petición
de consulta.
Algunas de las opciones son MODO_PRUEBA:1, MODO_PRUEBA:2 y MODO_PRUEBA:3
El servicio de consulta estatus de comprobante regresa un archivo XML sin esquemas, estructurado
de la siguiente manera:
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo
Descripción
consultaOk
Los valores posibles son “true” o “false” y determina si la invocación al
webservice fue exitosa.
codigo
Código de respuesta del servicio del SAT.
codigoEstatus
Descripción del código de respuesta del servicio del SAT.
esCancelable
Indica de qué manera se puede cancelar el comprobante.
estado
Estatus actual del comprobante.
estatusCancelacion
Indica de qué manera se canceló el comprobante. Sólo se devolverá cuando el
comprobante se encuentre cancelado.
codigoEstatusCancelacion
Código representativo a la leyenda del nodo estatusCancelacion. Únicamente
cuando el nodo esCancelable = ‘No Cancelable’ se tomará el valor del codigo
correspondiente a este nodo.
El método acuseCancelacion permite recuperar el acuse de cancelación de un comprobante en formato
base64, siempre y cuando la cancelación se llevó a cabo mediante nuestro servicio.
Parámetros marcados con * son obligatorios:
Parámetros
contrato *
Indica el código de contrato del usuario.
usuario *
Indica el usuario con el que se autenticará el servicio.
passwd *
Indica la contraseña del usuario con el que se autenticará al servicio.
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo
Descripción
contrato
Indica el código de contrato del usuario.
consultaOk
Los valores posibles son “true” o “false” y determina si la invocación al
webservice fue exitosa. Es importante observar que el valor de este atributo no
refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener
“true” aquí pero error en cada cancelación individual. Obtendremos un valor de
false en este atributo en caso de un error mayor, por ejemplo, que el contrato
de servicios esté expirado, o el usuario tenga una contraseña incorrecta.
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.
xmlBase64
Es el XML codificado en base64 que se requiere recuperar, mismo que deberá estar
previamente llenado con la estructura correcta.
Responder solicitud cancelación con opciones
El método responderSolicitudCancelacionConOpciones permite responder las peticiones de
cancelación realizadas por otros contribuyentes.
Parámetros marcados con * son obligatorios:
Parámetros
contrato*
Clave del contrato de servicios.
usuario*
Indica el usuario con el que se autenticará el servicio.
passwd*
Contraseña del usuario del servicio.
rfcReceptor*
RFC del receptor de los CFDI’s a cancelar.
arregloUUID*
Arreglo de strings donde cada uno estará formado por el UUID y la respuesta a la
petición (‘Aceptación’ o ‘Rechazo’) separados por el carácter pipe. Ejemplo:
UUID|Aceptacion
UUID|Rechazo
Este parámetro se puede repetir cuantas opciones desea especificar.
En el caso de no tener el Certificado de sello digital (CSD) en la base de datos de Prodigia,
deberá enviar los siguientes parámetros:
certBase64: Certificado con el cual fueron emitidos los CFDI’s a cancelar
en formato Base64.
keyBase64: Llave privada con el cual fueron emitidos los CFDI’s a cancelar
en formato Base64.
keyPass: Contraseña de la llave privada.
En caso de que se tenga el CSD en nuestra base de datos deberá enviar la siguiente opción:
opcion:CERT_DEFAULT Esta opción toma el CSD cargado en base de datos.
Ejemplo de petición:
+Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tim="timbrado.ws.pade.mx">
<soapenv:Header/>
<soapenv:Body>
<tim:responderSolicitudCancelacionConOpciones>
<contrato>CONTRATO</contrato>
<usuario>USUARIO</usuario>
<passwd>CONTRASEÑA</passwd>
<rfcReceptor>RFCRECEPTOR</rfcReceptor>
<!--Zero or more repetitions:-->
<arregloUUID> ARREGLOUUID|Aceptacion </arregloUUID>
<arregloUUID> ARREGLOUUID|Rechazo </arregloUUID>
<cert></cert>
<key></key>
<keyPass></keyPass>
<!--Zero or more repetitions:-->
<opciones>XML_RESPONDER_SOLICITUD:PD94bWwgdmVyKdDJDVVNHektRUGlICdGswakJsTnZSaj
NLYk9CbmZTeWNmTU9ja3NHVyZT4KPC9Tb2xpY2l0dWRBY2VwdGFjaW9uUmVjaGF6bz4=</opciones>
</tim:responderSolicitudCancelacionConOpciones>
</soapenv:Body>
</soapenv:Envelope>
Ejemplo de respuesta:
+Response
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:responderSolicitudCancelacionConOpcionesResponse xmlns:ns2="timbrado.ws.pade.mx">
lt;return><![CDATA[<?xml version="1.0" encoding="UTF-8"?><servicioAceptacionRechazo>
<procesoOk>true</procesoOk>
<rfcReceptor>RFCRECEPTOR</rfcReceptor>
<rfcPac>RFCPAC</rfcPac>
<codigo>0</codigo>
<fecha>2022-10-21T16:50:54</fecha>
<codigoEstatus>1000</codigoEstatus>
<mensaje>Se recibió la respuesta de la petición de forma exitosa</mensaje>
<Folios Respuesta="Aceptacion">
<UUID>UUID</UUID>
<EstatusUUID>1001</EstatusUUID>
</Folios>
</servicioAceptacionRechazo>]]></return>
</ns2:responderSolicitudCancelacionConOpcionesResponse>
</S:Body>
</S:Envelope>
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
procesoOk
Los valores posibles son “true” o “false” y determina si la invocación al
webservice fue exitosa. Es importante observar que el valor de este atributo no
refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener
“true” aquí pero error en cada cancelación individual. Obtendremos un valor de
false en este atributo en caso de un error mayor, por ejemplo, que el contrato
de servicios esté expirado, o el usuario tenga una contraseña incorrecta.
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.
codigoEstatus
Descripción del código obtenido en la respuesta.
rfcReceptor
RFC del receptor de los UUIDs que se está respondiendo en la solicitud.
rfcPac
RFC del PAC que realizó la cancelación.
fecha
Fecha en la que se realizó la aceptación/rechazo de la petición.
mensaje
Este valor es un texto informativo.
folios
Nodo que contiene un UUID y su respectivo Estatus ante el SAT. Este nodo tiene
como atributo “Respuesta” que indica la respuesta que se le dio al SAT. Este
nodo aparecerá por cada UUID enviado en la solicitud.
uuid: UUID de la solicitud.
EstatusUUID: Estatus del UUID en el SAT.
Consulta de peticiones pendientes para aprobar/rechazar cancelaciones
El método consultarPeticionesPendientes permite consultar las peticiones pendientes de
cancelación que un contribuyente tiene como Receptor de comprobantes.
Parámetros marcados con * son obligatorios:
Parámetros
contrato *
Indica el código de contrato del usuario.
usuario *
Indica el usuario con el que se autenticará el servicio.
passwd *
Indica la contraseña del usuario con el que se autenticará al servicio.
rfcReceptor *
RFC del Receptor de los CFDI que se desea consultar.
opciones (opcional)
arreglo de strings que indica al servicio las opciones que se utilizarán en la petición
de cancelación
El servicio de consulta de peticiones pendientes regresa un archivo XML sin esquemas,
estructurado de la siguiente manera:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:consultarPeticionesPendientesResponse xmlns:ns2="timbrado.ws.pade.mx">
<return><![CDATA[<?xml version="1.0" encoding="UTF-8"?><servicioPeticionesPendientes>
<consultaOk>true</consultaOk>
<codigo>0</codigo>
<codigoEstatus>1100</codigoEstatus>
<mensaje>Se obtuvieron las peticiones del RFC Receptor de forma exitosa</mensaje>
<uuids>
<uuid>UUID</uuid>
</uuids>
</servicioPeticionesPendientes>]]></return>
</ns2:consultarPeticionesPendientesResponse>
</S:Body>
</S:Envelope>
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo
Descripción
consultaOk
Los valores posibles son “true” o “false” y determina si la invocación al
webservice fue exitosa. Es importante observar que el valor de este atributo no
refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener
“true” aquí pero error en cada cancelación individual. Obtendremos un valor de
false en este atributo en caso de un error mayor, por ejemplo, que el contrato
de servicios esté expirado, o el usuario tenga una contraseña incorrecta.
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.
codigoEstatus
Descripción del código obtenido en la respuesta.
mensaje
Este valor es un texto informativo.
Uuids
Nodo que contiene la lista con los uuids del resultado de la consulta.
Uuid. UUID encontrado con petición pendiente.
Consulta CFDI relacionados
El método consultarCfdiRelacionados permite consultar los documentos relacionados que tenga un
documento.
Parámetros marcados con * son obligatorios:
Parámetros
contrato *
Indica el código de contrato del usuario.
usuario *
Indica el usuario con el que se autenticará el servicio.
passwd *
Indica la contraseña del usuario con el que se autenticará al servicio.
UUID *
Folio Fiscal del comprobante que se quieren consultar sus documentos relacionados.
Solo se debe enviar un rfc, este debe de ser al que pertenece el csd.
rfcReceptor *
RFC del Receptor de los CFDI que se desea consultar.
rfcEmisor *
RFC del Emisor de los CFDI que se desea consultar
En el caso de no tener el Certificado de sello digital (CSD) en la base de datos de Prodigia,
deberá enviar los siguientes parámetros
certBase64: Certificado con el cual fueron emitidos los CFDI’s a cancelar
en formato Base64.
keyBase64: Llave privada con el cual fueron emitidos los CFDI’s a cancelar
en formato Base64.
keyPass: Contraseña de la llave privada.
En caso de que se tenga el CSD en nuestra base de datos deberá enviar la siguiente opción:
opcion:CERT_DEFAULT Esta opción toma el CSD cargado en base de datos.
Los datos de acceso al servicio como lo son: CONTRATO, USUARIO y PASSWD, deben ser los
proporcionados por el receptor, así mismo el certificado, key y keypas, ya que la petición que
se origina irá firmada por el receptor.
El servicio de consulta de documentos relacionados regresa un archivo XML sin esquemas,
estructurado de la siguiente manera:
No todos los atributos están presentes en la respuesta y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo
Descripción
consultaOk
Los valores posibles son “true” o “false” y determina si la invocación al
webservice fue exitosa.
codigo
Código de respuesta del servicio del SAT.
uuidConsultado
UUID del que fue consultados sus documentos relacionados.
resultado
resultado. Resultado de la consulta realizada. Es un mensaje armado por el
servicio del SAT.
UuidsRelacionadosPadre
Este nodo contiene la información de el (los) uuid (s) que el documento
consultado tiene como padre.
UuidPadre
Contiene la información de uno de los UUID padre.
UUID: Es el UUID Padre del documento.
rfcEmisor: Es el RFC del emisor del documento padre.
rfcReceptor: Es el RFC del receptor del documento padre.
Servicio REST
Conexión al servicio de timbrado CFDI (REST)
El servicio se encuentra disponible en una dirección URL pública, actualmente se encuentran
disponible en la versión 4.0
Conexión al servicio de timbrado REST 4.0. https://timbrado.pade.mx/servicio/rest/timbrado40/timbrarCfdi
NOTA: La URL descrita en esta conexión es al ambiente
productivo, en caso de querer utilizar el ambiente de pruebas favor de ir a la
sección de Ambientes.
Método de timbrarCfdi rest
Este método se utiliza para realizar el timbrado del XML, el método realiza la autenticación al
servicio, valida la estructura del XML y devuelve la respuesta de la petición con el XML
timbrado o en caso de que ocurra algún error, dentro de la respuesta se especifica el código y
mensaje de error. Para conocer acerca de los códigos de error, favor de revisar la sección de
códigos.
En caso de utilizar el ambiente productivo dicho XML se verá reflejado tanto en base de datos
como ante el SAT.
Parámetros
El urlquery de la petición en REST deberá ser del tipo “POST” y contener al menos el
parámetro “contrato” con el código de contrato del usuario como “Query Parameter”.
También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se
detallan en la sección “Opciones del Servicio” (de manera opcional).
Las credenciales (usuario y contraseña) deberán ir en el HEADERS de la petición mediante el
atributo “Authorization Basic” con el formato usuario:password codificados en Base64.
El tipo de contenido (atributo Content-Type) para timbrado y timbradoPrueba será
“application/json”.
El XML deberá enviarse en el “Body” de la petición.
EL contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se
obtienen a través del registro de la plataforma Pade.
NOTA: Para conocer las guías de llenado de los diferentes tipos de comprobante
puede consultar la información oficial que el SAT ofrece.
Ejemplo de petición:
Header
Dentro del body se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
xmlBase64(comprobante a timbrar) *
Es el XML codificado en base64 que se requiere timbrar, mismo que deberá estar
previamente llenado con la estructura correcta.
contrato *
Indica el código de contrato del usuario con el que se realizará el timbrado.
certBase64
String en formato Base64 del certificado.
keyBase64
String en formato Base64 de la llave privada.
keyPass
Contraseña de la llave privada.
prueba
Parámetro para realizar la petición en modo prueba, deberá especificarse como true o
false.
opciones
Arreglo de cadenas, en caso de requerir alguna opción del servicio, ir a la sección de
opciones del servicio de timbrado
Se encarga de enviar el XML y el PDF de un comprobante timbrado a través de Prodigia, dicho
método es solo para el envío de un par de archivos de un UUID, este UUID debe de estar guardado
en base de datos.
El urlquery de la petición en REST deberá ser del tipo “POST”.
También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se
detallan en la sección “Opciones del Servicio” (de manera opcional).
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) para enviarXmlAndPdfPorCorreo
“application/json”.
El parámetro xml deberá enviarse en el “Body” de la petición.
EL contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se
obtienen a través del registro de la plataforma Pade.
Ejemplo de petición mediante Advanced REST Client:
Header
Dentro del body se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
contrato *
Indica el código de contrato del usuario con el que se realizará la petición.
uuid *
indica el código identificador único del comprobante.
destinatarios *
El parámetro destinatarios permite hasta la captura de 3 correos electrónicos separados
por el carácter coma ",".
Ejemplo de respuesta:
Response
Recuperar CFDI por UUID
El método cfdporUuid permite recuperar el XML en formato base64 de un CFDI.
El urlquery de la petición en REST deberá ser del tipo “GET”.
También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se
detallan en la sección “Opciones del Servicio” (de manera opcional).
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 contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se
obtienen a través del registro de la plataforma Pade.
Dentro de params se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
contrato *
Indica el código de contrato del usuario con el que se realizará la petición.
uuid *
indica el código identificador único del comprobante.
Ejemplo de petición mediante Advanced REST Client:
Header
Parámetros
Ejemplo de respuesta mediante Advanced REST Client:
La descripción de los atributos se describe a continuación:
Atributo
Descripción
contrato
Clave del contrato de servicio.
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.
xmlBase64
String en formato base64 del XML correspondiente al uuid consultado.
Método de búsqueda de CFDI's por emisor, serie y folio
Este método permite realizar búsquedas de comprobantes fiscales digitales por internet (CFDI's)
que han sido previamente timbrados a través de los servicios de Prodigia. La búsqueda se puede
realizar aplicando filtros específicos por RFC del emisor, serie del comprobante y/o número de
folio, facilitando la localización y recuperación de documentos fiscales de manera precisa y
eficiente.
El urlquery de la petición en REST deberá ser del tipo "GET".
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 contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se
obtienen a través del registro de la plataforma Pade.
Dentro del params se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
contrato *
Indica el código de contrato del usuario con el que se realizará la búsqueda.
rfcEmisor *
RFC del Emisor del CFDI.
serie
Serie del comprobante fiscal.
folio
Número de folio del comprobante fiscal.
El servicio de búsqueda de cfdis por emisor, serie y folio regresa un archivo XML sin esquemas,
estructurado
de la siguiente manera:
Ejemplo de petición mediante Advanced REST Client:
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 define a continuación:
Atributo
Descripción
contrato
Indica el código de contrato del usuario con el que se realizará la búsqueda.
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.
xmlBase64
Es el XML codificado en base64 que fue encontrado correspondiente a los
parámetros de búsqueda. En caso de encontrar más de un CFDI, se regresará un
listado de XMLs, es decir mostrará todos los que coincidan con los parámetros de
búsqueda.
Método de cancelación REST
Método de Cancelación de CFDI rest
Este método crea la solicitud de cancelación de uno o varios CFDI. Debido a los cambios hechos
por el SAT, será necesario que el receptor responda la solicitud de cancelación (en algunos
casos), por lo que te recomendamos utilizar el método consultarEstatusComprobante(descrito más
abajo) después de crear la solicitud de cancelación para confirmar el estatus del comprobante.
El urlquery de la petición en REST deberá ser del tipo “POST”.
También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se
detallan en la sección “Opciones del Servicio” (de manera opcional).
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) para cancelar “application/xml".
EL contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se
obtienen a través del registro de la plataforma Pade.
Dentro del params se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
contrato *
Indica el código de contrato del usuario con el que se realizará la petición.
rfcEmisor *
indica el código identificador único del comprobante.
arregloUUID*
Arreglo de Strings con el UUID del Comprobante que se está cancelando. se requiere el
motivo de cancelación y opcionalmente el folio fiscal que sustituye el UUID que se está
cancelando.
Esta información separada por el carácter pipe (|):
UUID para cancelar.
Motivo de cancelación (más adelante se explican los valores que pueden contenerse).
Folio fiscal que sustituye el documento a cancelar (opcional).
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo
Descripción
statusOk
Los valores posibles son “true” o “false” y determina si la invocación al
webservice fue exitosa. Es importante observar que el valor de este atributo no
refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener
“true” aquí pero error en cada cancelación individual. Obtendremos un valor de
false en este atributo en caso de un error mayor, por ejemplo, que el contrato
de servicios esté expirado, o el usuario tenga una contraseña incorrecta.
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.
mensaje
Mensaje descriptivo del error en caso de que el valor de código sea diferente de
cero.
cancelaciones
Nodo que contiene la lista con los resultados de las operaciones individuales
sobre cada UUID.
cancelacion: Nodo que contiene el resultado de una
cancelación individual.
uuid: UUID que fue procesado.
código: Código generado por el SAT con el resultado de
la cancelación. La lista de códigos individuales se muestra al final del
documento en la tabla 2 “Códigos de respuesta para los diferentes
servicios”.
mensaje: Mensaje opcional adicional con la descripción
del problema (en caso de haberlo).
acuseCancelBase64
Acuse de cancelación proporcionado por el SAT, codificado en base 64.
Método consulta estatus del comprobante rest
El método consultarEstatusComprobante permite consultar el estatus de un comprobante ante el SAT.
El urlquery de la petición en REST deberá ser del tipo “POST”.
También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se
detallan en la sección “Opciones del Servicio” (de manera opcional).
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) para cancelar “application/xml".
EL contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se
obtienen a través del registro de la plataforma Pade.
Dentro del params se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
contrato *
Indica el código de contrato del usuario con el que se realizará la petición.
uuid *
Folio Fiscal del comprobante que se quiere consultar su estatus.
rfcEmisor *
RFC del Emisor del CFDI.
rfcReceptor *
RFC del receptor del CFDI.
total *
Total del comprobante que se quiere consultar.
opciones
Arreglo de strings que indica al servicio las opciones que se utilizarán en la petición
de consulta.
Algunas de las opciones son MODO_PRUEBA:1, MODO_PRUEBA:2 y MODO_PRUEBA:3
El servicio de consulta estatus de comprobante regresa un archivo XML sin esquemas, estructurado
de la siguiente manera:
Ejemplo de petición:
Ejemplo de petición mediante Advanced REST Client:
No todos los atributos están presentes en la respuesta y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo
Descripción
consultaOk
Los valores posibles son “true” o “false” y determina si la invocación al
webservice fue exitosa.
codigo
Código de respuesta del servicio del SAT.
codigoEstatus
Descripción del código de respuesta del servicio del SAT.
esCancelable
Indica de qué manera se puede cancelar el comprobante.
estado
Estatus actual del comprobante.
estatusCancelacion
Indica de qué manera se canceló el comprobante. Sólo se devolverá cuando el
comprobante se encuentre cancelado.
codigoEstatusCancelacion
Código representativo a la leyenda del nodo estatusCancelacion. Únicamente
cuando el nodo esCancelable = ‘No Cancelable’ se tomará el valor del codigo
correspondiente a este nodo.
estatusCfdi
Este código indica el estatus del CFDI ante el SAT. En la Tabla 4 se encuentra
la descripción de cada posible código.
Recuperar acuse de cancelación rest
El método acuseCancelacion permite recuperar el acuse de cancelación de un comprobante en formato
base64.
El urlquery de la petición en REST deberá ser del tipo “GET”.
También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se
detallan en la sección “Opciones del Servicio” (de manera opcional).
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 contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se
obtienen a través del registro de la plataforma Pade.
Dentro del params se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
contrato *
Indica el código de contrato del usuario con el que se realizará la petición.
uuid *
UUID del comprobante que se desea recuperar.
Ejemplo de petición mediante Advanced REST Client:
No todos los atributos están presentes en la respuesta y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo
Descripción
contrato
Indica el código de contrato del usuario.
consultaOk
Los valores posibles son “true” o “false” y determina si la invocación al
webservice fue exitosa. Es importante observar que el valor de este atributo no
refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener
“true” aquí pero error en cada cancelación individual. Obtendremos un valor de
false en este atributo en caso de un error mayor, por ejemplo, que el contrato
de servicios esté expirado, o el usuario tenga una contraseña incorrecta.
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.
xmlBase64
Es el XML codificado en base64 que se requiere recuperar, mismo que deberá estar
previamente llenado con la estructura correcta.
Responder solicitud cancelación rest
El método responderSolicitudCancelacion permite responder las peticiones de cancelación
realizadas por otros contribuyentes.
Enlace para responder solicitud de cancelación rest
El urlquery de la petición en REST deberá ser del tipo “POST”.
También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se
detallan en la sección “Opciones del Servicio” (de manera opcional).
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 contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se
obtienen a través del registro de la plataforma Pade.
Dentro del params se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
contrato *
Indica el código de contrato del usuario con el que se realizará la petición.
rfcReceptor *
RFC del receptor de los CFDI’s a cancelar.
arregloUUID *
Arreglo de strings donde cada uno estará formado por el UUID y la respuesta a la
petición (‘Aceptación’ o ‘Rechazo’) separados por el carácter pipe. Ejemplo:
UUID|Aceptacion
UUID|Rechazo
opciones (opcional)
En caso de requerir alguna opción del servicio, ir a la sección de opciones del
servicio de cancelación.
En el caso de no tener el Certificado de sello digital (CSD) en la base de datos
de Prodigia, deberá enviar los siguientes parámetros
cert: Certificado con el cual fueron emitidos los CFDI’s a cancelar.
key: Llave privada con el cual fueron emitidos los CFDI’s a cancelar.
keyPass: Contraseña de la llave privada.
En caso de que se tenga el CSD en nuestra base de datos deberá enviar la
siguiente opción:
opcion:CERT_DEFAULT Esta opción toma el CSD cargado en base de datos.
Ejemplo de petición:
Request
Header
Parámetros
Ejemplo de respuesta:
+Response
<?xml version="1.0" encoding="UTF-8"?>
<servicioAceptacionRechazo>
<procesoOk>true</procesoOk>
<rfcReceptor>RFC_RECEPTOR</rfcReceptor>
<rfcPac>RFC_PAC</rfcPac>
<codigo>0</codigo>
<fecha>2022-08-12T18:33:11</fecha>
<codigoEstatus>1000</codigoEstatus>
<mensaje>Se recibió la respuesta de la petición de forma exitosa</mensaje>
<Folios Respuesta="Aceptacion">
<UUID>UUID</UUID>
<EstatusUUID>1001</EstatusUUID>
</Folios>
<Folios Respuesta="Aceptacion">
<UUID>UUID</UUID>
<EstatusUUID>1001</EstatusUUID>
</Folios>
<Folios Respuesta="Rechazo">
<UUID>UUID</UUID>
<EstatusUUID>1001</EstatusUUID>
</Folios>
</servicioAceptacionRechazo>
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
procesoOk
Los valores posibles son “true” o “false” y determina si la invocación al
webservice fue exitosa. Es importante observar que el valor de este atributo no
refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener
“true” aquí pero error en cada cancelación individual. Obtendremos un valor de
false en este atributo en caso de un error mayor, por ejemplo, que el contrato
de servicios esté expirado, o el usuario tenga una contraseña incorrecta.
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.
codigoEstatus
Descripción del código obtenido en la respuesta.
rfcReceptor
RFC del receptor de los UUIDs que se está respondiendo en la solicitud.
rfcPac
RFC del PAC que realizó la cancelación.
fecha
Fecha en la que se realizó la aceptación/rechazo de la petición.
mensaje
Este valor es un texto informativo.
folios
Nodo que contiene un UUID y su respectivo Estatus ante el SAT. Este nodo tiene
como atributo “Respuesta” que indica la respuesta que se le dio al SAT. Este
nodo aparecerá por cada UUID enviado en la solicitud.
uuid: UUID de la solicitud.
EstatusUUID: Estatus del UUID en el SAT.
Consulta de peticiones pendientes para aprobar/rechazar cancelaciones rest
El método consultarPeticionesPendientes permite consultar las peticiones pendientes de
cancelación que un contribuyente tiene como Receptor de comprobantes.
El urlquery de la petición en REST deberá ser del tipo “POST”.
También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se
detallan en la sección “Opciones del Servicio” (de manera opcional).
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) para cancelar “application/xml.
EL contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado, y se
obtienen a través del registro de la plataforma Pade.
Dentro del params se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
contrato *
Indica el código de contrato del usuario con el que se realizará la petición.
rfcReceptor *
indica el rfc Receptor.
Ejemplo de petición mediante Advanced REST Client:
Header
Parámetros
Ejemplo de respuesta:
+Response
<?xml version="1.0" encoding="UTF-8"?>
<servicioPeticionesPendientes>
<consultaOk>true</consultaOk>
<codigo>0</codigo>
<codigoEstatus>1101</codigoEstatus>
<mensaje>No existen peticiones para el RFC Receptor</mensaje>
</servicioPeticionesPendientes>
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo
Descripción
consultaOk
Los valores posibles son “true” o “false” y determina si la invocación al
webservice fue exitosa. Es importante observar que el valor de este atributo no
refleja el valor de cada cancelación individual. Por ejemplo, podemos obtener
“true” aquí pero error en cada cancelación individual. Obtendremos un valor de
false en este atributo en caso de un error mayor, por ejemplo, que el contrato
de servicios esté expirado, o el usuario tenga una contraseña incorrecta.
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.
codigoEstatus
Descripción del código obtenido en la respuesta.
mensaje
Este valor es un texto informativo.
Consulta CFDI relacionados rest
El método consultarCfdiRelacionados permite consultar los documentos relacionados que tenga un
documento.
El urlquery de la petición en REST deberá ser del tipo “GET”.
También pueden ser especificadas como “Query Parameters” las opciones de timbrado que se
detallan en la sección “Opciones del Servicio” (de manera opcional).
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) para cancelar “application/xml.
EL contrato, usuario y contraseña se asigna una vez adquirido el servicio de timbrado y se
obtienen a través del registro de la plataforma Pade.
Dentro del params se deben especificar los siguientes parámetros
Parámetros marcados con * son obligatorios:
contrato *
Indica el código de contrato del usuario con el que se realizará la petición.
uuid *
Folio Fiscal del comprobante que se quieren consultar sus documentos relacionados.
rfcEmisor *
RFC del Emisor de los CFDI que se desea consultar.
rfcReceptor *
RFC del Receptor de los CFDI que se desea consultar.
En el caso de no tener el Certificado de sello digital (CSD) en la base de datos de
Prodigia, deberá enviar los siguientes parámetros
certBase64: Certificado con el cual fueron emitidos los CFDI’s a cancelar en formato Base64.
keyBase64: Llave privada con el cual fueron emitidos los CFDI’s a cancelar en formato
Base64.
keyPass: Contraseña de la llave privada.
En caso de que se tenga el CSD en nuestra base de datos deberá enviar la siguiente
opción:
opcion: CERT_DEFAULT Esta opción toma el CSD cargado en base de datos.
En el caso de no tener el Certificado de sello digital (CSD) en la base de datos de Prodigia,
deberá enviar los siguientes parámetros
certBase64: Certificado con el cual fueron emitidos los CFDI’s a cancelar
en formato Base64.
keyBase64: Llave privada con el cual fueron emitidos los CFDI’s a cancelar
en formato Base64.
keyPass: Contraseña de la llave privada.
En caso de que se tenga el CSD en nuestra base de datos deberá enviar la siguiente opción:
opcion:CERT_DEFAULT Esta opción toma el CSD cargado en base de datos.
Ejemplo de petición mediante Advanced REST Client:
No todos los atributos están presentes en la respuesta, y esto dependerá del resultado de la
operación y de las cancelaciones.
La descripción de los atributos se define a continuación:
Atributo
Descripción
consultaOk
Los valores posibles son “true” o “false”, y determina si la invocación al
webservice fue exitosa.
codigo
Código de respuesta del servicio del SAT.
uuidConsultado
UUID del que fue consultados sus documentos relacionados.
resultado
resultado. Resultado de la consulta realizada. Es un mensaje armado por el
servicio del SAT.
Opciones del Servicio
Opciones del Servicio de Timbrado
Las opciones permiten ejecutar acciones adicionales al timbrado que pudieran ayudar en la
operación del integrador.
Le indica al servicio que antes de generar el timbre fiscal digital se debe calcular el
sello del CFDI. Para que el servicio pueda calcular el sello del CFDI el cliente deberá
contar con su certificado de sello digital guardados en la plataforma de Pade. Esta
opción tiene las siguientes implicaciones:
* Puede ser que esta opción no esté disponible para su contrato, dependerá de los
servicios que haya solicitado (puede consultarlo con el personal de ventas) y en su caso
se generará un mensaje de error.
* El atributo “sello” del archivo XML que se envía debe venir vacío.
Dentro de esta opción existe la opción de calcular sello con CSD en específico
Al enviar el atributo NoCertificado con un valor distinto al default y vigente, calcula
el sello con este valor, en caso contrario regresa el mensaje “Su certificado
predeterminado ha caducado, puede actualizarlo desde el portal Pade” , de igual forma si se
envía un certificado no existente en Pade se obtiene el mensaje “No se cuenta con un
certificado de sello digital previamente guardado con numero 0000…”
Le indica al servicio que devuelva el valor de las transacciones disponibles después del
timbrado efectuado.
Esta opción permite enviar por correo electrónico los archivos PDF y XML del comprobante
que se timbra.
Si la transacción fue exitosa, envía el XML y el PDF timbrados a la dirección de
email especificada en la opción. Para realizar el envío a 1 hasta 20 direcciones,
cada dato debe de estar separado por un "," (coma).
El formato para utilizar la opción es el siguiente:
ENVIAR_AMBOS:correo@dominio.com
Esta opción le indica al servicio el texto XML con la addenda en base 64 que deberá ser
anexada al CFDI después del procedimiento de timbrado en texto plano. El formato para
especificar la addenda libre es:
ADDENDA:LIBRE:texto_addenda
En donde la cadena “texto_addenda” corresponde al String XML codificado en base 64 que
será anexado al CFDI.
Esta opción tiene las siguientes implicaciones:
La validez del contenido y la estructura de la addenda es responsabilidad del
usuario de timbrado.
El texto especificado dentro de la opción ADDENDA:LIBRE: será anexado en el XML
timbrado en texto plano dentro del nodo.
Esta opción permite agregar texto al campo Observaciones del PDF del comprobante; no
tiene ninguna afectación sobre el XML. Para ello se envía la opción OBSERVACIONES: ,
seguido de las observaciones en formato base 64.
Ejemplo: OBSERVACIONES:RmFjdHVyYSBwYWdhZGEu
Esta opción permite obtener la cadena original del timbre fiscal del comprobante.
La cadena original se regresa dentro de los nodos de cadenaOriginalTFD.
Permite generar el QR del CFDI. El servicio regresa un String codificado en Base 64 que
contiene el arreglo de bytes del archivo png que incluye el QR del XML timbrado.
Esta opción permite obtener el PDF del comprobante timbrado. El servicio regresa un
String codificado en Base 64 que contiene el arreglo de bytes del PDF del documento XML
timbrado.
La estructura de la petición se enviaría de la siguiente manera:
GENERAR_PDF
Si cuenta con un PDF personalizado la estructura de la petición cambia de la siguiente
manera:
GENERAR_PDF:ALIAS,ALIASLOGO
ALIAS: es el indicador/nombre que se le asigna al PDF personalizado por cliente.
ALIASLOGO: es el identificador/nombre que se le asigna al LOGOTIPO personalizado por
cliente.
En caso de no requerir que se muestre el logotipo en el PDF se cuenta con la siguiente
opción de alias llamado "SinLogo", el cual es necesario enviarlo dentro
del parámetro "ALIASLOGO":
GENERAR_PDF:ALIAS,SinLogo
Si desea modificar el color de su formato, se cuenta con un listado de colores. Podemos
utilizar el formato que desee del listado a continuación:
COLOR_PDF:pink
COLOR_PDF:#FB029D
COLOR_PDF:251,2,157
Le indica al servicio que si el XML que se envía contiene los mismos atributos SERIE y
FOLIO de un comprobante ya timbrado por la misma razón social, el servicio regresa la
información del comprobante previamente timbrado (con Código 307). Esta
validación trabaja con los últimos 3 meses de comprobantes timbrados.
Le indica al servicio de timbrado que devuelva la respuesta del servicio en formato Json
en lugar de XML.
Le indica al servicio el número de certificado en el comprobante, esta opción toma el
certificado en base64 anteriormente guardado y lo incluye en el request.
Opción que se utiliza en timbrado por CSV (a través de la api integración) y en timbrado
de retenciones.
Coloca el certificado y el NoCertificado que tiene guardado como default en base de
datos, en caso de que el request lleve alguno de los datos, estos los reemplaza por el
que se encuentra como default en base de datos.
Le indica al servicio que revise si los namespaces se encuentran correctamente colocados
en el elemento cfdi:Comprobante en caso de que estos namespaces se encuentren en otro
lugar se encarga de colocarlos correctamente en el elemento cfdi:Comprobante.
Agrega el valor del atributo TimbreFiscalDigital.RfcProvCertif a la respuesta del
servicio de timbrado. Esta opción funciona tanto para Soap y Rest.
Aplica para Aprobar/Rechazar Cancelación:
Esta opción permite recibir el XML con la solicitud de aceptación o rechazo ya firmado,
y sin modificarlo, realizar la solicitud en el SAT de los UUID’s contenidos en el XML.
Es útil cuando el cliente quiere omitir el envío del certificado, llave privada y
contraseña a través de este servicio o evitar el guardarlo en la plataforma de
facturación.
El formato para especificar el XML de solicitud es: XML_RESPONDER_SOLICITUD:xml_base64,
en donde la cadena “xml_base64” corresponde al XML de respuesta codificado en base 64.
Esta opción tiene las siguientes implicaciones:
Sólo se puede enviar 1 XML de solicitud por petición.
El parámetro rfcReceptor aún deben enviarse.
Opciones del servicio de Cancelación
Las opciones permiten ejecutar acciones adicionales a la cancelación que pudieran ayudar en
la operación del integrador.
Se utiliza en la cancelación, y le indica a la plataforma que obtenga el certificado por
default del usuario para realizar las cancelaciones. La presencia de esta opción causa
que sean ignorados la llave publica, llave privada y password de la llave privada
proporcionados como argumentos del método.
Se utiliza en la cancelación y sirve para especificar el certificado de sello digital del
emisor y su llave privada empaquetados en un archivo con formato PKCS12.El formato para
especificar el archivo PKCS12 es:
PKCS12:archivo_base64
En donde la cadena “archivo_base64” corresponde al archivo codificado en base 64.
Esta opción tiene las siguientes implicaciones:
Se ignora el valor de los parámetros cert y pkey que contienen el CSD y la llave
privada (individuales), respectivamente.
Se debe especificar el parámetro keyPass. Esta contraseña es la que se emplea para
leer el archivo PKCS12 y debe corresponder a la contraseña de la llave privada del
emisor.
El CSD y la llave privada deben estar alojados en el archivo con un alias, que
corresponde al RFC del emisor en letras mayúsculas.
Esta opción permite recibir el XML de cancelación y sin modificarlo, realizar la
cancelación en el SAT de los UUID’s contenidos en el XML. Es útil cuando el cliente
quiere omitir el envío del certificado, llave privada y contraseña a través de este
servicio o evitar el guardarlo en la plataforma de facturación. El formato para
especificar el XML de cancelación es:
XML_CANCELACION:xml_base64
En donde la cadena “xml_base64” corresponde al XML de cancelación codificado en base 64.
Esta opción tiene las siguientes implicaciones:
Se debe omitir el envío de los parámetros cert, pkey, keyPass y la opción
CERT_DEFAULT.
Sólo se puede enviar 1 XML de cancelación por petición.
Los parámetros rfc y uuid aún deben enviarse.
Esta opción permite simular una respuesta de prueba en el servicio de cancelación
dependiendo de la opción enviada.
Los modos de prueba reconocidos por el servicio son los siguientes:
MODO_PRUEBA:1 – Simula la respuesta para un comprobante No Cancelable, con código
94.
MODO_PRUEBA:2 – Simula la respuesta para un comprobante que está En proceso, en
espera de respuesta por parte del receptor, con código 96.
MODO_PRUEBA:3 – Simula la respuesta para un comprobante que se canceló sin
aceptación por parte del receptor, con codigo 201.
MODO_PRUEBA:4 – Simula la respuesta para un comprobante previamente cancelado, con
código 202.
MODO_PRUEBA:5 – Simula la respuesta para un comprobante donde el RFC no corresponde
con el enviado al servicio, con codigo 203.
MODO_PRUEBA:6 – Simula la respuesta para un comprobante donde el uuid especificado
no existe, con código 205.
Ejemplos de respuesta con la opción MODO_PRUEBA en cancelación
En los métodos relacionados con la cancelación existe una opción que simula una respuesta del
servicio para apoyar a los programadores con las pruebas e integración. Dependiendo del
método y el escenario será la respuesta que se obtenga del servicio.
Para hacer uso de la opción debe enviarse en la petición la opción: “MODO_PRUEBA:X” donde X
se refiere al escenario que se quiere simular en el método.
Donde los datos de la petición rfcEmisor, UUID y datos de certificado como lo son certBase64,
keyBase64 y keyPass deben de ser reales, para poder realizar la prueba correspondiente en la
simulación de la cancelación del comprobante.
Ejemplo de las respuestas de prueba en el servicio de cancelación.
<servicioCancel>
<statusOk>true</statusOk>
<rfc>RFC</rfc>
<codigo>0</codigo>
<mensaje>Esta es una respuesta de prueba; los datos no son reales.</mensaje>
<procesados>1</procesados>
<cancelados>0</cancelados>
<cancelaciones>
<cancelacion>
<uuid>UUID</uuid>
<codigo>94</codigo>
<mensaje>No Cancelable</mensaje>
</cancelacion>
</cancelaciones>
<acuseCancelBase64/>
</servicioCancel>
<servicioCancel>
<statusOk>true</statusOk>
<rfc>RFC</rfc>
<codigo>0</codigo>
<mensaje>Esta es una respuesta de prueba; los datos no son reales.</mensaje>
<procesados>1</procesados>
<cancelados>1</cancelados>
<cancelaciones>
<cancelacion>
<uuid>UUID</uuid>
<codigo>96</codigo>
<mensaje>En proceso</mensaje>
</cancelacion>
</cancelaciones>
<acuseCancelBase64/>
</servicioCancel>
<servicioCancel>
<statusOk>true</statusOk>
<rfc>RFC</rfc>
<codigo>0</codigo>
<mensaje>Esta es una respuesta de prueba; los datos no son reales.</mensaje>
<procesados>1</procesados>
<cancelados>1</cancelados>
<cancelaciones>
<cancelacion>
<uuid>UUID</uuid>
<codigo>201</codigo>
<mensaje>Cancelado sin aceptación</mensaje>
</cancelacion>
</cancelaciones>
<acuseCancelBase64/>
</servicioCancel>
<servicioCancel>
<statusOk>true</statusOk>
<rfc>RFC</rfc>
<codigo>0</codigo>
<mensaje>Esta es una respuesta de prueba; los datos no son reales.</mensaje>
<procesados>1</procesados>
<cancelados>0</cancelados>
<cancelaciones>
<cancelacion>
<uuid>UUID</uuid>
<codigo>202</codigo>
<mensaje>Previamente cancelado</mensaje>
</cancelacion>
</cancelaciones>
<acuseCancelBase64/>
</servicioCancel>
<servicioCancel>
<statusOk>true</statusOk>
<rfc>RFC</rfc>
<codigo>0</codigo>
<mensaje>Esta es una respuesta de prueba; los datos no son reales.</mensaje>
<procesados>1</procesados>
<cancelados>0</cancelados>
<cancelaciones>
<cancelacion>
<uuid>UUID</uuid>
<codigo>203</codigo>
<mensaje>Rfc no corresponde</mensaje>
</cancelacion>
</cancelaciones>
<acuseCancelBase64/>
</servicioCancel>
<servicioCancel>
<statusOk>true</statusOk>
<rfc>RFC</rfc>
<codigo>0</codigo>
<mensaje>Esta es una respuesta de prueba; los datos no son reales.</mensaje>
<procesados>1</procesados>
<cancelados>0</cancelados>
<cancelaciones>
<cancelacion>
<uuid>UUID</uuid>
<codigo>205</codigo>
<mensaje>Uuid no existe</mensaje>
</cancelacion>
</cancelaciones>
<acuseCancelBase64/>
</servicioCancel>
Códigos
Sección con los códigos de respuesta y error para los diferentes servicios (Timbrado y
Cancelación).
Códigos de respuesta de TIMBRADO
Código
Descripción
0
Timbrado exitoso.
1
El usuario del webservice no existe o proporcionó una contraseña incorrecta.
2
Contrato inválido. El contrato está expirado, o no cuenta con servicio de
timbrado.
3
Parámetro inválido. Uno de los parámetros de la operación del webservice es
incorrecto o hace falta.
4
Ocurrió un error interno durante la operación. Por favor inténtelo mas tarde.
5
Off-line por mantenimiento.
20
El usuario no cuenta con un certificado default.
301
XML mal formado.
302
Sello mal formado.
303
Sello no corresponde.
304
Certificado revocado o caduco.
305
Certificado Inválido.
307
El comprobante ya existe en la base de datos.
309
Certificado Inválido.
401
Fecha y hora de generación fuera de rango.
402
El contribuyente no se encuentra en la LCO o la validez de obligaciones se
reporta como negativa.
Códigos de respuesta de CANCELACIÓN
Código
Descripción
1
El usuario del webservice no existe o proporcionó una contraseña incorrecta.
2
Contrato inválido. El contrato está expirado, o no cuenta con servicio de
timbrado.
3
Parámetro inválido. Uno de los parámetros de la operación del webservice es
incorrecto o hace falta.
4
Ocurrió un error interno durante la operación. Por favor inténtelo mas tarde.
5
Off-line por mantenimiento.
7
El servicio de CancelaciónSAT no está disponible, intente más tarde.
20
El usuario no cuenta con un certificado default.
21
CFDI sin cancelar. Aplica a la consulta de acuse de cancelación.
201
Solicitud de cancelación recibida.
202
El comprobante ya ha sido previamente cancelado.
203
El RFC del emisor no corresponde.
204
Folio Fiscal No Aplicable a Cancelación.
205
Folio Fiscal No Existente.
206
UUID no corresponde a un CFDI del Sector Primario.
207
No se especificó el motivo de cancelación o el motivo no es válido.
208
Folio Sustitución invalido.
209
Folio Sustitución no requerido.
210
La fecha de solicitud de cancelación es mayor a la fecha de declaración.
211
La fecha de solicitud de cancelación limite para factura global.
212
Relación no válida o inexistente.
300
Usuario No Valido.
310
Motivo no válido.
311
Folio sustitución no válido.
312
Folio sustitución no requerido.
313
Solicitud fuera de la declaración anual.
314
Relación no válida.
Códigos para los estatus de cancelación.
Código
Descripción
201
Solicitud de cancelación recibida.
202
El comprobante ya ha sido previamente cancelado.
203
El RFC del emisor no corresponde.
204
Folio Fiscal No Aplicable a Cancelación
205
Folio Fiscal No Existente
206
UUID no corresponde a un CFDI del Sector Primario
207
No se especificó el motivo de cancelación o el motivo no es valido
208
Folio Sustitución invalido
209
Folio Sustitución no requerido
210
La fecha de solicitud de cancelación es mayor a la fecha de declaración
211
La fecha de solicitud de cancelación límite para factura global
212
Relación no valida o inexistente
300
Usuario No Válido
301
XML Mal Formado: Este código de error se regresa cuando el
request posee información invalida, ejemplo: un RFC de receptor no válido
302
Sello Mal Formado
304
Certificado Revocado o Caduco: El certificado puede ser
inválido por múltiples razones como son el tipo, la vigencia, etc.
305
Certificado Inválido: El certificado puede ser inválido por
múltiples razones como son el tipo, la vigencia, etc.
309
Certificado Inválido: El certificado puede ser inválido por
múltiples razones como son el tipo, la vigencia, etc.
310
CSD Inválido
Códigos para el nodo estatusCfdi en el método de consulta estatus de
comprobantes.
Código
Descripción
0
Desconocido: Se obtiene cuando la respuesta del SAT no pudo ser
interpretada de acuerdo a un estatus válido del CFDI
1
CFDi no existe: Se obtiene cuando la respuesta del SAT indica
que el comprobante no pudo ser encontrado.
2
Vigente: Se obtiene cuando la respuesta del SAT indica que el
comprobante se encuentra Vigente y no se puede especificar si se requiere
aceptación o no para cancelarlo.
3
Vigente con aceptación: Se obtiene cuando la respuesta del SAT
indica que el comprobante se encuentra Vigente y se requiere aceptación para
cancelarlo.
4
Vigente sin aceptación: Se obtiene cuando la respuesta del SAT
indica que el comprobante se encuentra Vigente y no se requiere aceptación para
cancelarlo.
5
Vigente no cancelable: Se obtiene cuando la respuesta del SAT
indica que el comprobante se encuentra Vigente y no es posible cancelarlo.
6
Cancelado: Se obtiene cuando la respuesta del SAT indica que
el comprobante se encuentra Cancelado y no se puede especificar el medio como
fue cancelado(con/sin aceptación o por plazo vencido).
7
Cancelación en proceso: Se obtiene cuando la respuesta del SAT
indica que el comprobante se encuentra Vigente y está en espera de la respuesta
del receptor para su cancelación.
8
Cancelado con aceptación: Se obtiene cuando la respuesta del
SAT indica que el comprobante se encuentra Cancelado y se requirió aceptación
del receptor para cancelarlo.
9
Cancelado sin aceptación: Se obtiene cuando la respuesta del
SAT indica que el comprobante se encuentra Cancelado y no se requirió aceptación
del receptor para cancelarlo.
10
Cancelado por plazo vencido: Se obtiene cuando la respuesta
del SAT indica que el comprobante se encuentra Cancelado y no hubo una respuesta
del receptor en las 72 horas hábiles posteriores a la solicitud de cancelación.
99
Indeterminado: Se obtiene cuando hay un error en la
interpretación de la respuesta del SAT o cuando no hay una respuesta(que el
servicio no se encuentre disponible).
Catálogo de motivos de Cancelación
01 - Comprobante emitido con errores con relación.
02 - Comprobante emitido con errores sin relación.
03 - No se llevó a cabo la operación.
04 - Operación nominativa relacionada en la factura global.
En caso de tener dudas y preguntas con relación al tema de cancelación, favor de consultar la
siguiente url
Códigos para el nodo "código" en el método de consulta estatus de
comprobantes.
Código
Descripción
0
Consulta exitosa.
1
El usuario del webservice no existe o proporcionó una contraseña incorrecta.
2
Contrato inválido. El contrato está expirado, o no cuenta con servicio de
timbrado.
3
Parámetro inválido. Uno de los parámetros de la operación del webservice es
incorrecto o hace falta.
4
Ocurrió un error interno durante la operación. Por favor inténtelo mas tarde.
5
Off-line por mantenimiento.
6
Ocurrió un error general durante la operación. No se pudo completar la consulta.
7
Error del SAT. El servicio presentó problemas al procesar la solicitud.
90
Comprobante no encontrado.
91
Comprobante encontrado exitosamente.
92
Expresión no válida. La expresión de búsqueda o los parámetros de consulta son
incorrectos.
93
Estado indeterminado. No se pudo determinar el estatus del comprobante en el
SAT.
Herramientas
Generar valor para atributo Confirmación
¿Qué es el atributo Confirmación?
Es un atributo nuevo condicional que se utiliza para expresar la clave de confirmación expedida
por el PAC en situaciones donde el CFDI supera ciertos límites establecidos en el Anexo 20
publicado por el SAT.
¿Cuándo lo necesito?
Actualmente existen dos situaciones en las que es necesario incluir este atributo en el CFDI:
Atributo TipoCambio.- cuando el valor está fuera del porcentaje aplicable a la moneda tomado
del catálogo c_Moneda. El emisor debe obtener del PAC que vaya a timbrar el CFDI, de manera
no automática, una clave de confirmación para ratificar que el valor es correcto e integrar
dicha clave en el atributo Confirmación.
Atributo Total.- cuando el valor es superior al límite que establezca el SAT en la
Resolución Miscelánea Fiscal vigente, el emisor debe obtener del PAC que vaya a timbrar el
CFDI, de manera no automática, una clave de confirmación para ratificar que el valor es
correcto e integrar dicha clave en el atributo Confirmación.
¿Cómo genero este valor con Prodigia?
Antes de realizar el timbrado del CFDI, se debe ingresar a la plataforma Pade Confirmación con el
certificado, llave privada y contraseña del emisor para verificar la identidad.
Una vez que se especifiquen los datos anteriores, se validará la información y en caso de ser
válida, se mostrará en pantalla la clave de confirmación asignada.
La dirección URL para la plataforma Pade Confirmación es la siguiente:
https://facturacion.pade.mx/PadeConfirmacion/
Portal Firmado de Manifiesto
Dentro de nuestro servicio se encuentra este portal para que el contribuyente final firme la
carta manifiesto. Es necesario utilizar la FIEL además de proporcionar algunos datos.
La URL del portal es:
https://facturacion.pade.mx/manifiesto
Puede hacernos llegar cualquier duda o aclaración de su funcionamiento al correo:
soporte@prodigia.com.mx
Historial de cambios
Revisión
Fecha
Comentarios
1
2017-06-10
Versión inicial de la documentación.
2
2017-11-06
Se ordena la información y se agregan los métodos de cancelación y consulta
en REST y SOAP.
3
2020-04-12
Se agregan los métodos de acuse de cancelación, cancelar cfdi, consulta de
Cfdi por UUID,
Cfd por uuid, consultar cfdi relacionados, consultar peticiones pendientes,
responder solicitud cancelación.
4
2020-06-23
Se agregó la opción generar código de barras bidimensional (GENERAR_CBB).
5
2020-08-05
Se actualiza información en los métodos de timbrado vía REST y se agrega url
para timbrado en base 64.
6
2020-12-16
Se agrega información de los métodos de timbradoConCSD(SOAP) y
timbrarConCSD(REST).
7
2021-03-29
Se agrega información del Portal Firmado Carta Manifiesto.
8
2021-06-29
Se agrega la opción de RESPUESTA_JSON.
9
2021-10-08
Se agrega la opción de ESTABLECER_CERTIFICADO.
10
2021-11-12
Se agrega la opción de VALIDAR_NAMESPACES.
11
2021-12-23
Se agrega cambio en cancelación y catálogo de Motivos de Cancelación.
12
2022-01-03
Se agrega conexión al servicio de timbrado CFDI 4.0.