Inicio » Soporte » Servicio de Timbrado » Timbrado vía Web Service » Métodos del Web Service

Métodos del Web Service

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

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)

CancelaCFDIConsultaSAT

Cancela un CFDI utilizando un archivo .pfx (cer + llave privada) y la contraseña y consulta el estado de cancelación en SAT.

TestCancelaCFDIConsultaSAT

Simula la cancelación de un CFDI utilizando un archivo .pfx (cer + llave privada) y la contraseña y consulta el estado de cancelación en SAT.


ObtenerTFD

Obtiene un TFD a partir de un CFDI.

Valores de Entrada

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=”http://tempuri.org/”>

<soapenv:Body>

<ObtenerTFD>

<nombreUsuario>Usuario de timbrado</nombreUsuario>

<contrasena>Contraseña de timbrado</contrasena>

<xmlComprobante>Cadena del XML generado conforme Anexo 20 </xmlComprobante>

</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>


ObtenerTFDPrueba

Obtiene un TFD de PRUEBA a partir de un CFDI.

Valores de Entrada

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=”http://tempuri.org/”>

<soapenv:Body>

<ObtenerTFDPrueba>

<usuario>Usuario de timbrado</usuario>

<contrasena>Contraseña de timbrado</contrasena>

<xmlComprobante>Cadena del Xml conforme al Anexo 20</xmlComprobante>

</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>


ObtenerCFDI

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

Valores de Entrada

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=”http://tempuri.org/”>

<soapenv:Body>

<ObtenerCFDI>

<nombreUsuario>Usuario de timbrado</nombreUsuario>

<contrasena>Contraseña de timbrado</contrasena>

<xmlComprobante>Cadena del Xml conforme al Anexo 20</xmlComprobante>

</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>


ObtenerCFDIPrueba

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

Valores de Entrada

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=”http://tempuri.org/”>

<soapenv:Body>

<ObtenerCFDIPrueba>

<usuario>Usuario de timbrado</usuario>

<contrasena>Contraseña de timbrado</contrasena>

<xmlComprobante>Cadena de Xml conforme Anexo 20</xmlComprobante>

</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>


CancelaCFDIConsultaSAT

Este método permite enviar la petición de cancelación de un CFDI, sin importar el PAC que lo haya certificado.

Valores de Entrada

Parámetros

Usuario: Usuario asignado por InvoiceOne.

Password: Contraseña asignada por InvoiceOne.

RFCEmisor: RFC del Emisor del CFDI a Cancelar.

RFCReceptor: RFC del Receptor del CFDI a Cancelar.

Total: El Total del CFDI a Cancelar.

UUID: Folio Fiscal UUID del CFDI a Cancelar.

MotivoCancelacion: Clave del motivo de cancelación.

FolioSustitucion: UUID que le sustituye (requerido cuando el motivo es 01).

pfxBase64: PFX en base 64 del Emisor del CFDI a Cancelar.

pfxPassword: Contraseña del PFX.

Valores de Retorno

UUID: UUID a Cancelar.

EstatusUUID: Estatus de la solicitud.

CodigoEstatus: Código de la solicitud de cancelación.

Es Cancelable: Define si el CFDI enviado es o No Cancelable.

Estado: Define si el CFDI está Vigente o Cancelado.

EstatusCancelacion: Define el estatus de Cancelación del CFDI.

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=”http://tempuri.org/”>

<soapenv:Body>

<CancelaCFDIConsultaSAT>

<Usuario>Usuario de timbrado</Usuario>

<Password>Contraseña de timbrado</Password>

<RFCEmisor>RFC del Emisor del CFDI</RFCEmisor>

<RFCReceptor>RFC del Receptor del CFDI</RFCReceptor>

<Total>Total del CFDI</Total>

<UUID>UUID del CFDI</UUID>

<MotivoCancelacion>Clave del Motivo de Cancelacion</MotivoCancelacion>

<FolioSustitucion>Folio de Sustitucion</FolioSustitucion>

<pfxBase64>Cadena en Base64 del PFX</pfxBase64>

<pfxPassword>Contraseña del PFX</pfxPassword>

</CancelaCFDIConsultaSAT>

</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>

<CancelaCFDIConsultaSATResponse xmlns=”http://tempuri.org/”>

<CancelaCFDIConsultaSATResult>

<CodEstatus>Codigo de Estatus</CodEstatus>

<Fecha>Fecha de la solicitud</Fecha>

<RFCEmisor>RFC del Emisor</RFCEmisor>

<Folios>

<RespuestaCancelaCFDIFolio>

<UUID>UUID del CFDI Cancelado</UUID>

<EstatusUUID>Estatus del UUID enviado a cancelar</EstatusUUID>

<CodigoEstatus>Codigo de Estatus en respuesta de la solicitud</CodigoEstatus>

<EsCancelable>Define si el CFDI es o No Cancelable</EsCancelable>

<Estado>Estado del CFDI como: Vigente o Cancelado</Estado>

<EstatusCancelacion>Estatus del CFDI en la solicitud</EstatusCancelacion>

</RespuestaCancelaCFDIFolio>

</Folios>

<XmlAcuse>Acuse de Cancelación</XmlAcuse>

</CancelaCFDIConsultaSATResult>

</CancelaCFDIConsultaSATResponse>

</soap:Body>

</soap:Envelope>


TestCancelaCFDIConsultaSAT

Este método simula la solicitud de cancelación de un CFDI.

Valores de Entrada

Parámetros

Usuario: Usuario asignado por InvoiceOne.

Password: Contraseña asignada por InvoiceOne.

RFCEmisor: RFC del Emisor del CFDI a Cancelar.

RFCReceptor: RFC del Receptor del CFDI a Cancelar.

Total: El Total del CFDI a Cancelar.

UUID: Folio Fiscal UUID del CFDI a Cancelar.

MotivoCancelacion: Clave del motivo de cancelación.

FolioSustitucion: UUID que le sustituye (requerido cuando el motivo es 01).

pfxBase64: PFX en base 64 del Emisor del CFDI a Cancelar.

pfxPassword: Contraseña del PFX.

Valores de Retorno

UUID: UUID a Cancelar.

EstatusUUID: Estatus de la solicitud.

CodigoEstatus: Código de la solicitud de cancelación.

Es Cancelable: Define si el CFDI enviado es o No Cancelable.

Estado: Define si el CFDI está Vigente o Cancelado.

EstatusCancelacion: Define el estatus de Cancelación del CFDI.

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=”http://tempuri.org/”>

<soapenv:Body>

<TestCancelaCFDIConsultaSAT>

<Usuario>Usuario de timbrado</Usuario>

<Password>Contraseña de timbrado</Password>

<RFCEmisor>RFC del Emisor del CFDI</RFCEmisor>

<RFCReceptor>RFC del Receptor del CFDI</RFCReceptor>

<Total>Total del CFDI</Total>

<UUID>UUID del CFDI</UUID>

<MotivoCancelacion>Clave del Motivo de Cancelacion</MotivoCancelacion>

<FolioSustitucion>Folio de Sustitucion</FolioSustitucion>

<pfxBase64>Cadena en Base64 del PFX</pfxBase64>

<pfxPassword>Contraseña del PFX</pfxPassword>

</TestCancelaCFDIConsultaSAT>

</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>

<TestCancelaCFDIConsultaSATResponse xmlns=”http://tempuri.org/”>

<TestCancelaCFDIConsultaSATResult>

<CodEstatus>Codigo de Estatus</CodEstatus>

<Fecha>Fecha de la solicitud</Fecha>

<RFCEmisor>RFC del Emisor</RFCEmisor>

<Folios>

<RespuestaCancelaCFDIFolio>

<UUID>UUID del CFDI Cancelado</UUID>

<EstatusUUID>Estatus del UUID enviado a cancelar</EstatusUUID>

<CodigoEstatus>Codigo de Estatus en respuesta de la solicitud</CodigoEstatus>

<EsCancelable>Define si el CFDI es o No Cancelable</EsCancelable>

<Estado>Estado del CFDI como: Vigente o Cancelado</Estado>

<EstatusCancelacion>Estatus del CFDI en la solicitud</EstatusCancelacion>

</RespuestaCancelaCFDIFolio>

</Folios>

<XmlAcuse>Acuse de Cancelación</XmlAcuse>

</TestCancelaCFDIConsultaSATResult>

</TestCancelaCFDIConsultaSATResponse>

</soap:Body>

</soap:Envelope>