Herramientas de usuario

Herramientas del sitio


web-service

¡Esta es una revisión vieja del documento!


Web Service Timbrado

Introducción

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.

Servicio

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.

Registro

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.

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:

  • 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.
  • RFC del emisor.
  • Contraseña del emisor. La contraseña generada al registrar al emisor en el sistema, como se mostró anteriormente. Nota: no confundir con la contraseña utilizada para acceder al Portal de iTimbre.
  • Método. El método es la función a realizar. Actualmente se cuenta con los siguientes métodos:
    • cfd2cfdi → método que se utiliza para validar y timbrar un CFDI.
    • cancelarCFDI →método utilizado para cancelar un CFDI.
    • buscarCFDI → método utilizado para buscar un CFDI.
    • Parámetros. Los parámetros son datos adicionales que deben enviarse y dependen del método utilizado, los cuales se describen más adelante.

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.

Timbrado de CFDI 3.3

Las siguientes validaciones se realizan al XML:

  • La estructura del XML cumple con las especificaciones del SAT.
  • El Certificado de Sello Digital (CSD) del emisor haya sido emitido por el SAT.
  • El CSD esté vigente en la fecha de generación del Comprobante.
  • El Comprobante no haya sido validado previamente.
  • Que el RFC y número de certificado se encuentren en las lista de contribuyentes del SAT.
  • El periodo de tiempo entre la fecha de expedición del documento y la fecha en la que se pretende certificar no exceda de 72 horas.
  • El CSD con el que se sello el documento corresponda al contribuyente que aparece como emisor del CFDI y que el sello digital corresponda al documento enviado.
  • Que el documento cumpla con la especificación Técnica del Anexo 20 en sus apartados II y III.

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:

  • El número de folio fiscal asignado.
  • Fecha y hora de Validación.
  • El número de serie del certificado del SAT con el que se realizó la validación.
  • El sello digital del Timbre Fiscal Digital.

Llamado

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:

Parámetros de la llamada

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. Por defecto se asignará 0.
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.
params Debe contener un arreglo con los parámetros: user, pass, RFC, y xmldata.
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 asignada al emisor de manera automática. Se puede utilizar la contraseña máster del administrador de los emisores para cualquier RFC.
RFC RFC del emisor del CFDI. Nota: es el único parámetro que debe estar en mayúsculas.
xmldata Contenido del XML con la información del comprobante.

Ejemplos

Ejemplo de codificación del llamado en formato JSON para certificación de CFDI v3.2:

llamado-nomina.json
{
    "id":"101",
    "method":"cfd2cfdi",
    "params": {
        "user":"miemail@midominio.com",
        "pass":"cabb17fb8536180e11af6dff0da42132",
        "RFC":"EEM010101XYZ",
        "xmldata":"<cfdi></cfdi>"
    }
}

Respuesta

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.

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.
UUID Identificador único del CFDI timbrado. Nota: es el único parámetro que se regresa en mayúsculas.
data XML timbrado.
acuse Acuse que proporciona el SAT como comprobante de que el CFDI fue recibido satisfactoriamente. Nota: este parámetro pudiera no ser regresado si el servicio de recepción del SAT no se encuentre disponible en el momento de la llamada.
error En caso de existir, una descripción del error regresado al intentar validar el XML.
Otros Otros parámetros en caso de que se ocupen como referencia, por ejemplo el usuario que hizo el llamado, o algún timestamp.

Ejemplos

Ejemplo de respuesta válida arrojada por el Web Service:

respuesta.json
{
    "id":"101",
    "result": {
        "retcode":1,
        "UUID":"63C2042F-FAF0-48A0-A9AF-0304813D2528",
        "data":"<cfdi></cfdi>",
        "acuse":"<xml></xml>"
    }
}

Ejemplos de errores:

error1.json
{
    "id":0,
    "result":
    {
        "retcode":-1,
        "error":"Variable q faltante."
    }
}
error2.json
{
    "id":0,
    "result":    {
        "retcode":-1,
        "error":"Los datos recibidos no cumplen con el formato JSON correcto."
    }
}

Conexión al Web Service Retenciones y Pagos

Para realizar la conexión con el Web Service de iTimbre 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.
  • RFC del emisor.
  • Contraseña del emisor. La contraseña generada al registrar al emisor en el sistema, como se mostró anteriormente. Nota: no confundir con la contraseña utilizada para acceder al Portal de iTimbre.
  • Método. El método es la función a realizar. Actualmente se cuenta con los siguientes métodos:
    • enviarRetencion → método que se utiliza para validar y timbrar un CFDI.
    • cancelarRetencion →método utilizado para cancelar un CFDI.
    • verificarEstatusRetencion→ Para recibir un acuse utilizando el parametro folio_seguimiento.
  • Parámetros. Los parámetros son datos adicionales que deben enviarse y dependen del método utilizado, los cuales se describen más adelante.

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:http://portalws1.itimbre.com/itimbreprueba.php?q=

Timbrado de Retenciones y Pagos

Las siguientes validaciones se realizan al XML:

  • La estructura del XML cumple con las especificaciones del SAT.
  • El Certificado de Sello Digital (CSD) del emisor haya sido emitido por el SAT.
  • El CSD esté vigente en la fecha de generación del Comprobante.
  • El Comprobante no haya sido validado previamente.
  • Que el RFC y número de certificado se encuentren en las lista de contribuyentes del SAT.
  • El periodo de tiempo entre la fecha de expedición del documento y la fecha en la que se pretende certificar no exceda de 72 horas.
  • El CSD con el que se sello el documento corresponda al contribuyente que aparece como emisor del CFDI y que el sello digital corresponda al documento enviado.

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:

  • El número de folio fiscal asignado.
  • Fecha y hora de Validación.
  • El número de serie del certificado del SAT con el que se realizó la validación.
  • El sello digital del Timbre Fiscal Digital.

Llamado

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:

Parámetros de la llamada

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. Por defecto se asignará 0.
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.
params Debe contener un arreglo con los parámetros: user, pass, RFC, y xmldata.
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 asignada al emisor de manera automática. Se puede utilizar la contraseña máster del administrador de los emisores para cualquier RFC.
RFC RFC del emisor del CFDI. Nota: es el único parámetro que debe estar en mayúsculas.
xmldata Contenido del XML con la información del comprobante.

Ejemplos

Ejemplo de codificación del llamado en formato JSON para certificación de retenciones:

llamado-retenciones.json
{
    "id":"101",
    "method":"enviarRetencion",
    "params": {
        "user":"miemail@midominio.com",
        "pass":"cabb17fb8536180e11af6dff0da42132",
        "RFC":"EEM010101XYZ",
        "xmldata":"<cfdi></cfdi>"
    }
}

Respuesta

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.

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.
UUID Identificador único del CFDI timbrado. Nota: es el único parámetro que se regresa en mayúsculas.
data XML timbrado.
acuse Acuse que proporciona el SAT como comprobante de que el CFDI fue recibido satisfactoriamente. Nota: este parámetro pudiera no ser regresado si el servicio de recepción del SAT no se encuentre disponible en el momento de la llamada.
error En caso de existir, una descripción del error regresado al intentar validar el XML.
Otros Otros parámetros en caso de que se ocupen como referencia, por ejemplo el usuario que hizo el llamado, o algún timestamp.

Ejemplos

Ejemplo de respuesta válida arrojada por el Web Service:

respuesta.json
{
    "id":"101",
    "result": {
        "retcode":1,
        "UUID":"63C2042F-FAF0-48A0-A9AF-0304813D2528",
        "data":"<cfdi></cfdi>",
        "acuse":"<xml></xml>"
    }
}

Ejemplos de errores:

error1.json
{
    "id":0,
    "result":
    {
        "retcode":-1,
        "error":"Variable q faltante."
    }
}
error2.json
{
    "id":0,
    "result":    {
        "retcode":-1,
        "error":"Los datos recibidos no cumplen con el formato JSON correcto."
    }
}

Códigos de Respuesta

Código Validación
1002 El PAC envía versión del estándar no existente.
1004 La estructura del comprobante recibido no es válida.
1006 El Timbre proporcionado ya existe. UUID: <UUID>.
1009 El documento de retenciones no cuenta con los datos mínimos.
1010 Sello de certificación inválido.
1011 Sello del documento de retenciones inválido.
1012 TFD no válido.
1013 Versión del estándar no vigente.
1014 Comprobante con envío extemporáneo por vigencia de versión.
1015 Uso del complemento no vigente.
1016 Uso de complemento no permitido.
1017 Uso del certificado de FIEL no válido.

Nuevo esquema de Cancelación de CFDI 3.3

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.

Flujo del nuevo esquema de cancelación

esquema-de-cancelacion-de-facturas.jpg

Llamado

Los parámetros a ser enviados para realizar la cancelación y verificación de respuesta de aceptación o rechazo del XML Nombre del método para cancelar un cfdi es: cancelarCFDI. 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: cancelarCFDI.
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.
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.


Ejemplos Cancelación.

Ejemplo de codificación de llamado en formato JSON (Un solo folio):

llamada-1cancelacion.json
{
"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.

llamada-Xcancelacion.json
{
    "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"
        ]
    }
}

Respuesta:

Parametros para la respuesta:

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.
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.
UUID Identificador único del CFDI timbrado. Nota: es el único parámetro que se regresa en mayúsculas.

Ejemplo de respuesta válida arrojada por el Web Service (un folio):

respuesta-1cancelacion.json
{
    {
        "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):

respuesta-Xcancelacion.json
{
    "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"
        }
        ]
    }
}

Ejemplos de errores:

error1.json
{
    "id":"1001",
    "result": {
        "retcode":"305",
        "error":"La fecha de emision no esta dentro de la vigencia del CSD del Emisor."
    }
}
error2.json
{
    "id":"1001",
    "result": {
        "retcode":"303",
        "error":"Sello no corresponde a emisor."
    }
}


Valida CFDI:

Llamado

Estos son los parámetros a ser enviados para realizar la Validación del CFDI. Nombre del método para cancelar un cfdi es: validaCFDI. 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 consultar la respuesta de aceptación o rechazo por parte del receptor de la facura es: validaCFDI.
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.
xmldata Contenido del XML con la información del comprobante.

Ejemplo validacion del estatus del cfdi a cancelar en el SAT JSON: (Clientes que utilizan el servicio de facturacion33.itimbre.com)

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/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: (clientes que utilizan el servicio de portalws.timbre.com)

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


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. Nombre del método para revisar los pendientes de un CFDI es: 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

llamado-Pendientes.json
{
    "id":1001,
    "method":"pendientesCFDI",
    "params": {
        "client":"cfdfactura",
        "user":"demo010303ol1",
        "pass":"demo010303ol1",
        "RFC":"AAQM610917QJA",
        "rfcReceptor":"AAQM610917QJA",
        "id_transaccion": 0
    }
}

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 XML timbrado.

Ejemplo de respuesta pendientesCFDI.

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


Procesar respuesta:

Llamado

Los parámetros a ser enviados para procesar respuesta.Nombre del método para procesar respuestas es: 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:

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

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. Nombre del método para cancelar lar retención de un CFDI es: 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:

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",
        ]
    }
}

Respuesta:

Respuesta

PARÁMETROS DESCRIPCIÓN
id El mismo id que fue enviado en el llamado.
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.
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 Un arreglo dentro del cual se encuentran el resto de los parámetros que se describen abajo.
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 asignada al emisor de manera automática. Se puede utilizar la contraseña máster del administrador de los emisores para cualquier RFC.
pfx_pass Llave publica usada para abrir el PFX.
UUID Identificador único del CFDI timbrado. Nota: es el único parámetro que se regresa en mayúsculas.
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.
RFC RFCdel emisor del CFDI. Nota: es el único parámetro que debe estar en mayúsculas.

Ejemplo de codificación de respuesta en formato JSON (Un solo folio) para retenciones y pagos:

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"​
   }
 ​]
 }
  }       }
 }   }

Consulta CFDI.

Llamado

Los parámetros a ser enviados para realizar la consulta de un CFDI Nombre del método para cancelar un cfdi es: 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 Identificador único del CFDI timbrado. Nota: es el único parámetro que se regresa en mayúsculas.

Ejemplo de codificación de llamado para consultar un CFDI:

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>

Verificar estatus de retencion.

Los parámetros a ser enviados para Verificar el estatus de la retención del XML. Nombre del método para cancelar un cfdi es: 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:

llamada-0001cancelacion.json
{
    "id":1001,
    "method":"verificarEstatusRetencion",
    "params": {
        "user":"miemail@midominio.com",
        "pass":"cabb17fb8536180e11af6dff0da42132",
        "RFC":"EEM010101XYZ",
        "folio_seguimiento":"005",
 
    }
}

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:

$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.

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

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 Identificador único del CFDI timbrado. Nota: es el único parámetro que se regresa en mayúsculas.
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. Por defecto se asignará 0 .

Llamado

Cuando se realice el llamado al Web Service, es necesario seguir el siguiente lineamiento en el JSON CALL.

busqueda.json
{
    “method” :“buscarCFDI”,
    “params” : {
        “user” : “usuario”,
        “pass” : “contraseña”,
        “RFC” : “RFC”,
        “id” : “string”,
        “UUID” : “string”
    }
}

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:

{
   “data” :“xml”,
   “retcode” : 1
}

Respuesta errónea, CFDI no encontrado:

{
   “retcode” :dif 1 ,
   “data” :“notfound”
}

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
Detalles del error en la consulta. Esta variable solo aparece cuando consulta_sat NO es 1.

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

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.

busqueda.json
{
    "method":"reporte",
    "params": {
        "user":"mi usuario",
        "pass":"mi password",
        "RFC":"RFC Opcional",
        "fecha_inicio":"2014-01-01",
        "fecha_final":"2014-06-30"
    }
}

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.

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

Respuesta errónea, CFDI no encontrado:

error-reporte.json
{
    "id":0,
    "result": {
        "retcode":-1,
        "error":"No se encontraron registros con la informacion recibida."
    }
}

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

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.

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"
     }
}

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:

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"
        }
        ]
    }
}

Respuesta errónea, CFDI no encontrado:

error-reporte-detallado.json
{
    "id":0,"result": {
        "retcode":-1,
        "error":"No se encontraron registros con la informacion recibida."
    }
}

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

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

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

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

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

Recuperar PDF

Llamado

A continuación los parámetros a ser enviados para hacer recuperación de CFDI en formato PDF. Nombre del método para recuperar los archivos de un CFDI en formato PDF es: 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

RecuperarPDF.json
{
 "id_transaccion": 0,
 "cuenta": "Demo",
 "user": "administrador",
 "password": "Administr4dor",
 "method": "recuperar",
 "folio": "NumeroFolio",
 "allowCancelled": true
}


web-service.1590709778.txt.gz · Última modificación: 2020/05/28 23:49 por