Esta página es de solo lectura. Puedes ver la fuente pero no puedes cambiarla. Pregunta a tu administrador si crees que esto es incorrecto.
Como proveedor autorizado de certificación con el número 68934, iTimbre realiza la validación y certificación (timbrado) de Comprobantes Fiscales Digitales generados por Internet (CFDI) conforme a las especificaciones requeridas por el SAT a través de su Web Service (Software como Servicio) de una manera rápida y segura.
Además de la certificación de sus comprobantes, iTimbre le ofrece el servicio de cancelación y búsqueda de sus comprobantes fiscales.
La característica principal de la arquitectura del Web Service de iTimbre es que utiliza JSON+REST en lugar del tradicional XML+SOAP. Por lo tanto es importante tener conocimientos del formato JSON para poder crear los mensajes que serán enviados al Web Service. Afortunadamente JSON es mucho más fácil de entender e implementar.
Antes de comenzar a realizar pruebas con el Web Service de iTimbre es necesario registrarse a través de las siguientes ligas:
Pruebas: https://pruebas.itimbre.com/registro/index.php?servicio=timbrado
Producción: https://portal.itimbre.com/registro/index.php?servicio=timbrado
Es necesario que en el campo de “Servicio deseado” se mantenga seleccionada la opción de “Solo timbrado”, para que se habiliten en el Web Service las conexiones externas. También es importante distinguir entre la versión de pruebas y la de producción, ya que son sistemas totalmente independientes aunque sean idénticos. La única diferencia es la validez de los comprobantes certificados. La versión de pruebas utiliza un CSD de pruebas para validar los comprobantes, pero al igual que la versión de producción, también verifica el RFC y el certificado del CFDI en la lista de contribuyentes del SAT. Por esta razón no es posible utilizar certificados de pruebas para enviar comprobantes a la versión de pruebas del Web Service, ya que generarán el código de error correspondiente.
Al realizar el registro recibirá un correo electrónico de confirmación con la liga hacia el Portal de iTimbre y una contraseña temporal. En caso de no recibir el correo electrónico busque en su carpeta de “Spam” o “Correo no deseado”.
Cuando ingrese al sistema por primera vez, éste le pedirá que cambie su contraseña temporal por una personalizada que cumpla con los requisitos de seguridad establecidos. La contraseña debe contener al menos 8 caracteres e incluir al menos una mayúscula, una minúscula, un número y un carácter especial (@#$).
Posteriormente, el sistema lo llevará a la página de inicio, donde podrá ver sus datos personales, editarlos, cambiar su contraseña, y descargar las políticas de uso, el acuerdo de confidencialidad y el presente manual de integración.
En el sub-módulo de “Emisores” aparece la lista de los emisores registrados. El sistema actualmente no cuenta con un límite de emisores, así que puede registrar todos los que desee siempre y cuando no hayan sido registrados en la aplicación gratuita. Para dar de alta un nuevo emisor dar clic en “Agregar Emisor”.
Agregue los datos de la empresa y al terminar haga clic en “Aceptar”. Si los datos fueron llenados correctamente se registrará el emisor en el sistema y se generará una contraseña aleatoria, la cual necesitará al momento de hacer el llamado al Web Service de iTimbre. La contraseña aparecerá en el campo correspondiente.
En caso de necesitar ayuda vaya al módulo de “Soporte” y llene el formulario. En breve nos comunicaremos con usted.
Para realizar la conexión con el Web Service de iTimbre es necesario proveer los siguientes datos en el llamado:
Al realizar el llamado, las variables se deben serializar en formato JSON y almacenarse en una variable llamada “q”, la cual se debe enviar por HTTP. Las ligas del Web Service se enlistan a continuación.
Direcciones del servicio:
Pruebas: https://portalws.itimbre.com/itimbreprueba.php
Producción: https://portalws.itimbre.com/itimbre.php
Nota: es muy importante utilizar la liga correcta. Si el registro se realizó en la versión de pruebas se debe utilizar únicamente la liga de pruebas y lo mismo aplica para la versión de producción.
Las siguientes validaciones se realizan al XML:
En caso que el XML cumpla con las validaciones mencionadas, el Web Service lo devolverá al contribuyente con la información contenida y el Timbre Fiscal Digital, este incluye:
Para realizar la validación y certificación de un CFDI se deben utilizar los métodos “cfd2cfdi”. Los parámetros a ser enviados por el Web Service para realizar la función de validación de los comprobantes fiscales están estructurados de la siguiente manera:
Ejemplo de codificación del llamado en formato JSON para certificación de CFDI v3.2:
{ "id":"101", "method":"cfd2cfdi", "params": { "user":"miemail@midominio.com", "pass":"cabb17fb8536180e11af6dff0da42132", "RFC":"EEM010101XYZ", "xmldata":"< cfdi>< /cfdi>" } }
En caso de validación del XML o que surja algún error en el proceso, el Web Service de iTimbre le enviará una respuesta.
Ejemplo de respuesta válida arrojada por el Web Service:
{ "id":"101", "result": { "retcode":1, "UUID":"63C2042F-FAF0-48A0-A9AF-0304813D2528", "data":"< cfdi>< /cfdi>", "acuse":"< xml>< /xml>" } }
Ejemplos de errores:
{ "id":0, "result": { "retcode":-1, "error":"Variable q faltante." } }
{ "id":0, "result": { "retcode":-1, "error":"Los datos recibidos no cumplen con el formato JSON correcto." } }
Al realizar el llamado, las variables se deben serializar en formato JSON y almacenarse en una variable llamada “q”, la cual se debe enviar por HTTP.
Las ligas del Web Service se enlistan a continuación.
Pruebas:http://portalws1.itimbre.com/itimbreprueba.php?q=
Para realizar la validación y certificación de un CFDI se deben utilizar los métodos “enviarRetencion”. Los parámetros a ser enviados por el Web Service para realizar la función de validación de los comprobantes fiscales están estructurados de la siguiente manera:
Ejemplo de codificación del llamado en formato JSON para certificación de retenciones:
{ "id":"101", "method":"enviarRetencion", "params": { "user":"miemail@midominio.com", "pass":"cabb17fb8536180e11af6dff0da42132", "RFC":"EEM010101XYZ", "xmldata":"< cfdi>< /cfdi>" } }
Para cancelar algún CFDI no se necesita que éste haya sido certificado por iTimbre. No obstante, se requiere que el mensaje enviado al SAT incluya cierta información firmada por el emisor del CFDI, por lo que es necesario que se proporcione el sello digital (CSD) con el que fue firmado el CFDI en un archivo PFX. Para más detalle consulte el documento “Manual de Generación del PFX”.
La petición de cancelación seguirá siendo la misma. Se requiere contar con un esquema de aceptación o rechazo de cancelación del CFDI por parte del receptor el cuál aceptará o rechazará las solicitudes de cancelación de los CFDI. iTimbre como proveedor autorizado por el SAT ha preparado el entorno para consumir este nuevo servicio en él cual se han agregado nuevos métodos de consulta al web service de timbrado para verificar el estatus del comprobante y la aceptación o rechazo del cfdi por parte del receptor.
Los parámetros a ser enviados para realizar la cancelación y verificación de respuesta de aceptación o rechazo del XML <font 14px/arial;;#000000;;#ffffff>Nombre del método para cancelar un cfdi es:</font> cancelarCFDI. los parametros son los siguientes:
Parametros:
Ejemplo de codificación de llamado en formato JSON (Un solo folio):
{ "id":1001, "method":"cancelarCFDI", "params": { "user":"miemail@midominio.com", "pass":"cabb17fb8536180e11af6dff0da42132", "RFC":"EEM010101XYZ", "pfx_pass":"Clave de mi archivo PFX", "pfx_pem":"< < Archivo PFX de mi CSD>>", "folios": [ "25916C58-672A-43CD-96EE-F14E0FDD4378", ] } }
Ejemplos para la cancelación para más de un folio.
{ "id":1001, "method":"cancelarCFDI", "params": { "user":"miemail@midominio.com", "pass":"cabb17fb8536180e11af6dff0da42132", "RFC":"EEM010101XYZ", "pfx_pass":"Clave de mi archivo PFX", "pfx_pem":"Archivo PFX de mi CSD", "folios": [ "25916C58-672A-43CD-96EE-F14E0FDD4378", "9F5E685B-1444-4B54-9421-FBC9203686B2", "C0FAA75F-974C-41C9-80A7-5C744517F81F" ] } }
<font 20px/arial;;#000000;;#ffffff>Respuesta:</font>
Parametros para la respuesta:
Ejemplo de respuesta válida arrojada por el Web Service (un folio):
{ { "id":1001, "result": { "acuse":"< s:Envelope>Acuse del SAT< \/s:Envelope>", "id":1001, "fecha":"2013-04-15T20:48:39.7200698", "retcode":1, "signature":"AuPN3mjhCjI2NYiif2Mdtdib9nxhTOw5jf7TPIloqqv2RHnsJ5XnHAdkf5A9ccfXJ4fpJNY0k3kNHkwFRQmhXw==", "folios": [ { "UUID":"48D57A35-48BB-4C4B-AB44-678FCBF74D93", "status":"201" } ] } } }
Ejemplo de respuesta válida arrojada por el Web Service (varios folios):
{ "id":1001, "result": { "acuse":"< s:Envelope>Acuse del SAT< \/s:Envelope>", "id":1001,"fecha":"2013-04-15T20:54:30.5215219", "retcode":1, "signature":"6JdRGnok96RTYFHtWyO38VPlz6Q3vNAB45Sd83wQgXVbI7jPcDlA+LGDLbKaGFUyomdkxhF84OztzenYGFKOxw==", "folios": [ { "UUID":"25BB40C3-6884-4975-AEFD-6BE6A58DE83B", "status":"201" }, { "UUID":"A566F905-7312-491D-B428-E93391BA81D8", "status":"201" }, { "UUID":"AA2463D4-A080-4FEB-882F-CC634FDA9D06", "status":"201" } ] } }
{ "id":"1001", "result": { "retcode":"305", "error":"La fecha de emision no esta dentro de la vigencia del CSD del Emisor." } }
{ "id":"1001", "result": { "retcode":"303", "error":"Sello no corresponde a emisor." } }
Estos son los parámetros a ser enviados para realizar la Validación del CFDI. <font 14px/arial;;#000000;;#ffffff>Nombre del método para cancelar un cfdi es:</font> validaCFDI. los parametros son los siguientes:
Direccion para Usar el Metodo ValidaCFDI:
URL:https://portalws.itimbre.com/itimbre.php?q=
Ejemplo validacion del estatus del cfdi a cancelar en el SAT JSON: <font 14px/arial;;#000000;;#ffffff>(Clientes que utilizan el servicio de facturacion33.itimbre.com)</font>
{ "id": "10001", "method": "validaCFDI", "params": { "RFC": "PZA000413788", "user": "demo", "pass": "demo", "client": "cfdfactura", "status_sat": "true", "xmldata": "< ?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?> < cfdi:Comprobante xmlns:cfdi=\"http://www.sat.gob.mx/cfd/3\" Certificado=\"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\" Fecha=\"2020-05-27T13:54:41\" Folio=\"266861\" FormaPago=\"01\" LugarExpedicion=\"22210\" MetodoPago=\"PUE\" Moneda=\"USD\" NoCertificado=\"20001000000300022760\" Sello=\"aRgnDUJdY97V9NMJTOtyU15PGL9k2wDbnXQ9LS+Qoqw5FJrSwB5Y9uk0NDPwoihR5Fcdb26cKO6B6TstMQfhoaQJ3p26Oz2AdCjWLXf5gnYVS9sx/Ek1/9+ajvGEPjWRZHmOSSU6STSu10anerado3bYRGvP3N1dh3p2igaSI9W0c91Du7DqN6SEa/xJbkh6rzFjxwWg+siaI7op1DPq4YPzMOKp5UtcVzsCTAWkZgzUvx0ABp0gnrg7OT8c7kyHdzYtvuT45tkqe8wpHTeVaXyIAkXqhgtkvtXL8T2uXh6OhjyAZ6f4S6pdKTvX6U3kMRUsYo3tBsjLdpuquKVVSw==\" Serie=\"AA\" SubTotal=\"1.00\" TipoCambio=\"24.5544\" TipoDeComprobante=\"I\" Total=\"1.16\" Version=\"3.3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd\"> < cfdi:Emisor Nombre=\"DEMO SA DE CV\" RegimenFiscal=\"601\" Rfc=\"PZA000413788\"/> < cfdi:Receptor Nombre=\"Publico En Gral\" Rfc=\"XAXX010101000\" UsoCFDI=\"G03\"/> < cfdi:Conceptos> < cfdi:Concepto Cantidad=\"1\" ClaveProdServ=\"01010101\" ClaveUnidad=\"ACT\" Descripcion=\"Venta12345\" Importe=\"1.000000\" NoIdentificacion=\"01010101\" ValorUnitario=\"1\"> < cfdi:Impuestos> < cfdi:Traslados> < cfdi:Traslado Base=\"1\" Importe=\"00.16\" Impuesto=\"002\" TasaOCuota=\"0.160000\" TipoFactor=\"Tasa\"/> < /cfdi:Traslados> < /cfdi:Impuestos> < /cfdi:Concepto> < /cfdi:Conceptos> < cfdi:Impuestos TotalImpuestosTrasladados=\"00.16\"> < cfdi:Traslados> < cfdi:Traslado Importe=\"00.16\" Impuesto=\"002\" TasaOCuota=\"0.160000\" TipoFactor=\"Tasa\"/> < /cfdi:Traslados> < /cfdi:Impuestos> < cfdi:Complemento> < tfd:TimbreFiscalDigital FechaTimbrado=\"2020-05-27T15:54:43\" Leyenda=\"iTimbreSandbox\" NoCertificadoSAT=\"20001000000300022323\" RfcProvCertif=\"SDA1109203R3\" SelloCFD=\"aRgnDUJdY97V9NMJTOtyU15PGL9k2wDbnXQ9LS+Qoqw5FJrSwB5Y9uk0NDPwoihR5Fcdb26cKO6B6TstMQfhoaQJ3p26Oz2AdCjWLXf5gnYVS9sx/Ek1/9+ajvGEPjWRZHmOSSU6STSu10anerado3bYRGvP3N1dh3p2igaSI9W0c91Du7DqN6SEa/xJbkh6rzFjxwWg+siaI7op1DPq4YPzMOKp5UtcVzsCTAWkZgzUvx0ABp0gnrg7OT8c7kyHdzYtvuT45tkqe8wpHTeVaXyIAkXqhgtkvtXL8T2uXh6OhjyAZ6f4S6pdKTvX6U3kMRUsYo3tBsjLdpuquKVVSw==\" SelloSAT=\"NGTLABDjeWfJ+ruCNshwy/xbIv6kxBuf9xtb3mBOXHKnigsdTA5zLyHQkB6gxXPsrKlaoDlH/gNnd48lVdiiZMn6+CDcey89erEbwocIr2lDPrUSbnzVxP1ywnAqpMh0AYD4ONXgwJhuwlLwyoI6nSCAe1QZbhqZV2AOghAishnFDPa+2mIP8Iqzgo/DNIqIu1p3NQDJZFSajnoTODlHlX5UNJJPuJHnswyDQDSQBrP2v0QzQmmVW8JGJi9aDUK5xtsuqUP8APqrhx4mlRKLorUJqK4PJTLxC/ftQldNdRpoG34pi8faILZKZRbeYVxk3io26K521nyCm+R7/AR4wg==\" UUID=\"EF8168FF-A405-4257-ACFF-A2745F1352D8\" Version=\"1.1\" xmlns:tfd=\"http://www.sat.gob.mx/TimbreFiscalDigital\" xsi:schemaLocation=\"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/timbrefiscaldigital/TimbreFiscalDigitalv11.xsd\"/> < /cfdi:Complemento> < /cfdi:Comprobante>" } }
Ejemplo validacion del estatus del cfdi a cancelar en el SAT JSON: <font 14px/arial;;#000000;;#ffffff>(clientes que utilizan el servicio de portalws.timbre.com)</font>
{ "id": "10001", "method": "validaCFDI", "params": { "RFC": "PZA000413788", "user": "demo", "pass": "demo", "status_sat": "true", "xmldata": "< ?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?> < cfdi:Comprobante xmlns:cfdi=\"http://www.sat.gob.mx/cfd/3\" Certificado=\"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\" Fecha=\"2020-05-27T13:54:41\" Folio=\"266861\" FormaPago=\"01\" LugarExpedicion=\"22210\" MetodoPago=\"PUE\" Moneda=\"USD\" NoCertificado=\"20001000000300022760\" Sello=\"aRgnDUJdY97V9NMJTOtyU15PGL9k2wDbnXQ9LS+Qoqw5FJrSwB5Y9uk0NDPwoihR5Fcdb26cKO6B6TstMQfhoaQJ3p26Oz2AdCjWLXf5gnYVS9sx/Ek1/9+ajvGEPjWRZHmOSSU6STSu10anerado3bYRGvP3N1dh3p2igaSI9W0c91Du7DqN6SEa/xJbkh6rzFjxwWg+siaI7op1DPq4YPzMOKp5UtcVzsCTAWkZgzUvx0ABp0gnrg7OT8c7kyHdzYtvuT45tkqe8wpHTeVaXyIAkXqhgtkvtXL8T2uXh6OhjyAZ6f4S6pdKTvX6U3kMRUsYo3tBsjLdpuquKVVSw==\" Serie=\"AA\" SubTotal=\"1.00\" TipoCambio=\"24.5544\" TipoDeComprobante=\"I\" Total=\"1.16\" Version=\"3.3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd\"> < cfdi:Emisor Nombre=\"DEMO SA DE CV\" RegimenFiscal=\"601\" Rfc=\"PZA000413788\"/> < cfdi:Receptor Nombre=\"Publico En Gral\" Rfc=\"XAXX010101000\" UsoCFDI=\"G03\"/> < cfdi:Conceptos> < cfdi:Concepto Cantidad=\"1\" ClaveProdServ=\"01010101\" ClaveUnidad=\"ACT\" Descripcion=\"Venta12345\" Importe=\"1.000000\" NoIdentificacion=\"01010101\" ValorUnitario=\"1\"> < cfdi:Impuestos> < cfdi:Traslados> < cfdi:Traslado Base=\"1\" Importe=\"00.16\" Impuesto=\"002\" TasaOCuota=\"0.160000\" TipoFactor=\"Tasa\"/> < /cfdi:Traslados> < /cfdi:Impuestos> < /cfdi:Concepto> < /cfdi:Conceptos> < cfdi:Impuestos TotalImpuestosTrasladados=\"00.16\"> < cfdi:Traslados> < cfdi:Traslado Importe=\"00.16\" Impuesto=\"002\" TasaOCuota=\"0.160000\" TipoFactor=\"Tasa\"/> < /cfdi:Traslados> < /cfdi:Impuestos> < cfdi:Complemento> < tfd:TimbreFiscalDigital FechaTimbrado=\"2020-05-27T15:54:43\" Leyenda=\"iTimbreSandbox\" NoCertificadoSAT=\"20001000000300022323\" RfcProvCertif=\"SDA1109203R3\" SelloCFD=\"aRgnDUJdY97V9NMJTOtyU15PGL9k2wDbnXQ9LS+Qoqw5FJrSwB5Y9uk0NDPwoihR5Fcdb26cKO6B6TstMQfhoaQJ3p26Oz2AdCjWLXf5gnYVS9sx/Ek1/9+ajvGEPjWRZHmOSSU6STSu10anerado3bYRGvP3N1dh3p2igaSI9W0c91Du7DqN6SEa/xJbkh6rzFjxwWg+siaI7op1DPq4YPzMOKp5UtcVzsCTAWkZgzUvx0ABp0gnrg7OT8c7kyHdzYtvuT45tkqe8wpHTeVaXyIAkXqhgtkvtXL8T2uXh6OhjyAZ6f4S6pdKTvX6U3kMRUsYo3tBsjLdpuquKVVSw==\" SelloSAT=\"NGTLABDjeWfJ+ruCNshwy/xbIv6kxBuf9xtb3mBOXHKnigsdTA5zLyHQkB6gxXPsrKlaoDlH/gNnd48lVdiiZMn6+CDcey89erEbwocIr2lDPrUSbnzVxP1ywnAqpMh0AYD4ONXgwJhuwlLwyoI6nSCAe1QZbhqZV2AOghAishnFDPa+2mIP8Iqzgo/DNIqIu1p3NQDJZFSajnoTODlHlX5UNJJPuJHnswyDQDSQBrP2v0QzQmmVW8JGJi9aDUK5xtsuqUP8APqrhx4mlRKLorUJqK4PJTLxC/ftQldNdRpoG34pi8faILZKZRbeYVxk3io26K521nyCm+R7/AR4wg==\" UUID=\"EF8168FF-A405-4257-ACFF-A2745F1352D8\" Version=\"1.1\" xmlns:tfd=\"http://www.sat.gob.mx/TimbreFiscalDigital\" xsi:schemaLocation=\"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/timbrefiscaldigital/TimbreFiscalDigitalv11.xsd\"/> < /cfdi:Complemento> < /cfdi:Comprobante>" } }
( [ConsultaResult] stdClass Object ( [CodigoEstatus] S - Comprobante obtenido satisfactoriamente. [EsCancelable] Cancelable sin aceptación [Estado] Vigente [EstatusCancelacion] )
)
( [ConsultaResult] ( [CodigoEstatus] S - Comprobante obtenido satisfactoriamente. [EsCancelable] Cancelable con aceptación [Estado] Vigente [EstatusCancelacion] En proceso )
Ejemplo de respuesta negativa:
(
[ConsultaResult] stdClass Object
( [CodigoEstatus] N - 602: Comprobante no encontrado.
[Estado] No Encontrado )
Mensajes de Rechazo y Aceptación.
A continuación los parámetros a ser enviados para hacer una revisión de CFDI pendientes. <font 14px/arial;;#000000;;#ffffff>Nombre del método para revisar los pendientes de un CFDI es:</font> pendientes CFDI. los parametros son los siguientes:
Ejemplo pendientesCFDI
{ "id":1001, "method":"pendientesCFDI", "params": { "client":"cfdfactura", "user":"demo010303ol1", "pass":"demo010303ol1", "RFC":"AAQM610917QJA", "rfcReceptor":"AAQM610917QJA", "id_transaccion": 0 } }
Parámetros de la respuesta:
Ejemplo de respuesta pendientesCFDI.
{ "id": 0, "result": { "stampdate": "2018-07-23T21:20:56-05:00", "ip_addr": "::1", "data": "< s:Envelope xmlns:s=\"http://schemas.xmlsoap.org\/soap\/envelope/">< s:Body xmlns:xsi=\"http://www.w3.org\/2001\/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org\/2001\/XMLSchema\">< ObtenerPeticionesPendientesResponse xmlns=\"http://cancelacfd.sat.gob.mx\">< ObtenerPeticionesPendientesResult CodEstatus=\"1100\">< UUID>1199A672-56FD-4A1B-B63D-C1B0033E53ED< \/UUID>< UUID>1199A672-56FD-4A1B-B63D-C1B0033E53ED< \/UUID>< UUID>75DBF22F-4934-4FB3-802B-489429C2B778< \/UUID>< \/ObtenerPeticionesPendientesResult>< \/ObtenerPeticionesPendientesResponse>< \/s:Body>< \/s:Envelope>", "retcode": 1, "total_processing_time": 5.37415599823 } }
Los parámetros a ser enviados para procesar respuesta.<font 14px/arial;;#000000;;#ffffff>Nombre del método para procesar respuestas es:</font> Procesar-RespuestaCFDI. los parametros son los siguientes:
Ejemplo procesar-respuesta:
{ "id":1001, "method":"procesar-respuestaCFDI", "params": { "client":"cfdfactura", "user":"demo010303ol1", "pass":"Administr4dor", "RFC":"AAQM610917QJA", "rfcReceptor":"AAQM610917QJA", "solicitud":{ "Folios": [ { "UUID":"A4120E96-0400-4766-A41D-1559A8444C80", "EstatusUUID": "201", "Respuesta": "Aceptacion"}], "RfcReceptor":"AAQM610917QJA" }, "id_transaccion": 0 } }
NOTA: La funcion principal de este ejemplo es para proporcionar la respuesta de aceptacion o rechazo la cual deben mostrar en el sistema del cliente del emisor de la factua.
( [ConsultaResult] stdClass Object ( [CodigoEstatus] S - Comprobante obtenido satisfactoriamente. [EsCancelable] Cancelable sin aceptación [Estado] Cancelado [EstatusCancelacion] Cancelado sin aceptación )
Los parámetros a ser enviados para realizar la cancelación de retención del XML. <font 14px/arial;;#000000;;#ffffff>Nombre del método para cancelar lar retención de un CFDI es:</font> cancelarRetencion. los parametros son los siguientes:
Parametros
Ejemplo de codificación de llamado en formato JSON (Un solo folio) para retenciones y pagos:
{ "id":1001, "method":"cancelarRetencion", "params": { "user":"miemail@midominio.com", "pass":"cabb17fb8536180e11af6dff0da42132", "RFC":"EEM010101XYZ", "pfx_pass":"Clave de mi archivo PFX", "pfx_pem":"< < Archivo PFX de mi CSD>>", "folios": [ "25916C58-672A-43CD-96EE-F14E0FDD4378", ] } }
Ejemplo de codificación de respuesta en formato JSON (Un solo folio) para retenciones y pagos:
"id":1001, "method":"cancelarRetencion", "result": { "params": { "acuse_cancelacion":"< s:Envelope>Acuse del SAT< \/s:Envelope>", "user":"miemail@midominio.com", "id":1001, "pass":"cabb17fb8536180e11af6dff0da42132", "fecha":"2013-04-15T20:48:39.7200698", "RFC":"EEM010101XYZ", "retcode":1, "pfx_pass":"Clave de mi archivo PFX", "signature":"AuPN3mjhCjI2NYiif2Mdtdib9nxhTOw5jf7TPIloqqv2RHnsJ5XnHAdkf5A9ccfXJ4fpJNY0k3kNHkwFRQmhXw==", "pfx_pem":"< < Archivo PFX de mi CSD>>", "folios": [ "folios": [ { "25916C58-672A-43CD-96EE-F14E0FDD4378", "UUID":"48D57A35-48BB-4C4B-AB44-678FCBF74D93", ] "status":"201" } ] } } } } }
Los parámetros a ser enviados para realizar la consulta de un CFDI <font 14px/arial;;#000000;;#ffffff>Nombre del método para cancelar un cfdi es:</font> consultaCFDI. los parametros son los siguientes:
Ejemplo de codificación de llamado para consultar un CFDI:
{ "id":1001, "method":"consultaCFDI", "params": { client":"cfdfactura" "user":"demo010303ol1", "pass":"Administr4dor", "RFC":"AAQM610917QJA", "solicitud": { "UUID":"793A76DD-D744-4AF1-8A16-E59BB3B7F78B", "RfcReceptor":"AAQM610917QJA" }, "id_transaccion": 0 } }< /file>
Los parámetros a ser enviados para Verificar el estatus de la retención del XML. <font 14px color: rgb(0, 0, 0);/arial;;rgb(0, 0, 0);;#ffffff>Nombre del método para cancelar un cfdi es:</font> verificarEstatusRetencion. los parametros son los siguientes:
Ejemplo de codificación de llamado en formato JSON para recuperar acuse de cancelación de retenciones y pagos:
{ "id":1001, "method":"verificarEstatusRetencion", "params": { "user":"miemail@midominio.com", "pass":"cabb17fb8536180e11af6dff0da42132", "RFC":"EEM010101XYZ", "folio_seguimiento":"005", } }
Ejemplo del manejo de los folios:
$primer_folio = $folios[0] -> UUID; $estatus_primer_folio = $folios[0] -> status; $segundo_folio = $folios[1] -> UUID; $estatus_segundo_folio = $folios[1] -> status;
Estatus del CFDI.
Ejemplos.
Esta función permite realizar una búsqueda en la base de datos del Web Service por medio de un ID controlado por el cliente o por el folio del comprobante a recuperar.
Existe un método definido para la búsqueda, el cual es buscarCFDI. Este método puede ser llamado para pedir al Web Service algún CFDI que se desee consultar a petición del cliente.
El llamado al Web Service se realiza por medio de este URL:
https://portalws.itimbre.com/itimbre/itimbre.php
Los parámetros a la llamada al Web Service son estructurados de la siguiente manera:
Cuando se realice el llamado al Web Service, es necesario seguir el siguiente lineamiento en el JSON CALL.
{ “method” :“buscarCFDI”, “params” : { “user” : “usuario”, “pass” : “contraseña”, “RFC” : “RFC”, “id” : “string”, “UUID” : “string” } }
La respuesta arrojada por el Web Service será la siguiente:
Respuesta exitosa, búsqueda encontrada:
{ “data” :“xml”, “retcode” : 1 }
Respuesta errónea, CFDI no encontrado:
{ “retcode” :dif 1 , “data” :“notfound” }
Esta función permite realizar un conteo en el Web Service de los timbres emitidos en determinado lapso de tiempo por los emisores.
Existe un método definido para el conteo de los timbres, el cual es reporte este método puede ser llamado para pedir al Web Service la cantidad de timbres consumidos a lo largo de determinado periodo.
https://portalws.itimbre.com/itimbre.php
{ "method":"reporte", "params": { "user":"mi usuario", "pass":"mi password", "RFC":"RFC Opcional", "fecha_inicio":"2014-01-01", "fecha_final":"2014-06-30" } }
La respuesta arrojada por el Web Service será la siguiente: Respuesta exitosa, búsqueda encontrada es en un formato JSON,ordenado por RFC , y posteriormente por la cantidad de timbres emitidos, correspondiente al rango de fechas utilizado.
{ "id":null, "result": { "retcode":1, "data": { "FAGL700301GL1": { "total":10660 }, "ITI920713RL5": { "total":600 }, "XFE0404037IA": { "total":164 }, "ECP120423Q73": { "total":255 }, "IRH910115684": { "total":403 }, "AGV120712FL1": { "total":3884 }, "HAAL9004112A1": { "total":796 } } } }
{ "id":0, "result": { "retcode":-1, "error":"No se encontraron registros con la informacion recibida." } }
Esta función permite realizar un reporte detallado en el Web Service de los timbres emitidos conteniendo el UUID, folio interno y fecha de timbrado.
Existe un método definido para el reporte detallado de los timbres, el cual es reporte_detallado Este método puede ser llamado para pedir al Web Service el detalle de los timbres emitidos en determinado lapso de tiempo.
{ "method":"reporte_detallado", "params": { "user":"mi usuario", "pass":"mi password", "RFC":"RFC Obligatorio", "fecha_inicio":"2014-01-01", "fecha_final":"2014-02-28" } }
Respuesta exitosa, búsqueda encontrada es en un formato JSON ordenado por UUID, folio interno y la fecha de timbrado:
{ "id":null, "result": { "retcode":1, "data": [ { "uuid":"D6763BF1-9E12-4500-9B99-D02293F4C6C9", "folio_interno":"", "fecha_timbrado":"2014-01-28 19:09:08" }, { "uuid":"41H26024-587E-480G-8BB6-CF1248CB58B6", "folio_interno":"", "fecha_timbrado":"2014-01-29 09:49:59" } ] } }
{ "id":0,"result": { "retcode":-1, "error":"No se encontraron registros con la informacion recibida." } }
Esta nueva aplicación le permitirá a el usuario anular los comprobantes de forma masiva ,optimizando tiempo y recursos ya que únicamente requiere contar con la lista de UUID a cancelar la cual se puede ingresar manualmente ó subir un archivo en formato CSV que contenga los UUID.
Para acceder a la aplicación, favor dar clic en el siguiente enlace : http://portalws.itimbre.com/cancelacion_masiva.php
Para comenzar a efectuar la cancelación es necesario cargar a la aplicación una lista que contenga los UUIDs separados por líneas de salto (enters) en un archivo con formato CSV .
Una vez seleccionado el archivo CSV con los UUID a cancelar es necesario dar clic en Subir CSV para cargarlos a la aplicación.
Nota: También tiene la opción de agregar la lista manualmente en el recuadro blanco que aparece debajo del botón Subir CSV.
Es necesario ingresar :
Dichos parámetros son los que se utilizan para realizar la conexión al Web Service.
Es necesario cargar a la aplicación los siguientes archivos del Emisor:
Por último solo es necesario hacer clic en el botón de Cancelar CFDIS para que se lleve acabo la cancelación. Una vez realizado lo mencionado el sistema le brindara la opción para descargar el acuse de cancelación dando clic en Descargar Acuse (solo cuando la cancelación fue satisfactoria).
El sistema soporta una cantidad ilimitada de UUIDs, pero únicamente se puede realizar una cancelación en grupos de 500, entonces si se sube un CSV que contenga más de 5000 CFDIs a cancelar se van a recibir mas de 10 acuses de cancelación.
Nota: En caso de le arroje una leyenda o código de error favor de comunicarse a el área de soporte técnico.
A continuación los parámetros a ser enviados para hacer recuperación de CFDI en formato PDF. <font 9pt/arial;;rgb(0, 0, 0);;#ffffff>Nombre del método para recuperar los archivos de un CFDI en formato PDF es:</font> Recuperar PDF. los parametros son los siguientes:
Ejemplo Recuperar PDF
{ "id_transaccion": 0, "cuenta": "Demo", "user": "administrador", "password": "Administr4dor", "method": "recuperar", "folio": "NumeroFolio", "allowCancelled": true }