Documentación API REST

Integra facturación electrónica CFDI 4.0 de forma nativa en tu plataforma. Consulta nuestros endpoints y ejemplos de código estandarizados.

Autenticación y Pruebas

ConFactura utiliza tokens Bearer para autenticar las peticiones a la API. Debes incluir este token en la cabecera Authorization de todas tus peticiones.

Entorno de Pruebas (Sandbox)

Todas las peticiones soportan el parámetro modo_prueba. Si envías este valor como true, la API validará la estructura y simulará una respuesta de éxito al instante, sin consumir folios reales ni conectar con el SAT.

Cabeceras HTTP
Authorization: Bearer sk_live_c7d05115b83...
Content-Type: application/json
POST / GET /v1/consultar_saldo

Consultar Saldo

Recupera la cantidad de folios (timbres) disponibles en la cuenta del usuario y su fecha de caducidad.

Ejemplo de Petición
{
    "modo_prueba": true
}
Respuesta Exitosa
{
    "status": "success",
    "modo_prueba": true,
    "data": {
        "timbres_disponibles": 100,
        "fecha_caducidad": "2026-08-08",
        "notas": "Datos simulados para entorno de pruebas."
    }
}
GET / POST /v1/consultar_emisor

Consultar Emisores

Devuelve una lista de todos los emisores registrados en tu cuenta, incluyendo su identificador único (emisor_uuid) que necesitarás para crear facturas, y el estatus de sus sellos digitales.

Respuesta Exitosa
{
    "status": "success",
    "modo_prueba": true,
    "data": [
        {
            "emisor_uuid": "test-uuid-1234-5678-90abcdef",
            "rfc": "EKU9003173C9",
            "razon_social": "ESCUELA KEMPER URGATE",
            "regimen_fiscal": "601",
            "codigo_postal": "11000",
            "correo_contacto": "contacto@kemper.edu.mx",
            "csd_cargado": true
        }
    ]
}
POST /v1/crear_factura

Crear Factura (Timbrar)

Genera, certifica y almacena un CFDI 4.0. Este endpoint procesa los conceptos, aplica los impuestos y devuelve las URLs para descargar el XML, PDF y Código QR de forma instantánea.

  • emisor_uuid string | requerido
  • serie string | requerido
Ejemplo de Petición
{
    "modo_prueba": true,
    "emisor_uuid": "test-uuid-1234-5678-90abcdef",
    "serie": "A",
    "tipo_comprobante": "I",
    "forma_pago": "03",
    "metodo_pago": "PUE",
    "moneda": "MXN",
    "receptor": {
        "rfc": "XAXX010101000",
        "razon_social": "PUBLICO EN GENERAL",
        "regimen_fiscal": "616",
        "codigo_postal": "11000",
        "uso_cfdi": "S01"
    },
    "conceptos": [
        {
            "cantidad": 1,
            "clave_sat": "84111506",
            "descripcion": "Servicios de integración API",
            "unidad": "E48",
            "precio": 1500.00,
            "objeto_imp": "02",
            "impuestos": [
                {
                    "tipo": "traslado",
                    "impuesto": "002",
                    "tasa": 0.16
                }
            ]
        }
    ]
}
Respuesta
{
    "status": "success",
    "modo_prueba": true,
    "message": "Simulación exitosa. No se consumieron folios ni se conectó con el PAC.",
    "data": {
        "uuid": "TEST-EB2430676488-1234-5678",
        "serie": "A",
        "folio": "999",
        "enlaces": {
            "xml": "https://confactura.../ejemplo.xml",
            "pdf": "https://confactura.../ejemplo.pdf",
            "qr": "https://confactura.../ejemplo_qr.png"
        }
    }
}
POST /v1/enviar_factura

Enviar Factura por Correo

Envía una factura previamente timbrada a los correos registrados del emisor, receptor, o a un correo electrónico adicional. Los archivos XML y PDF se incluyen automáticamente.

Ejemplo de Petición
{
    "modo_prueba": true,
    "uuid": "FA57B362-972E-4AF3-883F-311D7B4821E3",
    "destinos": ["receptor", "emisor"],
    "correo_adicional": "contabilidad@miempresa.com"
}
Respuesta
{
    "status": "success",
    "modo_prueba": true,
    "message": "Simulación exitosa. Los correos se habrían enviado correctamente.",
    "data": {
        "uuid": "FA57B362-972E-4AF3-883F-311D7B4821E3",
        "destinos_procesados": [
            "receptor",
            "emisor"
        ],
        "correo_adicional": "contabilidad@miempresa.com"
    }
}
POST /v1/cancelar_factura

Cancelar Factura

Envía una solicitud de cancelación al SAT para un CFDI previamente emitido. Requiere el uso de motivos de cancelación estandarizados (01, 02, 03, 04).

Nota: Si utilizas el motivo "01" (Comprobante emitido con errores con relación), es estrictamente obligatorio enviar el parámetro uuid_sustituto.

Ejemplo de Petición
{
    "modo_prueba": true,
    "uuid": "FA57B362-972E-4AF3-883F-311D7B4821E3",
    "motivo_cancelacion": "02"
    "uuid_sustituto": ""
}
Respuesta
{
    "status": "success",
    "modo_prueba": true,
    "message": "Simulación exitosa. Solicitud de cancelación en proceso (Prueba).",
    "data": {
        "uuid": "FA57B362-972E-4AF3-883F-311D7B4821E3",
        "motivo": "02",
        "uuid_sustituto": "",
        "estatus_sat_simulado": "En proceso"
    }
}