Kit de implementación

El servicio de certificación tiene como funcionalidad principal la generación de un TFD (timbre fiscal digital) y la cancelación de uno o más CFDI (hasta 400). El objetivo de esta sección es explicar los principales métodos del Web Service, la manera en que pueden ser llamados desde una plataforma de desarrollo y conocer los valores de retorno.

Para comenzar a utilizar el servicio de certificación se deberá contar con un sistema informático capaz de generar el CFDI versión 3.2 o versión 3.3 y que al mismo tiempo pueda consumir un Web Service. El CFDI deberá cumplir con las reglas oficiales vigentes establecidas en el Anexo 20 para CFDI 3.2 y Anexo 20 del CFDI 3.3 respectivamente para su correcta certificación.

Los parámetros que se describirán serán los valores que se deben de enviar al momento de hacer la petición. En algunos lenguajes de programación se deben respetar los nombres de los parámetros al momento de definir la petición. (Respetando mayúsculas y minúsculas).

Ruta de Web Service

Los enlaces para el consumo de Web Service se muestran a continuación:

Es importante mencionar que algunas plataformas de desarrollo presentan conflicto con el uso de la letra “Ñ”, para lo cual se asignarán las siguientes rutas:

Métodos del Web Service

El Web Service de certificación contiene una lista de métodos públicos que pueden ser utilizados desde diversas plataformas tales como .NET, Java, PHP, entre otros.

Los métodos se listan a continuación:

ObtenerTFD
Obtiene el Timbre Fiscal Digital del CFDI recibido (en producción)
ObtenerTFDPrueba
Obtiene el Timbre Fiscal Digital del CFDI recibido (en pruebas)
ObtenerCFDI
Obtiene el CFDI incluyendo el TFD del CFDI recibido (en producción)
ObtenerCFDIPrueba
Obtiene el CFDI incluyendo el TFD del CFDI recibido (en pruebas)
CancelaCFDI
Cancela uno o varios CFDI’s utilizando un archivo .pfx (cer + llave privada) y la contraseña.
CancelaCFDIPruebas
Simula la cancelación de uno o varios CFDI’s utilizando un archivo .pfx (cer + llave privada) y la contraseña.

Consulta el listado completo de métodos aquí.

Obtener TFD

Obtiene un TFD a partir de un CFDI.

Parámetros

Parámetros
nombreUsuario: Usuario asignado por InvoiceOne
contrasena: Contraseña asignada por InvoiceOne
xmlComprobante: XML generado bajo el estándar del anexo 20.
Valores de Retorno
Xml: Cadena de texto con la nomenclatura de un TFD definida en el anexo 20.
Valores de Retorno con Error
MensajeError: Mensaje con código de error y descripción del error.
MensajeExepcionReal: Mensaje con descripción del error detallada.

Petición SOAP

<soapenv:Envelope
xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/”
xmlns:tem=”http://tempuri.org/”>
<soapenv:Body>
<tem:ObtenerTFD>
<tem:nombreUsuario>Usuario de timbrado</tem:nombreUsuario>
<tem:contrasena>Contraseña de timbrado</tem:contrasena>
<tem:xmlComprobante>Cadena del XML generado conforme Anexo 20 </tem:xmlComprobante>
</tem:ObtenerTFD>
</soapenv:Body>
</soapenv:Envelope>

Respuesta SOAP

<soap:Envelope
xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ObtenerTFDResponse xmlns=”http://tempuri.org/”>
<ObtenerTFDResult>
<Xml>Cadena del complemento Timbre Fiscal Digital correspondiente al XML</Xml>
<XmlAcuse/>
</ObtenerTFDResult>
</ObtenerTFDResponse>
</soap:Body>
</soap:Envelope>

Obtener TFD de Prueba

Obtiene un TFD de PRUEBA a partir de un CFDI

Parámetros

Parámetros
usuario: Usuario asignado por InvoiceOne
contrasena: Contraseña asignada por InvoiceOne
xmlComprobante: XML generado bajo el estándar del anexo 20.
Valores de Retorno
Xml: Cadena de texto con la nomenclatura de un TFD definida en el anexo 20.
Valores de Retorno con Error
MensajeError: Mensaje con código de error y descripción del error.
MensajeExepcionReal: Mensaje con descripción del error detallada.

Petición SOAP

<soapenv:Envelope
xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/”
xmlns:tem=”http://tempuri.org/”>
<soapenv:Body>
<tem:ObtenerTFDPrueba>
<tem:usuario>Usuario de timbrado</tem:usuario>
<tem:contrasena>Contraseña de timbrado</tem:contrasena>
<tem:xmlComprobante>Cadena del Xml conforme al Anexo 20</tem:xmlComprobante>
</tem:ObtenerTFDPrueba>
</soapenv:Body>
</soapenv:Envelope>

Respuesta SOAP

<soap:Envelope
xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ObtenerTFDPruebaResponse xmlns=”http://tempuri.org/”>
<ObtenerTFDPruebaResult>
<Xml>Cadena de complemento Timbre Fiscal Digital (Pruebas) correspondiente al XML</Xml>
<XmlAcuse/>
</ObtenerTFDPruebaResult>
</ObtenerTFDPruebaResponse>
</soap:Body>
</soap:Envelope>

Obtener un CFDI

Obtiene un CFDI completo con TFD a partir de un CFDI sin TFD

Parámetros

Parámetros
nombreUsuario: Usuario asignado por InvoiceOne
contrasena: Contraseña asignada por InvoiceOne
xmlComprobante: XML generado bajo el estándar del anexo 20.
Valores de Retorno
Xml: Cadena de texto con la nomenclatura de un TFD definida en el anexo 20.
Valores de Retorno con Error
MensajeError: Mensaje con código de error y descripción del error.
MensajeExepcionReal: Mensaje con descripción del error detallada.

Petición SOAP

<soapenv:Envelope
xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/”
xmlns:tem=”http://tempuri.org/”>
<soapenv:Body>
<tem:ObtenerCFDI>
<tem:nombreUsuario>Usuario de timbrado</tem:nombreUsuario>
<tem:contrasena>Contraseña de timbrado</tem:contrasena>
<tem:xmlComprobante>Cadena del Xml conforme al Anexo 20</tem:xmlComprobante>
</tem:ObtenerCFDI>
</soapenv:Body>
</soapenv:Envelope>

Respuesta SOAP

<soap:Envelope
xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ObtenerCFDIResponse xmlns=”http://tempuri.org/”>
<ObtenerCFDIResult>
<Xml>Cadena del CFDI incluyendo TFD correspondiente al XML</Xml>
<XmlAcuse/>
</ObtenerCFDIResult>
</ObtenerCFDIResponse>
</soap:Body>
</soap:Envelope>

Obtener CFDI de Prueba

Obtiene un CFDI completo con TFD de PRUEBA a partir de un CFDI sin TFD

Parámetros

Parámetros
usuario: Usuario asignado por InvoiceOne
contrasena: Contraseña asignada por InvoiceOne
xmlComprobante: XML generado bajo el estándar del anexo 20.
Valores de Retorno
Xml: Cadena de texto con la nomenclatura de un TFD definida en el anexo 20.
Valores de Retorno con Error
MensajeError: Mensaje con código de error y descripción del error.
MensajeExepcionReal: Mensaje con descripción del error detallada.

Petición SOAP

<soapenv:Envelope
xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/”
xmlns:tem=”http://tempuri.org/”>
<soapenv:Body>
<tem:ObtenerCFDIPrueba>
<tem:usuario>Usuario de timbrado</tem:usuario>
<tem:contrasena>Contraseña de timbrado</tem:contrasena>
<tem:xmlComprobante>Cadena de Xml conforme Anexo 20</tem:xmlComprobante>
</tem:ObtenerCFDIPrueba>
</soapenv:Body>
</soapenv:Envelope>

Respuesta SOAP

<soap:Envelope
xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ObtenerCFDIPruebaResponse xmlns=”http://tempuri.org/”>
<ObtenerCFDIPruebaResult>
<Xml>Cadena del CFDI incluyendo TFD (Pruebas) correspondiente al XML</Xml>
<XmlAcuse/>
</ObtenerCFDIPruebaResult>
</ObtenerCFDIPruebaResponse>
</soap:Body>
</soap:Envelope>

Cancelar CFDI

Este método permite cancelar uno o más CFDI (hasta 500 CFDI) sin importar el PAC que lo haya certificado.

Parámetros

Parámetros
nombreUsuario: Usuario asignado por InvoiceOne.
contrasena: Contraseña asignada por InvoiceOne.
rfcEmisor: RFC del Emisor del CFDI a Cancelar.
listaUuid: Listado de UUID a Cancelar.
pfxBase64: PFX en base 64 del Emisor del CFDI a Cancelar.
contrasenaPfx: Contraseña del PFX.
Valores de Retorno
UUID: UUID a Cancelar.
Cancelado: Estatus de la Cancelación.
Valores de Retorno con Error
MensajeError: Mensaje con código de error y descripción del error.
MensajeExepcionReal: Mensaje con descripción del errordetallada.

Petición SOAP

<soapenv:Envelope
xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/”
xmlns:tem=”http://tempuri.org/”>
<soapenv:Body>
<tem:cancelaCFDI>
<tem:nombreUsuario>Usuario de timbrado</tem:nombreUsuario>
<tem:contrasena>Contraseña de timbrado</tem:contrasena>
<tem:rfcEmisor>RFC del Emisor del CFDI</tem:rfcEmisor>
<tem:listaUuid>
<tem:guid>UUID del CFDI</tem:guid>
<tem:guid>Uno o varios UUID</tem:guid>
</tem:listaUuid>
<tem:pfxBase64>Cadena en Base64 del PFX</tem:pfxBase64>
<tem:contrasenaPfx>Contraseña del PFX</tem:contrasenaPfx>
</tem:cancelaCFDI>
</soapenv:Body>
</soapenv:Envelope>

Respuesta SOAP.

<soap:Envelope
xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<cancelaCFDIResponse xmlns=”http://tempuri.org/”>
<cancelaCFDIResult>
<XmlAcuse>Acuse de Cancelación</XmlAcuse>
<ComprobantesCancelado>
<ComprobanteCancelado>
<UUID>UUID del CFDI Cancelado</UUID>
<Cancelado>Estatus de Cancelación</Cancelado>
</ComprobanteCancelado>
</ComprobantesCancelado>
</cancelaCFDIResult>
</cancelaCFDIResponse>
</soap:Body>
</soap:Envelope>

CancelaCFDIPruebas

Este método simula la cancelación de uno o más CFDI (hasta 500)

Parámetros

Parámetros
nombreUsuario: Usuario asignado por InvoiceOne
contrasena: Contraseña asignada por InvoiceOne
rfcEmisor: RFC del Emisor del CFDI a Cancelar.
listaUuid: Listado de UUID a Cancelar (máximo 400)
pfxBase64: PFX en base 64 del Emisor del CFDI a Cancelar.
contrasenaPfx: Contraseña del PFX.
Valores de Retorno
UUID: UUID a Cancelar.
Cancelado: Estatus de la Cancelación.
Valores de Retorno con Error
MensajeError: Mensaje con código de error y descripción del error.
MensajeExepcionReal: Mensaje con descripción del errordetallada.

Petición SOAP

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:tem=”http://tempuri.org/”>
<soapenv:Body>
<tem:cancelaCFDIPruebas>
<tem:nombreUsuario>Usuario de timbrado</tem:nombreUsuario>
<tem:contrasena>Contraseña de timbrado</tem:contrasena>
<tem:rfcEmisor>RFC del emisor del CFDI</tem:rfcEmisor>
<tem:listaUuid>
<tem:guid>UUID del CFDI</tem:guid>
<tem:guid>Uno o varios UUID</tem:guid>
</tem:listaUuid>
<tem:pfxBase64>Cadena en Base64 del PFX</tem:pfxBase64>
<tem:contrasenaPfx>-Contraseña del PFX</tem:contrasenaPfx>
</tem:cancelaCFDIPruebas>
</soapenv:Body>
</soapenv:Envelope>

Respuesta SOAP

<soap:Envelope
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”
xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”>
<soap:Body>
<cancelaCFDIPruebasResponse xmlns=”http://tempuri.org/”>
<cancelaCFDIPruebasResult>
<XmlAcuse>Simulación de Acuse de cancelación</XmlAcuse>
<ComprobantesCancelado>
<ComprobanteCancelado>
<UUID>UUID del CFDI</UUID>
<Cancelado>Estatus de Cancelación</Cancelado>
</ComprobanteCancelado>
<ComprobanteCancelado>
<UUID>UUID del CFDI cancelado (Pruebas)</UUID>
<Cancelado>Estatus de Cancelación</Cancelado>
</ComprobanteCancelado>
</ComprobantesCancelado>
</cancelaCFDIPruebasResult>
</cancelaCFDIPruebasResponse>
</soap:Body>
</soap:Envelope>