Herramientas de usuario

Herramientas del sitio


web-service

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
web-service [2020/05/28 23:07]
[Llamado]
web-service [2022/02/02 20:58] (actual)
[Llamado]
Línea 13: Línea 13:
 ====== Registro ====== ====== Registro ======
  
-Antes de comenzar a realizar pruebas con el Web Service de iTimbre es necesario registrarse a través de las siguientes ligas:+Antes de comenzar a realizar pruebas con el Web Service de iTimbre ​(Envío de XML) es necesario registrarse a través de las siguientes ligas:
  
 **Pruebas:​** [[https://​pruebas.itimbre.com/​registro/​index.php?​servicio=timbrado|https://​pruebas.itimbre.com/​registro/​index.php?​servicio=timbrado]] **Pruebas:​** [[https://​pruebas.itimbre.com/​registro/​index.php?​servicio=timbrado|https://​pruebas.itimbre.com/​registro/​index.php?​servicio=timbrado]]
Línea 35: Línea 35:
 ====== Conexión al Web Service ====== ====== Conexión al Web Service ======
  
-Para realizar la conexión con el Web Service de iTimbre es necesario proveer los siguientes datos en el llamado:+Para realizar la conexión con el Web Service de iTimbre ​(Envío de XML) es necesario proveer los siguientes datos en el llamado:
  
   * Usuario. El usuario es el correo electrónico utilizado al momento de crear la cuenta en el Portal de iTimbre. El mismo con el que se ingresa al sistema.   * Usuario. El usuario es el correo electrónico utilizado al momento de crear la cuenta en el Portal de iTimbre. El mismo con el que se ingresa al sistema.
Línea 48: Línea 48:
 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. 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**:+**Direcciones del servicio, integración por medio de XML**:
  
 Pruebas: [[https://​portalws.itimbre.com/​itimbreprueba.php|https://​portalws.itimbre.com/​itimbreprueba.php]] Pruebas: [[https://​portalws.itimbre.com/​itimbreprueba.php|https://​portalws.itimbre.com/​itimbreprueba.php]]
Línea 56: Línea 56:
 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.** 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.**
  
-====== Timbrado de CFDI 3.======+====== Timbrado de CFDI. ======
  
 Las siguientes validaciones se realizan al XML: Las siguientes validaciones se realizan al XML:
Línea 95: Línea 95:
 ==== Ejemplos ==== ==== Ejemplos ====
  
-**Ejemplo de codificación del llamado en formato JSON para certificación de CFDI v3.2**:+**Ejemplo de codificación del llamado en formato JSON para certificación de CFDI**:
  
 <file JSON llamado-nomina.json>​ <file JSON llamado-nomina.json>​
Línea 312: Línea 312:
 |  1017  |Uso del certificado de FIEL no válido. | |  1017  |Uso del certificado de FIEL no válido. |
  
-===== Nuevo esquema de Cancelación de CFDI 3.=====+===== Nuevo esquema de Cancelación de 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”. 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”.
Línea 320: Línea 320:
 ===== Flujo del nuevo esquema de cancelación ===== ===== Flujo del nuevo esquema de cancelación =====
  
-{{http://​www.itimbre.com/​wp-content/​uploads/​2018/10/Esquema-de-cancelación-de-facturas.jpg?​nolink&​901x434}}+{{http://​www.itimbre.com/​wp-content/​uploads/​2021/01/Cancelacion-1.jpg?​nolink&​901x434}}
  
 ===== Llamado ===== ===== Llamado =====
Línea 482: Línea 482:
  
 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: 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=|https://​portalws.itimbre.com/​itimbre.php?​q=]]
  
 **Parametros:​ ** **Parametros:​ **
Línea 496: Línea 500:
  
 **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>​ **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>​
 +
 +<file JSON llamado-validacfdi.json>​
 +{
 +  "​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/​4"​ Certificado="​MIIFeDCCA2CgAwIBAgIUMzAwMDEwMDAwMDA0MDAwMDI0OTUwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWRpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMTkwNjI2MjIzMzI2WhcNMjMwNjI2MjIzMzI2WjCBnzEUMBIGA1UEAxMLU0FUIFBSVUVCQVMxFDASBgNVBCkTC1NBVCBQUlVFQkFTMRQwEgYDVQQKEwtTQVQgUFJVRUJBUzElMCMGA1UELRMcU1BSMTkwNjEzSTUyIC8gQ0FDWDc2MDUxMDFQODEeMBwGA1UEBRMVIC8gQ0FDWDc2MDUxME1HVFNIQzA0MRQwEgYDVQQLEwtTQVQgUFJVRUJBUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALKEMefwAbkE07Gy07ZIQm7mETva4Zhq4g6qWIVSQDnf0XKwu0Oo/​1Yy1zj8LxsR1Gn8Oh+1ndAxZciyWx/​ahXCgw5oNBiPYJrNl3QsvzhIC9M8HOKJ16dIIZvUJQ9FvaCQnU1UmzxRor+sgjpW/​h0xJTfVk7YSWu+V2/​y4y6YclMXk25ETvCJBmKCG0Q0Ukav4F5lgp1+Twxla4lEmb5FkoUv/​Pbs9gcQ5OvEpMPyrJllTp5CQ0ZaA6kmE6kwnqCZsKSap1mEHzX8z3IkcL3n6eUHsGWMSiAavXzL/​lUGUERZ5ur8PXu3zCG6C4aO/​tneTDGF8imhvRc1bTgAW/​KPUCAwEAAaMdMBswDAYDVR0TAQH/​BAIwADALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQELBQADggIBAAHmEbxYLe6Ee3im4OCT8RXFcylV32OH5gd5xU2J6xPktX+H1vBSKU4JZ5ugtyxJCaeBs0JxpTBQ1to3v6Rr0NfjPEDIaa50LX7m5NLtrjn0gHs1rZv0SwK3eFS1EPtiQ9p8GQ4t+JcPoaKD+SvP708vSR7ll8EHoih/​ZVacRuLc9ezjMZLPEvin/​SMvpA9Wb069+wHwvtB/​tpV/​SIUI5y9U2pAbWgszdTmljn6ECST4kuQ8P4pCNKgyj3nnPBIBQSuAW3rEbqJ4A+1rWsOr0Y5OaZmsPs0a5l/​pxDYz8LfICD1RH27tL0BToJgTjEutVfWJzOHHU6xtOLhPlv5XTxYfRTERpYstm2g1vijoSrbToo2oMEA/​abLxdBCLuacyv0aCFO2r8EWI2XF/​Yf6QjXmMsuLFJS0M2losEUkpnLCb7uegLuwGTy8gK7rAGcNb8KR0p9x5ateqkGxKvzfHqAcHoFNNfDw9LNyzxw5bA4Bsnuysoy5W12DiRvYcRpu8qYS1I3TglyB/​8NYh7HP/​3IvQvog+jbKYCWeBPfCxumCmodKGGO8t52RhhYY9KwrnJA8a+X+KukhWOEbw0+Z8LPdJvHg4QBqKXyjrhBDHzZgOXEkz+Zg5sgNmIx2AGruYty7hgwOxSRTl3ZqfOplUqsswljBsPtGPCdIoC1/​7JvI5"​ Exportacion="​01"​ Fecha="​2022-02-02T12:​54:​07"​ Folio="​183"​ FormaPago="​01"​ LugarExpedicion="​21000"​ MetodoPago="​PUE"​ Moneda="​MXN"​ NoCertificado="​30001000000400002495"​ Sello="​f/​r1zRQNxB6tlpTZ3fGNT1LRdsXKeFN7bkQbyF+oyobqpo7uEcKaw2V/​OYKlHiK4rw5BbfHUpjlXCRBTOtUyaDs3sUwbKRYVfoTTQ0uXj7DWx5c3MqsgvHpFFKp21hiERvihcX6sCwAA4lTLg5yaea1s/​4qPJRWVEOEwXT9JF4xSAgljooQeeVZk+ckdRq2tYXCXFhYZ01sJ7bFMPslgGZtNYkt5A5sBtZFRPUo/​8DUCkf2BoBIqluV8yCfAdc/​0fJbTolH/​wd71+B96kGLyI3+GQWGYTzMWA6ysmSwFxjp/​5Ew4qdRBMvVpGEzzzJPOE+st4Hh6EskUgtq3tiH6lA=="​ Serie="​A"​ SubTotal="​100.00"​ TipoCambio="​1"​ TipoDeComprobante="​I"​ Total="​116.00"​ Version="​4.0"​ xmlns:​xsi="​http://​www.w3.org/​2001/​XMLSchema-instance"​ xsi:​schemaLocation="​http://​www.sat.gob.mx/​cfd/​4 http://​www.sat.gob.mx/​sitio_internet/​cfd/​4/​cfdv40.xsd"><​cfdi:​Emisor Nombre="​DEMO S.A. DE C.V." RegimenFiscal="​601"​ Rfc="​SPR190613I52"/><​cfdi:​Receptor DomicilioFiscalReceptor="​22530"​ Nombre="​NUEVA EMPRESA DE EJEMPLO"​ RegimenFiscalReceptor="​601"​ Rfc="​XAXX010101000"​ UsoCFDI="​G03"/><​cfdi:​Conceptos><​cfdi:​Concepto Cantidad="​1"​ ClaveProdServ="​01010101"​ ClaveUnidad="​ACT"​ Descripcion="​Venta"​ Importe="​100"​ ObjetoImp="​02"​ ValorUnitario="​100"><​cfdi:​Impuestos><​cfdi:​Traslados><​cfdi:​Traslado Base="​100"​ Importe="​16.00"​ Impuesto="​002"​ TasaOCuota="​0.160000"​ TipoFactor="​Tasa"/></​cfdi:​Traslados></​cfdi:​Impuestos></​cfdi:​Concepto></​cfdi:​Conceptos><​cfdi:​Impuestos TotalImpuestosTrasladados="​16.00"><​cfdi:​Traslados><​cfdi:​Traslado Base="​100.00"​ Importe="​16.00"​ Impuesto="​002"​ TasaOCuota="​0.160000"​ TipoFactor="​Tasa"/></​cfdi:​Traslados></​cfdi:​Impuestos><​cfdi:​Complemento><​tfd:​TimbreFiscalDigital FechaTimbrado="​2022-02-02T14:​54:​08"​ Leyenda="​iTimbreSandbox"​ NoCertificadoSAT="​30001000000400002495"​ RfcProvCertif="​SDA1109203R3"​ SelloCFD="​f/​r1zRQNxB6tlpTZ3fGNT1LRdsXKeFN7bkQbyF+oyobqpo7uEcKaw2V/​OYKlHiK4rw5BbfHUpjlXCRBTOtUyaDs3sUwbKRYVfoTTQ0uXj7DWx5c3MqsgvHpFFKp21hiERvihcX6sCwAA4lTLg5yaea1s/​4qPJRWVEOEwXT9JF4xSAgljooQeeVZk+ckdRq2tYXCXFhYZ01sJ7bFMPslgGZtNYkt5A5sBtZFRPUo/​8DUCkf2BoBIqluV8yCfAdc/​0fJbTolH/​wd71+B96kGLyI3+GQWGYTzMWA6ysmSwFxjp/​5Ew4qdRBMvVpGEzzzJPOE+st4Hh6EskUgtq3tiH6lA=="​ SelloSAT="​loz73BL/​+WJX0D8uWB4IvDx6iiHuUjy0487t7A3b3yF9w/​tzzh9J3FtJd5pVc9NYzDETylHCjQ/​f8AnRZa65Z7u6JfRqoNCdgq3VwHnhJebIW67N6Y4bD7o9107JF3cNqWch3mJTO7XNM9zMl5yu1E9gz+DAtBzafLobTqq/​fPWTGbPdk5vuwlnYDb1vCsiBCGqPK7yZkg4FoJHZuT2H+/​6eT/​qsmKi9auPX38n3tpbqBE6pzITLDx8KURMMkx5rYQy4YNtErriC59504Et+W3B1iZK+WF2VKmKsggc+IdWhh+idScF+5xf/​P4q8XxFnwE0wft6TmsCnyA9MslP6PA=="​ UUID="​15A59C1A-F348-4B19-900F-9020D43802B4"​ 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>"​
 +  }
 +}
 +</​file>​
 +
 +**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>​
 +
 +<file JSON llamado-validacfdi.json>​
 +{
 +  "​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/​4"​ Certificado="​MIIFeDCCA2CgAwIBAgIUMzAwMDEwMDAwMDA0MDAwMDI0OTUwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWRpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMTkwNjI2MjIzMzI2WhcNMjMwNjI2MjIzMzI2WjCBnzEUMBIGA1UEAxMLU0FUIFBSVUVCQVMxFDASBgNVBCkTC1NBVCBQUlVFQkFTMRQwEgYDVQQKEwtTQVQgUFJVRUJBUzElMCMGA1UELRMcU1BSMTkwNjEzSTUyIC8gQ0FDWDc2MDUxMDFQODEeMBwGA1UEBRMVIC8gQ0FDWDc2MDUxME1HVFNIQzA0MRQwEgYDVQQLEwtTQVQgUFJVRUJBUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALKEMefwAbkE07Gy07ZIQm7mETva4Zhq4g6qWIVSQDnf0XKwu0Oo/​1Yy1zj8LxsR1Gn8Oh+1ndAxZciyWx/​ahXCgw5oNBiPYJrNl3QsvzhIC9M8HOKJ16dIIZvUJQ9FvaCQnU1UmzxRor+sgjpW/​h0xJTfVk7YSWu+V2/​y4y6YclMXk25ETvCJBmKCG0Q0Ukav4F5lgp1+Twxla4lEmb5FkoUv/​Pbs9gcQ5OvEpMPyrJllTp5CQ0ZaA6kmE6kwnqCZsKSap1mEHzX8z3IkcL3n6eUHsGWMSiAavXzL/​lUGUERZ5ur8PXu3zCG6C4aO/​tneTDGF8imhvRc1bTgAW/​KPUCAwEAAaMdMBswDAYDVR0TAQH/​BAIwADALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQELBQADggIBAAHmEbxYLe6Ee3im4OCT8RXFcylV32OH5gd5xU2J6xPktX+H1vBSKU4JZ5ugtyxJCaeBs0JxpTBQ1to3v6Rr0NfjPEDIaa50LX7m5NLtrjn0gHs1rZv0SwK3eFS1EPtiQ9p8GQ4t+JcPoaKD+SvP708vSR7ll8EHoih/​ZVacRuLc9ezjMZLPEvin/​SMvpA9Wb069+wHwvtB/​tpV/​SIUI5y9U2pAbWgszdTmljn6ECST4kuQ8P4pCNKgyj3nnPBIBQSuAW3rEbqJ4A+1rWsOr0Y5OaZmsPs0a5l/​pxDYz8LfICD1RH27tL0BToJgTjEutVfWJzOHHU6xtOLhPlv5XTxYfRTERpYstm2g1vijoSrbToo2oMEA/​abLxdBCLuacyv0aCFO2r8EWI2XF/​Yf6QjXmMsuLFJS0M2losEUkpnLCb7uegLuwGTy8gK7rAGcNb8KR0p9x5ateqkGxKvzfHqAcHoFNNfDw9LNyzxw5bA4Bsnuysoy5W12DiRvYcRpu8qYS1I3TglyB/​8NYh7HP/​3IvQvog+jbKYCWeBPfCxumCmodKGGO8t52RhhYY9KwrnJA8a+X+KukhWOEbw0+Z8LPdJvHg4QBqKXyjrhBDHzZgOXEkz+Zg5sgNmIx2AGruYty7hgwOxSRTl3ZqfOplUqsswljBsPtGPCdIoC1/​7JvI5"​ Exportacion="​01"​ Fecha="​2022-02-02T12:​54:​07"​ Folio="​183"​ FormaPago="​01"​ LugarExpedicion="​21000"​ MetodoPago="​PUE"​ Moneda="​MXN"​ NoCertificado="​30001000000400002495"​ Sello="​f/​r1zRQNxB6tlpTZ3fGNT1LRdsXKeFN7bkQbyF+oyobqpo7uEcKaw2V/​OYKlHiK4rw5BbfHUpjlXCRBTOtUyaDs3sUwbKRYVfoTTQ0uXj7DWx5c3MqsgvHpFFKp21hiERvihcX6sCwAA4lTLg5yaea1s/​4qPJRWVEOEwXT9JF4xSAgljooQeeVZk+ckdRq2tYXCXFhYZ01sJ7bFMPslgGZtNYkt5A5sBtZFRPUo/​8DUCkf2BoBIqluV8yCfAdc/​0fJbTolH/​wd71+B96kGLyI3+GQWGYTzMWA6ysmSwFxjp/​5Ew4qdRBMvVpGEzzzJPOE+st4Hh6EskUgtq3tiH6lA=="​ Serie="​A"​ SubTotal="​100.00"​ TipoCambio="​1"​ TipoDeComprobante="​I"​ Total="​116.00"​ Version="​4.0"​ xmlns:​xsi="​http://​www.w3.org/​2001/​XMLSchema-instance"​ xsi:​schemaLocation="​http://​www.sat.gob.mx/​cfd/​4 http://​www.sat.gob.mx/​sitio_internet/​cfd/​4/​cfdv40.xsd"><​cfdi:​Emisor Nombre="​DEMO S.A. DE C.V." RegimenFiscal="​601"​ Rfc="​SPR190613I52"/><​cfdi:​Receptor DomicilioFiscalReceptor="​22530"​ Nombre="​NUEVA EMPRESA DE EJEMPLO"​ RegimenFiscalReceptor="​601"​ Rfc="​XAXX010101000"​ UsoCFDI="​G03"/><​cfdi:​Conceptos><​cfdi:​Concepto Cantidad="​1"​ ClaveProdServ="​01010101"​ ClaveUnidad="​ACT"​ Descripcion="​Venta"​ Importe="​100"​ ObjetoImp="​02"​ ValorUnitario="​100"><​cfdi:​Impuestos><​cfdi:​Traslados><​cfdi:​Traslado Base="​100"​ Importe="​16.00"​ Impuesto="​002"​ TasaOCuota="​0.160000"​ TipoFactor="​Tasa"/></​cfdi:​Traslados></​cfdi:​Impuestos></​cfdi:​Concepto></​cfdi:​Conceptos><​cfdi:​Impuestos TotalImpuestosTrasladados="​16.00"><​cfdi:​Traslados><​cfdi:​Traslado Base="​100.00"​ Importe="​16.00"​ Impuesto="​002"​ TasaOCuota="​0.160000"​ TipoFactor="​Tasa"/></​cfdi:​Traslados></​cfdi:​Impuestos><​cfdi:​Complemento><​tfd:​TimbreFiscalDigital FechaTimbrado="​2022-02-02T14:​54:​08"​ Leyenda="​iTimbreSandbox"​ NoCertificadoSAT="​30001000000400002495"​ RfcProvCertif="​SDA1109203R3"​ SelloCFD="​f/​r1zRQNxB6tlpTZ3fGNT1LRdsXKeFN7bkQbyF+oyobqpo7uEcKaw2V/​OYKlHiK4rw5BbfHUpjlXCRBTOtUyaDs3sUwbKRYVfoTTQ0uXj7DWx5c3MqsgvHpFFKp21hiERvihcX6sCwAA4lTLg5yaea1s/​4qPJRWVEOEwXT9JF4xSAgljooQeeVZk+ckdRq2tYXCXFhYZ01sJ7bFMPslgGZtNYkt5A5sBtZFRPUo/​8DUCkf2BoBIqluV8yCfAdc/​0fJbTolH/​wd71+B96kGLyI3+GQWGYTzMWA6ysmSwFxjp/​5Ew4qdRBMvVpGEzzzJPOE+st4Hh6EskUgtq3tiH6lA=="​ SelloSAT="​loz73BL/​+WJX0D8uWB4IvDx6iiHuUjy0487t7A3b3yF9w/​tzzh9J3FtJd5pVc9NYzDETylHCjQ/​f8AnRZa65Z7u6JfRqoNCdgq3VwHnhJebIW67N6Y4bD7o9107JF3cNqWch3mJTO7XNM9zMl5yu1E9gz+DAtBzafLobTqq/​fPWTGbPdk5vuwlnYDb1vCsiBCGqPK7yZkg4FoJHZuT2H+/​6eT/​qsmKi9auPX38n3tpbqBE6pzITLDx8KURMMkx5rYQy4YNtErriC59504Et+W3B1iZK+WF2VKmKsggc+IdWhh+idScF+5xf/​P4q8XxFnwE0wft6TmsCnyA9MslP6PA=="​ UUID="​15A59C1A-F348-4B19-900F-9020D43802B4"​ 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>"​
 +  }
 +}
 +</​file>​
 +
 +\\
 +
 +===== Respuesta: =====
 +
 +=== Ejemplos de respuesta metodo validaCFDI: ===
 +
 +(\\
 +[ConsultaResult] stdClass Object\\
 +(\\
 +[CodigoEstatus] S - Comprobante obtenido satisfactoriamente.\\
 +[EsCancelable] Cancelable sin aceptación\\
 +[Estado] Vigente\\
 +[EstatusCancelacion]\\
 +)
 +
 +)
 +
 +=== Ejemplo de respuesta: ===
 +
 +(\\
 +[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.**
 +
 +|**Código** ​  ​|**Observaciones.** ​  |
 +|N 601 |**La expresión impresa proporcionada no es válida.** Este código de respuesta se presentará cuando la petición de validación no se haya respetado en el formato definido. ​ |
 +|N 602 |Este código de respuesta se presentará cuando el UUID del comprobante no se encuentre en la Base de Datos del SAT. |
 +|S |Comprobante obtenido satisfactoriamente.“En Proceso” |
 +
 +===== Pendientes CFDI. =====
 +
 +===== Llamado =====
 +
 +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:
 +==== Parámetros. ====
 +
 +^  PARÁMETRO ​ ^  DESCRIPCIÓN ​ |
 +|  id  |Identificador de referencia asignado por el cliente. Este parámetro no es requerido por el Web Service de iTimbre, sino que tiene como propósito ser utilizado por el cliente como método de control para asegurarse de recibir la respuesta solicitada. Se recomienda utilizar el número de folio interno del XML. |
 +|  method ​ |Nombre del método para consultar la respuesta de aceptación o rechazo por parte del receptor de la facura es: **pendientesCFDI**. ​ |
 +|  params ​ |Debe contener un arreglo con los parámetros:​ user, pass, status_sat, RFC, rfcReceptor y folios,​client. |
 +|  user  |Usuario del Portal de iTimbre con el que se ingresa al sistema (correo electrónico con el que se registró). |
 +|  client ​ |Parametro para validar el tipo de cliente, valores permitidos **cfdfactura ** (Clientes que utilizan el servicio de facturacion33.itimbre.com) **integracion_libre ** (clientes que utilizan el servicio de portalws.timbre.com) ​ |
 +|  pass  |Contraseña generada por iTimbre al momento de registrar al emisor. |
 +|  RFC  |RFC del emisor del CFDI. Nota: es el único parámetro que debe estar en mayúsculas. |
 +|  rfcReceptor ​ |RFC del receptor del CFDI. |
 +
 +**Ejemplo pendientesCFDI**
 +
 +<file JSON llamado-Pendientes.json>​
 +{
 +    "​id":​1001,​
 +    "​method":"​pendientesCFDI",​
 +    "​params":​ {
 +        "​client":"​cfdfactura",​
 +        "​user":"​demo010303ol1",​
 +        "​pass":"​demo010303ol1",​
 +        "​RFC":"​AAQM610917QJA",​
 +        "​rfcReceptor":"​AAQM610917QJA",​
 +        "​id_transaccion":​ 0
 +    }
 +}
 +</​file>​
 +
 +===== Respuesta: =====
 +
 +====   ====
 +
 +**Parámetros de la respuesta: **
 +
 +^  PARÁMETROS ​ ^  DESCRIPCIÓN ​ |
 +|  id  |El mismo id que fue enviado en el llamado. |
 +|  result ​ |Un arreglo dentro del cual se encuentran el resto de los parámetros que se describen abajo. |
 +|  retcode ​ |Código de retorno, si es 1, la repuesta es exitosa. Si es diferente de 1, el número es el código de error. Nota: aunque el valor de retcode sea 1, la solicitud de cancelación no se debe considerar como satisfactoria. Debido a que en el llamado se puede solicitar cancelar más de un CFDI, algunos podrían cancelarse exitosamente mientras que otros no. Es por eso que se debe revisar el parámetro folios, el cual contiene la lista de folios que se solicitaron cancelar con su respectivo código de respuesta. \\   \\ El parametro redcode para **retenciones y pagos** tiene un significado distinto: \\ Si es 1 –> La cancelación ha sido exitosa y el acuse se regresa en el parámetro **acuse_cancelacion** \\ ​Si la respuesta es 2 –> Significa que se activo la cancelación asincrona,​entonces se regresa un folio de seguimiento en la variable **folio_seguimiento**. \\ Si es -1 –>​Entonces hubo un error genérico y la descripción se reflejara en la variable error. Cualquier otro valor en el retcode será uno de los códigos del catalogo. |
 +|  error  |En caso de existir, descripción del error. NOTA: es importante que no exista ningún error para considerar que la cancelación fue exitosa. |
 +|  data  |X<font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​ML timbrado.</​font>​ |
 +
 +**Ejemplo de respuesta pendientesCFDI.**
 +
 +<file JSON Respuesta-Pendientes.json>​
 +{
 +    "​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
 +    }
 +}
 +</​file>​
 +
 +\\
 +
 +====== Procesar respuesta: ======
 +
 +===== Llamado =====
 +
 +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:
 +==== Parámetros. ====
 +
 +^  PARÁMETRO ​ ^  DESCRIPCIÓN ​ |
 +|  id  |Identificador de referencia asignado por el cliente. Este parámetro no es requerido por el Web Service de iTimbre, sino que tiene como propósito ser utilizado por el cliente como método de control para asegurarse de recibir la respuesta solicitada. Se recomienda utilizar el número de folio interno del XML. |
 +|  method ​ |Nombre del método para procesar la respuesta de aceptación o rechazo del receptor del CFDI es: **procesar-respuestaCFDI.** ​  |
 +|  params ​ |Debe contener un arreglo con los parámetros:​ user, pass, status_sat, RFC, rfcReceptor y folios,​client. |
 +|  user  |Usuario del Portal de iTimbre con el que se ingresa al sistema (correo electrónico con el que se registró). |
 +|  client ​ |Parametro para validar el tipo de cliente, valores permitidos **cfdfactura ** (Clientes que utilizan el servicio de facturacion33.itimbre.com) **integracion_libre ** (clientes que utilizan el servicio de portalws.timbre.com) ​ |
 +|  pass  |Contraseña generada por iTimbre al momento de registrar al emisor. |
 +|  RFC  |RFC del emisor del CFDI. Nota: es el único parámetro que debe estar en mayúsculas. |
 +|  rfcReceptor ​ |RFC del receptor del CFDI. |
 +|  folios ​ |Arreglo que contiene la lista de folios (UUID) a cancelar. El número máximo es de 500 y todos los folios deben pertenecer al mismo emisor y haber sido generados con el mismo CSD que se proporciona en el archivo PFX. |
 +
 +**Ejemplo procesar-respuesta:​**
 +
 +<file JSON llamado-Pendientes.json>​
 +{
 +    "​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
 +    }
 +}
 +</​file>​
 +
 +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.
 +
 +===== Respuesta: =====
 +
 +===== Ejemplos de respuesta procesar-respuestaCFDI. =====
 +
 +(\\
 +[ConsultaResult] stdClass Object\\
 +(\\
 +[CodigoEstatus] S - Comprobante obtenido satisfactoriamente.\\
 +[EsCancelable] Cancelable sin aceptación\\
 +[Estado] Cancelado\\
 +[EstatusCancelacion] Cancelado sin aceptación\\
 +)
 +
 +)
 +
 +=====   =====
 +
 +====== Cancelar Retencion. ======
 +
 +===== Llamado =====
 +
 +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**
 +
 +^  PARÁMETRO ​ ^  DESCRIPCIÓN ​ |
 +|  id  |Identificador de referencia asignado por el cliente. Este parámetro no es requerido por el Web Service de iTimbre, sino que tiene como propósito ser utilizado por el cliente como método de control para asegurarse de recibir la respuesta solicitada. Se recomienda utilizar el número de folio interno del XML. |
 +|  method ​ |Nombre del método para cancelar un cfdi es: **cancelarRetencion.** ​  |
 +|  params ​ |Debe contener un arreglo con los parámetros:​ user, pass, status_sat, RFC, rfcReceptor y folios,​client. |
 +|  user  |Usuario del Portal de iTimbre con el que se ingresa al sistema (correo electrónico con el que se registró). |
 +|  pass  |Contraseña generada por iTimbre al momento de registrar al emisor. |
 +|  RFC  |RFCdel emisor del CFDI. Nota: es el único parámetro que debe estar en mayúsculas. |
 +|  rfcReceptor ​ |RFCdel receptor del CFDI. |
 +|  pfx_pass ​ |Llave publica usada para abrir el PFX. |
 +|  pfx_pem ​ |Archivo resultante de convertir el certificado (.cer) y la llave (.key) a PEM. Para generar este archivo puede consultar el documento “Manual de Generación del PFX” ofrecido por iTimbre. |
 +|  folios ​ |Arreglo que contiene la lista de folios (UUID) a cancelar. El número máximo es de 500 y todos los folios deben pertenecer al mismo emisor y haber sido generados con el mismo CSD que se proporciona en el archivo PFX. |
 +
 +**Ejemplo de codificación de llamado en formato JSON (Un solo folio) para retenciones y pagos**:
 +
 +<file JSON llamada-001cancelacion.json>​
 +{
 +    "​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",​
 +        ]
 +    }
 +}
 +</​file>​
 +
 +====== Respuesta: ======
 +
 +==== Respuesta ====
 +
 +^  PARÁMETROS ​ ^  DESCRIPCIÓN ​ |
 +|  id  |El mismo id que fue enviado en el llamado. |
 +|  method ​ |<font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​Este parámetro consiste en el tipo de petición solicitado para generar el CFDI. Los valores posibles se encuentran en el catálogo de métodos.</​font>​ |
 +|  result ​ |Un arreglo dentro del cual se encuentran el resto de los parámetros que se describen abajo. |
 +|  retcode ​ |Código de retorno, si es 1, la repuesta es exitosa. Si es diferente de 1, el número es el código de error. Nota: aunque el valor de retcode sea 1, la solicitud de cancelación no se debe considerar como satisfactoria. Debido a que en el llamado se puede solicitar cancelar más de un CFDI, algunos podrían cancelarse exitosamente mientras que otros no. Es por eso que se debe revisar el parámetro folios, el cual contiene la lista de folios que se solicitaron cancelar con su respectivo código de respuesta. \\   \\ El parametro redcode para **retenciones y pagos** tiene un significado distinto: \\ Si es 1 –> La cancelación ha sido exitosa y el acuse se regresa en el parámetro **acuse_cancelacion** \\ ​Si la respuesta es 2 –> Significa que se activo la cancelación asincrona,​entonces se regresa un folio de seguimiento en la variable **folio_seguimiento**. \\ Si es -1 –>​Entonces hubo un error genérico y la descripción se reflejara en la variable error. Cualquier otro valor en el retcode será uno de los códigos del catalogo. |
 +|  acuse  |Acuse del SAT en caso de que retcode sea 1 y que dentro del arreglo folios haya al menos un UUID cancelado. |
 +|  acuse_cancelacion ​ |Parámetro de retenciones y pagos , donde regresa el acuse del SAT cuando es exitosa. |
 +|  fecha  |Fecha en que el SAT cancela el CFDI, en caso de existir acuse. |
 +|  signature ​ |Firma del acuse del SAT, en caso de existir. Esta firma es parte del acuse, pero aquí se proporciona por separado por simplificación. |
 +|  error  |En caso de existir, descripción del error. NOTA: es importante que no exista ningún error para considerar que la cancelación fue exitosa. |
 +|  folios ​ |Arreglo que contiene la lista de folios que se enviaron a cancelar y su correspondiente estatus. |
 +|  folio_seguimiento ​ |Parámetro de retenciones y pagos, este parametro se regresa cuando se activa la cancelación asincrona brindando un folio de seguimiento. |
 +|  result ​ |<font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​Un arreglo dentro del cual se encuentran el resto de los parámetros que se describen abajo.</​font>​ |
 +|  params ​ |<font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​Debe contener un arreglo con los parámetros:​ user, pass, status_sat,</​font>​ RFC<font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>,​ rfcReceptor y folios,​client</​font>​ |
 +|  user  |<font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​Usuario del Portal de iTimbre con el que se ingresa al sistema (correo electrónico con el que se registró).</​font>​ |
 +|   \\ pass  |<font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​Contraseña generada por iTimbre asignada al emisor de manera automática. Se puede utilizar la</​font>​ **contraseña máster** <font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​del administrador de los emisores para cualquier</​font>​ RFC<font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​.</​font> ​ |
 +|  pfx_pass ​ |<font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​Llave publica usada para abrir el PFX.</​font>​ |
 +|  UUID  |<font 14px/​arial;;​rgb(51,​ 51, 51) font-family:​ arial; font-size: 14px;;;#​ffffff>​Identificador único del CFDI timbrado. Nota: es el único parámetro que se regresa en mayúsculas.</​font>​ |
 +|  pfx_pem ​ |<font 14px/​arial;;#​000000;;#​ffffff>​Archivo resultante de convertir el certificado (.cer) y la llave (.key) a PEM. Para generar este archivo puede consultar el documento “Manual de Generación del PFX” ofrecido por iTimbre.</​font>​ |
 +|  RFC  |RFC<​font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​del emisor del CFDI. Nota: es el único parámetro que debe estar en mayúsculas.</​font>​ |
 +
 +**Ejemplo de codificación de respuesta en formato JSON (Un solo folio) para retenciones y pagos**:
 +
 +<file JSON llamada-001cancelacion.json>​
 + "​​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"​​
 +   }
 + ​]
 + }
 +  }       }
 + ​} ​  }
 +</​file>​
 +
 +===== Consulta CFDI. =====
 +
 +===== Llamado =====
 +
 +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:
 +
 +**Parametros:​**
 +
 +^  PARÁMETRO ​ ^  DESCRIPCIÓN ​ |
 +|  id  |Identificador de referencia asignado por el cliente. Este parámetro no es requerido por el Web Service de iTimbre, sino que tiene como propósito ser utilizado por el cliente como método de control para asegurarse de recibir la respuesta solicitada. Se recomienda utilizar el número de folio interno del XML. |
 +|  method ​ |Nombre del método para cancelar un cfdi es: **consultaCFDI** ​  |
 +|  params ​ |Debe contener un arreglo con los parámetros:​ user, pass, status_sat, RFC, rfcReceptor y folios,​client. |
 +|  user  |Usuario del Portal de iTimbre con el que se ingresa al sistema (correo electrónico con el que se registró). |
 +|  pass  |Contraseña generada por iTimbre al momento de registrar al emisor. |
 +|  RFC  |RFCdel emisor del CFDI. Nota: es el único parámetro que debe estar en mayúsculas. |
 +|  rfcReceptor ​ |RFCdel receptor del CFDI. |
 +|  UUID  |<font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​Identificador único del CFDI timbrado. Nota: es el único parámetro que se regresa en mayúsculas.</​font>​ |
 +
 +**Ejemplo de codificación de llamado para consultar un CFDI**:
 +=====   =====
 +
 +<file JSON llamada-consultarCFDI.json>​
 +{
 +    "​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>​
 +</​file>​
 +
 +===== Verificar estatus de retencion. =====
 +
 +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:
 +
 +^  PARÁMETRO ​ ^  DESCRIPCIÓN ​ |
 +|  id  |Identificador de referencia asignado por el cliente. Este parámetro no es requerido por el Web Service de iTimbre, sino que tiene como propósito ser utilizado por el cliente como método de control para asegurarse de recibir la respuesta solicitada. Se recomienda utilizar el número de folio interno del XML. |
 +|  method ​ |Nombre del método para cancelar un cfdi es: **verificarEstatusRetencion.** ​  |
 +|  params ​ |Debe contener un arreglo con los parámetros:​ user, pass, status_sat, RFC, rfcReceptor y folios,​client. |
 +|  user  |Usuario del Portal de iTimbre con el que se ingresa al sistema (correo electrónico con el que se registró). |
 +|  pass  |Contraseña generada por iTimbre al momento de registrar al emisor. |
 +|  RFC  |RFCdel emisor del CFDI. Nota: es el único parámetro que debe estar en mayúsculas. |
 +|  folios ​ |Arreglo que contiene la lista de folios (UUID) a cancelar. El número máximo es de 500 y todos los folios deben pertenecer al mismo emisor y haber sido generados con el mismo CSD que se proporciona en el archivo PFX. |
 +
 +**Ejemplo de codificación de llamado en formato JSON para recuperar acuse de cancelación de retenciones y pagos**:
 +
 +<file JSON llamada-0001cancelacion.json>​
 +{
 +    "​id":​1001,​
 +    "​method":"​verificarEstatusRetencion",​
 +    "​params":​ {
 +        "​user":"​miemail@midominio.com",​
 +        "​pass":"​cabb17fb8536180e11af6dff0da42132",​
 +        "​RFC":"​EEM010101XYZ",​
 +        "​folio_seguimiento":"​005",​
 +
 +    }
 +}
 +</​file>​
 +
 +==== Respuesta ====
 +
 +^  PARÁMETROS ​ ^  DESCRIPCIÓN ​ |
 +|  id  |El mismo id que fue enviado en el llamado. |
 +|  result ​ |Un arreglo dentro del cual se encuentran el resto de los parámetros que se describen abajo. |
 +|  retcode ​ |Código de retorno, si es 1, la repuesta es exitosa. Si es diferente de 1, el número es el código de error. Nota: aunque el valor de retcode sea 1, la solicitud de cancelación no se debe considerar como satisfactoria. Debido a que en el llamado se puede solicitar cancelar más de un CFDI, algunos podrían cancelarse exitosamente mientras que otros no. Es por eso que se debe revisar el parámetro folios, el cual contiene la lista de folios que se solicitaron cancelar con su respectivo código de respuesta. \\   \\ El parametro redcode para **retenciones y pagos** tiene un significado distinto: \\ Si es 1 –> La cancelación ha sido exitosa y el acuse se regresa en el parámetro **acuse_cancelacion** \\ ​Si la respuesta es 2 –> Significa que se activo la cancelación asincrona,​entonces se regresa un folio de seguimiento en la variable **folio_seguimiento**. \\ Si es -1 –>​Entonces hubo un error genérico y la descripción se reflejara en la variable error. Cualquier otro valor en el retcode será uno de los códigos del catalogo. |
 +|  acuse  |Acuse del SAT en caso de que retcode sea 1 y que dentro del arreglo folios haya al menos un UUID cancelado. |
 +|  acuse_cancelacion ​ |Parámetro de retenciones y pagos , donde regresa el acuse del SAT cuando es exitosa. |
 +|  fecha  |Fecha en que el SAT cancela el CFDI, en caso de existir acuse. |
 +|  signature ​ |Firma del acuse del SAT, en caso de existir. Esta firma es parte del acuse, pero aquí se proporciona por separado por simplificación. |
 +|  error  |En caso de existir, descripción del error. NOTA: es importante que no exista ningún error para considerar que la cancelación fue exitosa. |
 +|  folios ​ |Arreglo que contiene la lista de folios que se enviaron a cancelar y su correspondiente estatus. |
 +|  folio_seguimiento ​ |Parámetro de retenciones y pagos, este parametro se regresa cuando se activa la cancelación asincrona brindando un folio de seguimiento. |
 +
 +Ejemplo del manejo de los folios:
 +
 +<code PHP>
 +$primer_folio = $folios[0] -> UUID;
 +$estatus_primer_folio = $folios[0] -> status;
 +$segundo_folio = $folios[1] -> UUID;
 +$estatus_segundo_folio = $folios[1] -> status;
 +</​code>​
 +
 +===   ===
 +
 +**Estatus del CFDI.**
 +
 +|**Descripcion del código** ​  ​|**Código** ​  ​|**Observaciones** ​  |
 +|Existen cfdi relacionados al folio fiscal |2000 |Este código de respuesta se presentará cuando la petición de consulta encuentre documentos relacionados al UUID consultado. |
 +|No Existen cfdi relacionados al folio fiscal |2001 |Este código de respuesta se presentará cuando el UUID consultado no contenga documentos relacionados a él. |
 +|El folio fiscal no pertenece al receptor. |2002 |Este código de respuesta se presentará cuando el RFC del receptor no corresponda al UUID consultado. |
 +|No existen peticiones para el RFC Receptor |1101 |Este código se regresa cuando la consulta se realizó de manera exitosa, pero no se encontraron solicitudes de cancelación para el rfc receptor |
 +
 +**Ejemplos.**
 +
 +=== Códigos de Respuesta de Estatus UUID ( Para retenciones y pagos) ===
 +
 +^  Código ​ ^  Validación ​ |
 +|  1201  |UUID Cancelado. |
 +|  1202  |UUID Previamente cancelado. |
 +|  1203  |UUID no corresponde con el emisor. |
 +|  1205  |UUID no existe. |
 +
 +=== Códigos de Respuesta a nivel petición (Para retenciones y pagos) ===
 +
 +^  Código ​ ^  Validación ​ |
 +|  1300  |Autenticación no valida. |
 +|  1301  |XML mal formado. |
 +|  1302  |Estructura de folios no válida. |
 +|  1303  |Estructura de RFC no válida. |
 +|  1304  |Estructura de fecha no válida. |
 +|  1305  |Certificado no correspondiente al emisor. |
 +|  1306  |Certificado no vigente. |
 +|  1307  |Uso de la FIEL no permitido. |
 +|  1308  |Certificado revocado o caduco. |
 +|  1309  |Firma mal formada o invalida. |
 +
 +===== Búsqueda de CFDI =====
 +
 +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.
 +
 +==== Método ====
 +
 +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|https://​portalws.itimbre.com/​itimbre/​itimbre.php]]
 +
 +==== Parámetros ====
 +
 +Los parámetros a la llamada al Web Service son estructurados de la siguiente manera:
 +
 +^  PARÁMETROS ​ ^  DESCRIPCIÓN ​ |
 +|  method ​ |Método que será llamado al Web Service para realizar la búsqueda (buscarCFDI). |
 +|  params ​ |Debe contener un arreglo con los parámetros:​ user, pass, RFC, etc. |
 +|  user  |Usuario del Portal de iTimbre con el que se ingresa al sistema (correo electrónico con el que se registró). |
 +|  pass  |Contraseña generada por iTimbre al momento de registrar al emisor. |
 +|  RFC  |RFC del emisor del CFDI. Nota: **es el único parámetro que debe estar en mayúsculas.** ​  |
 +|  UUID  |<font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​Identificador único del CFDI timbrado. Nota: es el único parámetro que se regresa en mayúsculas.</​font>​ |
 +|  ID  |<font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​Identificador de referencia asignado por el cliente. Este parámetro no es requerido por el Web Service de iTimbre, sino que tiene como propósito ser utilizado por el cliente como método de control para asegurarse de recibir la respuesta solicitada. Se recomienda utilizar el número de folio interno del XML.</​font>​ **Por defecto se asignará 0** <font 14px/​arial;;​rgb(51,​ 51, 51) font-size: 14px;;;#​ffffff>​.</​font> ​ |
 +
 +==== Llamado ====
 +
 +Cuando se realice el llamado al Web Service, es necesario seguir el siguiente lineamiento en el JSON CALL.
 +
 +<file JSON busqueda.json>​
 +{
 +    “method” :​“buscarCFDI”,​
 +    “params” : {
 +        “user” : “usuario”,​
 +        “pass” : “contraseña”,​
 +        “RFC” : “RFC”,
 +        “id” : “string”,​
 +        “UUID” : “string”
 +    }
 +}
 +</​file>​
 +
 +==== Respuesta ====
 +
 +^  PARÁMETROS ​ ^  DESCRIPCIÓN ​ |
 +|  retcode ​ |Código de retorno, si es 1, la repuesta es el xml buscado. Si es diferente de 1, no se encontró el CFDI. |
 +|  data  |Xml timbrado, si fue encontrado, o mensaje de error, si no fue encontrado. |
 +
 +La respuesta arrojada por el Web Service será la siguiente:
 +
 +Respuesta exitosa, búsqueda encontrada:
 +
 +<code JSON>
 +{
 +   ​“data” :“xml”,
 +   ​“retcode” : 1
 +}
 +</​code>​
 +
 +Respuesta errónea, CFDI no encontrado:
 +
 +<code JSON>
 +{
 +   ​“retcode” :dif 1 ,
 +   ​“data” :​“notfound”
 +}
 +</​code>​
 +
 +==== Al utilizar el método buscarCFDI recibirán estas nuevas variables : ====
 +
 +=== *consulta_sat ===
 +
 +^  CÓDIGO ​ ^  MENSAJE DE RESPUESTA ​ |
 +|  1  |Si el valor es 1 significa que hubo éxito al conectarse con el SAT y que el SAT ya tiene el CFDI. |
 +|  602  |Si el valor es 602 significa que hubo éxito al conectarse con el SAT pero el SAT todavía no tiene el CFDI. |
 +|  603  |Si el valor es 603 significa que hubo éxito al conectarse con el SAT pero hubo un error en los datos. |
 +|  -1  |Si el valor es -1 significa que no se pudo establecer una conexión con el servicio del SAT o hubo una falla en su servicio. |
 +
 +=== *acuse_consulta_sat ===
 +
 +^  CÓDIGO ​ ^  MENSAJE DE RESPUESTA ​ |
 +|  1  |Acuse de consulta con el SAT. Esta variable solo aparece cuando consulta_sat es 1. |
 +
 +=== *error_consulta_sat ===
 +
 +^  CÓDIGO ​ ^  MENSAJE DE RESPUESTA ​ |
 +|  |<font 13px line-height:​ normal;/​arial,​ sans-serif;;#​000000;;#​ffffff>​Detalles del error en la consulta. Esta variable solo aparece cuando consulta_sat NO es 1.</​font>​ |
 +
 +===== Reporte de CFDI =====
 +
 +Esta función permite realizar un conteo en el Web Service de los timbres emitidos en determinado lapso de tiempo por los emisores.
 +
 +==== Métodos ====
 +
 +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.
 +
 +El llamado al Web Service se realiza por medio de este URL:
 +
 +[[https://​portalws.itimbre.com/​itimbre.php|https://​portalws.itimbre.com/​itimbre.php]]
 +
 +==== Parámetros ====
 +
 +Los parámetros a la llamada al Web Service son estructurados de la siguiente manera:
 +
 +^  PARÁMETROS ​ ^  DESCRIPCIÓN ​ |
 +|  method ​ |Método que será llamado al Web Service para realizar el conteo de los folios emitidos en determinado lapso de tiempo (reporte). |
 +|  params ​ |Debe contener un arreglo con los parámetros:​ user, pass, RFC, etc. |
 +|  user  |Usuario del Portal de iTimbre con el que se ingresa al sistema (correo electrónico con el que se registró). |
 +|  pass  |Contraseña generada por iTimbre al momento de registrar al emisor. |
 +|  RFC  |RFC del emisor del CFDI. Nota: es el único parámetro que debe estar en mayúsculas. (Es opcional ingresarlo) |
 +|  fecha_inicio ​ |La fecha de inicio mandara la instrucción al Web service para establecer a partir de qué fecha desea iniciar el conteo de los timbres emitidos. El formato de la fecha debe ser AAAA-MM-DD. |
 +|  fecha_final ​ |La fecha final mandara la instrucción al Web Service para establecer el final del conteo. El formato de la fecha debe ser AAAA-MM-DD. |
 +
 +==== Llamada ====
 +
 +Cuando se realice el llamado al Web Service, es necesario seguir el siguiente lineamiento en el JSON CALL.
 +
 +<file JSON busqueda.json>​
 +{
 +    "​method":"​reporte",​
 +    "​params":​ {
 +        "​user":"​mi usuario",​
 +        "​pass":"​mi password",​
 +        "​RFC":"​RFC Opcional",​
 +        "​fecha_inicio":"​2014-01-01",​
 +        "​fecha_final":"​2014-06-30"​
 +    }
 +}
 +</​file>​
 +
 +==== Respuesta ====
 +
 +^  PARÁMETROS ​ ^  DESCRIPCIÓN ​ |
 +|  id  |Identificador de la operación. |
 +|  result ​ |Arreglo que contiene el //retcode// y //​data//​. ​ |
 +|  retcode ​ |Código de respuesta recibido por el servicio. |
 +|  data  |Arreglo contiene cada uno de los RFC registrados y los totales correspondientes. |
 +|  total  |Cantidad de timbres consumidos por cada RFC. |
 +|  error  |Redacción del error en caso de existir. |
 +
 +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.
 +
 +<file JSON respuesta-reporte.json>​
 +{
 +    "​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
 +            }
 +        }
 +    }
 +}
 +</​file>​
 +
 +Respuesta errónea, CFDI no encontrado:
 +
 +<file JSON error-reporte.json>​
 +{
 +    "​id":​0,​
 +    "​result":​ {
 +        "​retcode":​-1,​
 +        "​error":"​No se encontraron registros con la informacion recibida."​
 +    }
 +}
 +</​file>​
 +
 +===== Reporte detallado de CFDI =====
 +
 +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.
 +==== Métodos ====
 +
 +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.
 +
 +El llamado al Web Service se realiza por medio de este URL:
 +
 +[[https://​portalws.itimbre.com/​itimbre.php|https://​portalws.itimbre.com/​itimbre.php]]
 +
 +==== Parámetros ====
 +
 +Los parámetros a la llamada al Web Service son estructurados de la siguiente manera:
 +
 +^  PARÁMETROS ​ ^  DESCRIPCIÓN ​ |
 +|  method ​ |Método que será llamado al Web Service para realizar el conteo de los folios emitidos en determinado lapso de tiempo (reporte_detallado). |
 +|  params ​ |Debe contener un arreglo con los parámetros:​ user, pass, RFC, etc. |
 +|  user  |Usuario del Portal de iTimbre con el que se ingresa al sistema (correo electrónico con el que se registró). |
 +|  pass  |Contraseña generada por iTimbre al momento de registrar al emisor. |
 +|  RFC  |RFC del emisor del CFDI. Nota: es el único parámetro que debe estar en mayúsculas. (Es **requerido** ingresarlo) ​ |
 +|  fecha_inicio ​ |La fecha de inicio mandara la instrucción al Web service para establecer a partir de qué fecha desea iniciar el conteo de los timbres emitidos. El formato de la fecha debe ser AAAA-MM-DD. |
 +|  fecha_final ​ |La fecha final mandara la instrucción al Web Service para establecer el final del conteo. El formato de la fecha debe ser AAAA-MM-DD. |
 +
 +==== Llamado ====
 +
 +Cuando se realice el llamado al Web Service, es necesario seguir el siguiente lineamiento en el JSON CALL.
 +
 +<file JSON reporte-detallado.json>​
 + {
 +     "​method":"​reporte_detallado",​
 +     "​params": ​ {
 +         "​user":"​mi usuario",​
 +         "​pass":"​mi password",​
 +         "​RFC":"​RFC Obligatorio",​
 +         "​fecha_inicio":"​2014-01-01",​
 +         "​fecha_final":"​2014-02-28"​
 +     }
 +}
 +</​file>​
 +
 +==== Respuesta iTimbre ====
 +
 +^  PARÁMETROS ​ ^  DESCRIPCIÓN ​ |
 +|  id  |Identificador de la operación. |
 +|  result ​ |Arreglo que contiene el //retcode// y //​data//​. ​ |
 +|  retcode ​ |Código de respuesta recibido por el servicio. |
 +|  data  |Arreglo contiene la información de los CFDIs que corresponden a la bósquda. |
 +|  uuid  |  |
 +|  folio_interno ​ |Si fue especificada al timbrar se mostrará el folio interno del CFDI. |
 +|  fecha_timbrado ​ |Fecha en la que fue certificado el CFDI. |
 +|  error  |Redacción del error en caso de existir. |
 +
 +**Respuesta exitosa, búsqueda encontrada es en un formato JSON ordenado por UUID, folio interno y la fecha de timbrado**:
 +
 +<file JSON respuesta-reporte-detallado.json>​
 +{
 +    "​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"​
 +        }
 +        ]
 +    }
 +}
 +</​file>​
 +
 +**Respuesta errónea, CFDI no encontrado**:​
 +
 +<file JSON error-reporte-detallado.json>​
 +{
 +    "​id":​0,"​result":​ {
 +        "​retcode":​-1,​
 +        "​error":"​No se encontraron registros con la informacion recibida."​
 +    }
 +}
 +</​file>​
 +
 +====== Cancelación Masiva ======
 +
 +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|http://​portalws.itimbre.com/​cancelacion_masiva.php]]
 +
 +==== Paso 1 ====
 +
 +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**.//
 +
 +{{:​subircsv01.jpg?​nolink&​}}
 +
 +==== Paso 2 ====
 +
 +Es necesario ingresar :
 +
 +  * Usuario
 +  * Contraseña
 +  * RFC
 +
 +Dichos parámetros son los que se utilizan para realizar la conexión al Web Service.
 +
 +{{:​userpass.jpg?​nolink&​}}
 +
 +==== Paso 3 ====
 +
 +Es necesario cargar a la aplicación los siguientes archivos del Emisor:
 +
 +  * El certificado CSD (.CER)
 +  * Clave privada (.KEY)
 +  * Ingresar la contraseña ( Es la contraseña con la que se emitieron los Sellos Digitales ante el SAT)
 +
 +{{:​subircerkeycont.jpg?​nolink&​}}
 +
 +==== Paso 4 ====
 +
 +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.//
 +
 +{{:​cancelarcfdi2014.jpg?​nolink&​}}
 +
 +===== Recuperar PDF =====
 +
 +===== Llamado =====
 +
 +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:
 +
 +==== Parámetros. ====
 +
 +^  PARÁMETRO ​ ^  DESCRIPCIÓN ​ |
 +|  id  |Identificador de referencia asignado por el cliente. Este parámetro no es requerido por el Web Service de iTimbre, sino que tiene como propósito ser utilizado por el cliente como método de control para asegurarse de recibir la respuesta solicitada. Se recomienda utilizar el número de folio interno del XML. |
 +|  folio  |Folio de control del emisor |
 +|  user  |Usuario del Portal de iTimbre con el que se ingresa al sistema (correo electrónico con el que se registró). |
 +|  method ​ |Este parámetro consiste en el tipo de petición solicitado para generar el CFDI. Los valores posibles se encuentran en el catálogo de métodos. |
 +|  cuenta ​ |Parametro para validar el tipo de cliente, y la cuenta en la que se recuperará el archivo PDF |
 +|  password ​ |Contraseña generada por iTimbre al momento de registrar al emisor. |
 +
 +**Ejemplo Recuperar PDF**
 +
 +<file JSON RecuperarPDF.json>​
 +{
 + "​id_transaccion":​ 0,
 + "​cuenta":​ "​Demo",​
 + "​user":​ "​administrador",​
 + "​password":​ "​Administr4dor",​
 + "​method":​ "​recuperar",​
 + "​folio":​ "​NumeroFolio",​
 + "​allowCancelled":​ true
 +}
 +</​file>​
  
 \\ \\
  
web-service.1590707255.txt.gz · Última modificación: 2020/05/28 23:07 por