Especificación Nuevo Sistema de Timbrado Este documento abarca la especificación e información necesaria para poder llevar acabo la integración y consumo del nuevo servicio de timbrado. Este nuevo sistema se encuentra en una plataforma mucha más robusta por lo que proporciona tiempos de respuesta más rápidos para nuestros clientes. El proceso de integración es muy sencillo ya que la implementación no varía demasiado en comparación con nuestro servicio de timbrado anterior. La especificación del servicio web (wsdl) se puede encontrar en la siguiente dirección: http://timbrado.expidetufactura.com.mx:8080/pruebas/TimbradoWS?wsdl La cual puede utilizar para crear el cliente que consumirá dicho servicio web. Dicho servicio recibe los siguientes parámetros: - usuario.- El usuario correspondiente a su cuenta de timbrado, para el caso del ambiente de pruebas se utilizará el usuario “pruebas”. contrasena.- La contraseña asignada a la cuenta de timbrado, para el caso del ambiente de pruebas se utilizará la contraseña “123456”. cfdi.- Deberá contener el cfdi a timbrar codificado en base64. Los valores que el servicio web proporciona como respuesta son los siguientes: - codigo.- El valor numérico del código de respuesta generado por la petición enviada. mensaje.- El mensaje asociado al código de respuesta obtenido por la petición enviada. timbre.- El contenido del archivo xml enviado, ya con el timbre fiscal asignado. uuid.- El Folio fiscal asignado al comprobante enviado a timbrar. Los códigos y mensajes de respuesta que se presentan son los siguientes: Código 200 301 302 303 304 305 306 307 308 401 402 Mensaje Proceso Satisfactorio XML mal formado Sello mal formado o inválido Sello no corresponde a emisor Certificado revocado o caduco La fecha de emisión no está dentro de la vigencia del CSD del emisor El certificado no es de tipo CSD El cfdi contiene un timbre previo Certificado no expedido por el SAT Fecha y hora de generación fuera de rango RFC del emisor no se encuentra en el régimen de contribuyentes 403 501 502 503 504 500 La fecha de emisión no es posterior al 01 de Enero 2012 Usuario y/o contraseña inválidos Usuario no autorizado No hay timbres disponibles Timbrado Previamente Intente de nuevo más tarde En especial el código 504 – Ya ha sido timbrado previamente se presenta cuando un cfdi ha sido enviado con anterioridad, por lo que el archivo no será procesado ni timbrado, pero de igual forma se regresará un timbre que es correspondiente al archivo timbrado por primera vez. Librerías de Integración Java Es necesario contar con las librerías de axis2 en el classpath para poder hacer uso del archivo jar. public static RespuestaTimbrado timbrar(String usuario, String contrasena, byte[] cfdi, String ambiente) throws XPDWebServiceException Método para servicio de timbrado desde un archivo XML que representa un CFDI 3.2 • usuario Nombre de usuario único especificado para acceso. • contrasena Contraseña especificada para acceso. • cfdi Arreglo de bytes con el contenido del archivo XML de la factura electrónica. • ambiente Tipo de ambiente de desarrollo, puede ser "pruebas" o "produccion". Regresa un objeto que contiene un código de respuesta con un mensaje asociado, en caso de ser satisfactorio. Así como el folio fiscal y el comprobante timbrado. Excepción XPDWebServiceException En dado caso de algún error de configuración del cliente o de conexión. public static RespuestaTimbrado timbrarString(String usuario, String contrasena, String cfdi, String ambiente) throws XPDWebServiceException Método para servicio de timbrado desde un archivo XML que representa un CFDI 3.2 • usuario Nombre de usuario único especificado para acceso. • contrasena Contraseña especificada para acceso. • cfdi Cadena con el contenido del archivo XML de la factura electrónica. • ambiente Tipo de ambiente de desarrollo, puede ser "pruebas" o "produccion". Regresa un objeto que contiene un código de respuesta con un mensaje asociado, en caso de ser satisfactorio. Así como el folio fiscal y el comprobante timbrado. Excepción XPDWebServiceException En dado caso de algún error de configuración del cliente o de conexión. public static RespuestaTimbrado timbrarArchivo(String usuario, String contrasena, String rutaCfdi, String ambiente) throws XPDWebServiceException Método para servicio de timbrado desde un archivo XML que representa un CFDI 3.2 • usuario Nombre de usuario único especificado para acceso. • contrasena Contraseña especificada para acceso. • • cfdi Ruta del archivo XML de la factura electrónica. ambiente Tipo de ambiente de desarrollo, puede ser "pruebas" o "produccion". Regresa un objeto que contiene un código de respuesta con un mensaje asociado, en caso de ser satisfactorio. Así como el folio fiscal y el comprobante timbrado. Excepción XPDWebServiceException En dado caso de algún error de configuración del cliente o de conexión. .NET Es necesario contar con el .NET Framework 3.5 Public Shared Function timbrar(ByVal usuario As String, ByVal contrasena As String, ByVal cfdi As Byte(), ByVal ambiente As String) As RespuestaTimbrado Método para servicio de timbrado desde un archivo XML que representa un CFDI 3.2 • usuario Nombre de usuario único especificado para acceso. • contrasena Contraseña especificada para acceso. • cfdi Arreglo de bytes con el contenido del archivo XML de la factura electrónica. • ambiente Tipo de ambiente de desarrollo, puede ser "pruebas" o "produccion". Regresa un objeto que contiene un código de respuesta con un mensaje asociado, en caso de ser satisfactorio. Así como el folio fiscal y el comprobante timbrado. Public Shared Function timbrarString(ByVal usuario As String, ByVal contrasena As String, ByVal cfdi As String, ByVal ambiente As String) As RespuestaTimbrado Método para servicio de timbrado desde un archivo XML que representa un CFDI 3.2 • usuario Nombre de usuario único especificado para acceso. • contrasena Contraseña especificada para acceso. • cfdi Cadena con el contenido del archivo XML de la factura electrónica. • ambiente Tipo de ambiente de desarrollo, puede ser "pruebas" o "produccion". Regresa un objeto que contiene un código de respuesta con un mensaje asociado, en caso de ser satisfactorio. Así como el folio fiscal y el comprobante timbrado. Public Shared Function timbrarArchivo(ByVal usuario As String, ByVal contrasena As String, ByVal rutaCfdi As String, ByVal ambiente As String) As RespuestaTimbrado Método para servicio de timbrado desde un archivo XML que representa un CFDI 3.2 • usuario Nombre de usuario único especificado para acceso. • contrasena Contraseña especificada para acceso. • • cfdi Ruta del archivo XML de la factura electrónica. ambiente Tipo de ambiente de desarrollo, puede ser "pruebas" o "produccion". Regresa un objeto que contiene un código de respuesta con un mensaje asociado, en caso de ser satisfactorio. Así como el folio fiscal y el comprobante timbrado. VB6, FoxPro 6, Delphi 7, VC++ (COM) Es necesario contar con .NET Framework 3.5 y registrar el dll utilizando el siguiente comando: "%WINDIR%\Microsoft.NET\Framework\v2.0.50727\regasm.exe" xpdWebServiceCOM.dll /tlb /nologo /codebase Public Function timbrar(ByVal usuario As String, ByVal contrasena As String, ByVal cfdi As Byte(), ByVal ambiente As String) As RespuestaTimbrado Método para servicio de timbrado desde un archivo XML que representa un CFDI 3.2 • usuario Nombre de usuario único especificado para acceso. • contrasena Contraseña especificada para acceso. • cfdi Arreglo de bytes con el contenido del archivo XML de la factura electrónica. • ambiente Tipo de ambiente de desarrollo, puede ser "pruebas" o "produccion". Regresa un objeto que contiene un código de respuesta con un mensaje asociado, en caso de ser satisfactorio. Así como el folio fiscal y el comprobante timbrado. Public Function timbrarString(ByVal usuario As String, ByVal contrasena As String, ByVal cfdi As String, ByVal ambiente As String) As RespuestaTimbrado Método para servicio de timbrado desde un archivo XML que representa un CFDI 3.2 • usuario Nombre de usuario único especificado para acceso. • contrasena Contraseña especificada para acceso. • cfdi Cadena con el contenido del archivo XML de la factura electrónica. • ambiente Tipo de ambiente de desarrollo, puede ser "pruebas" o "produccion". Regresa un objeto que contiene un código de respuesta con un mensaje asociado, en caso de ser satisfactorio. Así como el folio fiscal y el comprobante timbrado. Public Function timbrarArchivo(ByVal usuario As String, ByVal contrasena As String, ByVal rutaCfdi As String, ByVal ambiente As String) As RespuestaTimbrado Método para servicio de timbrado desde un archivo XML que representa un CFDI 3.2 • usuario Nombre de usuario único especificado para acceso. • contrasena Contraseña especificada para acceso. • cfdi Ruta del archivo XML de la factura electrónica. • ambiente Tipo de ambiente de desarrollo, puede ser "pruebas" o "produccion". Regresa un objeto que contiene un código de respuesta con un mensaje asociado, en caso de ser satisfactorio. Así como el folio fiscal y el comprobante timbrado. Ejecutable Es necesario contar con .NET Framework 3.5 xpdTimbrarExe timbrarXml usuario contrasena rutaCFDI rutaTimbre tipoAmbiente archivoSalida • usuario: nombre de usuario especificado para acceso. • contrasena: contraseña especificada para acceso. • rutaCFDI: ruta completa del archivo XML de la factura electrónica. • rutaTimbre: ruta completa donde se guardará el Timbre en formato XML. • tipoAmbiente: ambiente de desarrollo, pruebas o produccion. • archivoSalida: ruta completa del archivo donde se guardara la salida del programa sea respuesta o error.