CFDI 4.0 SAT · Especificación Técnica Oficial

Guía de Integración APEX Factura

Bienvenido a la documentación oficial de la API de APEX Factura (Grupo APEX). Nuestra infraestructura RESTful permite a desarrolladores, ERPs y sistemas comerciales emitir, timbrar, almacenar y cancelar comprobantes fiscales digitales de manera ultrarrápida y automatizada.

1. Introducción

Todas las peticiones a la API se envían a través de HTTPS con payloads en formato JSON. Las respuestas exitosas devuelven códigos de estado HTTP 200 OK o 201 Created con el UUID timbrado por el SAT y los enlaces para recuperar el XML y PDF correspondientes.

URL Base: https://factura.apex-grupo.com/api/v1

2. Autenticación

Cada empresa o cuenta recibe una API Key única generada al contratar un paquete o darse de alta en Sandbox. Todas las peticiones deben incluir la cabecera Authorization con el esquema Bearer, o la cabecera X-API-Key:

Cabeceras HTTP Requeridas
Authorization: Bearer apex_live_9a8b7c6d5e4f3a2b1c0d...
Content-Type: application/json
Accept: application/json

3. Ambiente Sandbox para Pruebas

Para probar tus desarrollos sin consumir timbres fiscales reales ni generar efectos contables, utiliza nuestro entorno de pruebas.

Datos Oficiales para Pruebas Sandbox SAT

RFC Emisor de Prueba: EKU9003173C9
Razón Social: ESCRUELA KEMPER URGATE
Régimen Fiscal: 601 (General de Ley Personas Morales)
Código Postal Fiscal: 26015

4. Emisión de Factura CFDI 4.0

POST /api/v1/cfdi/emitir

Permite emitir una factura electrónica estándar tipo Ingreso (Factura, Recibo de Honorarios o Arrendamiento).

Payload JSON de Ejemplo
{
  "serie": "F",
  "folio": "1280",
  "forma_pago": "03", // 03: Transferencia electrónica
  "metodo_pago": "PUE", // PUE: Pago en una sola exhibición
  "moneda": "MXN",
  "receptor": {
    "rfc": "XAXX010101000",
    "nombre": "PÚBLICO EN GENERAL",
    "domicilio_fiscal_receptor": "06000",
    "regimen_fiscal_receptor": "616",
    "uso_cfdi": "S01"
  },
  "conceptos": [
    {
      "clave_sat": "81112000",
      "descripcion": "Licencia de uso software empresarial",
      "clave_unidad": "E48",
      "unidad": "Servicio",
      "cantidad": 1,
      "valor_unitario": 2500.00,
      "objeto_impuesto": "02",
      "impuestos": {
        "traslados": [
          { "impuesto": "002", "tipo_factor": "Tasa", "tasa_o_cuota": 0.160000 }
        ]
      }
    }
  ]
}

Respuesta del Servidor (200 OK)

Respuesta JSON
{
  "status": "success",
  "data": {
    "uuid": "a3f12b84-7c9d-4e12-8f11-0987654321ab",
    "serie": "F",
    "folio": "1280",
    "fecha_timbrado": "2026-09-14T22:30:00",
    "total": 2900.00,
    "xml_url": "/api/v1/cfdi/a3f12b84-7c9d-4e12-8f11-0987654321ab/xml",
    "pdf_url": "/api/v1/cfdi/a3f12b84-7c9d-4e12-8f11-0987654321ab/pdf"
  }
}

5. Facturas de Contado (PUE) vs Crédito (PPD)

Tipo de Operación metodo_pago forma_pago Requiere Complemento Posterior
Contado / Liquidado PUE 01 (Efectivo), 03 (Transferencia), 04 (Tarjeta) No
Crédito / En parcialidades PPD 99 (Por definir) Sí (Al recibir cada pago se emite REP 2.0)

6. Complemento de Recepción de Pagos (REP 2.0)

POST /api/v1/cfdi/pagos/emitir

Utilizado para registrar la recepción de fondos correspondientes a una factura previamente emitida con método de pago PPD.

Payload JSON de Pago
{
  "receptor": { "rfc": "XAXX010101000", "nombre": "CLIENTE DEMO SA DE CV" },
  "pagos": [
    {
      "fecha_pago": "2026-09-14T10:00:00",
      "forma_pago": "03",
      "monto": 1500.00,
      "doctos_relacionados": [
        {
          "id_documento": "a3f12b84-7c9d-4e12-8f11-0987654321ab",
          "num_parcialidad": 1,
          "imp_saldo_ant": 2900.00,
          "imp_pagado": 1500.00,
          "imp_saldo_insoluto": 1400.00
        }
      ]
    }
  ]
}

7. Cancelación Oficial de CFDI 4.0 ante el SAT

POST /api/v1/cfdi/cancelar

De acuerdo con la Resolución Miscelánea Fiscal vigente, toda cancelación debe especificar uno de los 4 motivos oficiales autorizados por el SAT:

Motivo Descripción Requiere UUID Sustitución
01 Comprobante emitido con errores con relación Sí (Se debe emitir primero la factura correcta)
02 Comprobante emitido con errores sin relación No
03 No se llevó a cabo la operación No
04 Operación nominativa relacionada en una factura global No
Payload JSON de Cancelación
{
  "uuid": "a3f12b84-7c9d-4e12-8f11-0987654321ab",
  "motivo": "02"
}

8. Descarga de XML y PDF Oficiales

Una vez timbrado cualquier CFDI, puedes recuperar sus archivos digitales en cualquier momento:

  • XML sellado por el SAT: GET /api/v1/cfdi/{uuid}/xml
  • PDF con representación impresa y QR: GET /api/v1/cfdi/{uuid}/pdf

¿Necesitas soporte técnico o volumen empresarial?

Nuestro equipo de ingenieros de integración está disponible para asesorarte de manera personalizada en la conexión de tu software.

Contactar a Soporte por WhatsApp →