Saltar al contenido
CFDIX Entrar al panel

API B2B · México

Automatiza la solicitud de facturas. Con control humano donde importa.

Mandas los datos del ticket a la API. CFDIX averigua dónde y cómo factura ese comercio, hace la solicitud y te devuelve el XML y el PDF ya comprobados. Si algo se atora, lo ves en el panel con el motivo.

  • Idempotente
  • ULID · UTC
  • Multiempresa
  • Archivos privados

Ejemplo de petición y respuesta

solicitud.http v1
POST /api/v1/invoice-requests
Authorization: Bearer cfdix_••••••••
Idempotency-Key: tkt-A88431-2026-08-10
Content-Type: application/json

{
  "ticket": {
    "ticket_number": "A-88431",
    "purchase_total": { "amount": "1234.50", "currency": "MXN" },
    "purchased_at": "2026-08-10T18:24:00Z",
    "merchant_rfc": "XAXX010101000"
  },
  "recipient": {
    "rfc": "XAXX010101000",
    "legal_name": "MI EMPRESA SA DE CV",
    "fiscal_regime_code": "601",
    "postal_code": "66350",
    "cfdi_use_code": "G03"
  }
}
202 Accepted
Location: /api/v1/invoice-requests/01J5M4T7Y9K2QW3E4R5T6Y7U8I
X-Correlation-ID: 01J5M4T7Y9K2QW3E4R5T6Y7U8I

{
  "data": {
    "id": "01J5M4T7Y9K2QW3E4R5T6Y7U8I",
    "status": "RECEIVED",
    "ticket_number": "A-88431",
    "created_at": "2026-08-10T18:24:03Z"
  }
}

CFDIX responde de inmediato y sigue trabajando en segundo plano. Que acepte la solicitud no quiere decir que ya esté facturada.

01 / QUÉ HACE

Hoy alguien abre el portal de cada comercio y captura los datos a mano.

CFDIX es una plataforma B2B y API-first que automatiza solicitudes de facturación en México a partir de los datos de un ticket. Un mismo comercio puede tener varias sucursales y más de un portal de facturación, así que CFDIX los guarda por separado: cuando revisas una solicitud, ves exactamente por qué se fue por una ruta y no por otra.

02 / INTEGRACIÓN

Lo que necesitas saber para conectarte

Si repites la misma petición no se crea una solicitud duplicada. Y como facturar toma tiempo, CFDIX contesta de inmediato y te avisa después. El contrato completo está en OpenAPI 3.1.

Encabezados

Authorization
La credencial de tu aplicación. Cada una trae sus propios permisos.
Idempotency-Key
Obligatorio al crear. Tú eliges el valor; sirve para que un reintento no genere una segunda solicitud.
X-Correlation-ID
Opcional. Si no lo mandas, CFDIX lo genera y te lo devuelve.

Respuestas

202
Recibida. CFDIX empieza a trabajar en ella.
200
Ya la habías mandado. Te devuelve la misma, sin duplicarla.
409
Reutilizaste la clave con datos distintos.
429
Demasiadas peticiones seguidas. Espera y reintenta.

Errores

{
  "error": {
    "code": "IDEMPOTENCY_CONFLICT",
    "message": "…",
    "retryable": false,
    "correlation_id": "…"
  }
}

Todos los errores tienen la misma forma: un código fijo, si vale la pena reintentar y el id para rastrearlo.

Archivos

De cada archivo recuperado sabes su tipo, su tamaño, su sha256 y si pasó la revisión.

  • XML
  • PDF
  • EVIDENCE

Se descargan con una petición autenticada. No hay URLs públicas.

03 / ESTADOS

Una solicitud siempre está en uno de estos trece estados

Son los únicos valores que puede devolver el campo status, sin importar el portal. Puedes programar sobre ellos sin adivinar. Cada cambio se guarda con su fecha y su motivo.

  • RECEIVED
  • VALIDATING
  • NEEDS_INFORMATION
  • QUEUED
  • PROCESSING
  • WAITING_EXTERNAL
  • REQUIRES_HUMAN
  • SUCCEEDED
  • FAILED_RETRYABLE
  • FAILED_FINAL
  • REJECTED
  • CANCELED
  • EXPIRED

Entrada Proceso Éxito Cierre

04 / FLUJO

De un ticket a una factura, en cuatro pasos

Si el portal pide algo que CFDIX no debe resolver solo, la solicitud pasa a una persona en vez de seguir adivinando.

  1. 01

    Recibir

    Tu sistema manda los datos del ticket a la API.

  2. 02

    Resolver

    CFDIX busca de qué comercio y sucursal es, y por dónde se factura.

  3. 03

    Solicitar

    Hace la solicitud por el portal autorizado y guarda con qué versión la hizo.

  4. 04

    Revisar

    Comprueba el XML y el PDF antes de darla por buena.

05 / SEGURIDAD

Cinco cosas que puedes comprobar tú

No hace falta que nos creas: todas dejan rastro o se verifican desde tu lado.

Todo queda registrado

Cada solicitud guarda por qué estados pasó, cuándo, y con qué versión de la automatización se ejecutó.

Cada empresa ve lo suyo

Solicitudes, archivos y credenciales quedan dentro de la empresa a la que pertenecen.

No rompemos CAPTCHA ni OTP

Si el portal pide un código, un inicio de sesión o contesta algo ambiguo, la solicitud se detiene y la retoma una persona.

Descargar no es facturar

Antes de dar una solicitud por exitosa, CFDIX comprueba que el archivo sea lo que dice ser.

Los avisos vienen firmados

Cada webhook lleva una firma HMAC-SHA256 y su hora, para que confirmes que salió de CFDIX.

QUÉ SÍ HACE

Pide la factura por ti y revisa lo que llega.

Recibe los datos del ticket, averigua por dónde se factura ese comercio, hace la solicitud, baja el XML y el PDF, y comprueba que sean válidos antes de darla por buena.

QUÉ NO HACE

CFDIX no es un PAC y no timbra CFDI.

No emite comprobantes. No rompe CAPTCHA, códigos de un solo uso ni inicios de sesión. Y que un archivo pase nuestra revisión técnica no significa que sea válido ante el SAT.

06 / PREGUNTAS

Preguntas frecuentes

Lo que suelen preguntar antes de integrarse.

¿CFDIX es un PAC o emite CFDI?

No. CFDIX pide la factura en el portal del comercio y revisa los archivos que llegan. Quien la emite y la timbra sigue siendo el comercio con su PAC.

¿Tengo que mandarle la foto del ticket?

No. Le mandas los datos ya leídos: folio, total, fecha y de qué comercio es. Si necesitas sacarlos de una foto, eso lo hace tu aplicación antes de llamarnos.

¿Qué pasa si el portal pide CAPTCHA, un código o iniciar sesión?

CFDIX no intenta saltárselos. La solicitud se detiene, queda marcada y la retoma una persona autorizada, con el registro de lo que se hizo.

¿Qué pasa si mando la misma solicitud dos veces?

No se duplica. Al crear mandas un encabezado Idempotency-Key con un valor que tú eliges; si repites la petición con esa clave y los mismos datos, te devolvemos la solicitud que ya existía. Si reutilizas la clave con datos distintos, te avisamos del conflicto en vez de crear otra.

¿Cómo sigo una solicitud desde que la mando hasta que termina?

Cada solicitud tiene un id propio y un id de rastreo que viaja con ella por todo el proceso. Puedes consultarla cuando quieras, o recibir un aviso por webhook. Los cambios de estado quedan guardados con su fecha y su motivo.

¿Cómo obtengo el XML y el PDF?

Los consultas como archivos de la solicitud. De cada uno sabes el tipo, el tamaño, su hash SHA-256 y si pasó la revisión. Se descargan con una petición autenticada; no quedan en URLs públicas.

EL PANEL

Cada solicitud, con su estado, su historial y sus archivos.

Acceder a CFDIX