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.
Authorization: Bearer sk_live_c7d05115b83...
Content-Type: application/json
/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."
}
}
/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
}
]
}
/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_uuidstring | requerido -
seriestring | 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"
}
}
}
/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"
}
}
/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"
}
}