Documentación API Certifactu

Integra facturación electrónica verificable (Veri*Factu) en tus aplicaciones de forma sencilla, segura y conforme a la normativa española.

Firma Electrónica

Generación automática de huellas digitales, encadenamiento y firma XAdES cualificada.

Códigos QR

URLs y códigos QR conformes a la normativa para incluir en las facturas PDF.

Envío a AEAT

Remisión automática de registros de facturación a la Agencia Tributaria.

Validación

Valida NIFs españoles y números de IVA intracomunitarios (VIES) al instante.

Quick Start

Empieza a emitir facturas verificables en menos de 5 minutos. Solo necesitas tu API Key y hacer una petición.

Flujo de integración

1
Obtén tu API Key

Regístrate en el Dashboard y genera una API Key para tu empresa.

2
Envía los datos de factura

Realiza una petición POST con los datos de tu factura al endpoint /invoices/sign.

3
Recibe factura firmada

Obtén la factura con firma electrónica, hash encadenado y código QR listo para usar.

4
Envío automático a AEAT

Certifactu envía automáticamente el registro a la Agencia Tributaria.

Autenticación

La API utiliza API Keys para autenticar las peticiones. Debes incluir tu clave en la cabecera X-API-Key de todas las solicitudes.

Cabecera de autenticación
X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx

Base URL

Todas las peticiones deben realizarse a la siguiente URL base:

https://api.certifactu.com/api/v1

Entornos

Actualmente disponemos de un único entorno de producción que interactúa con los servicios de pruebas de la AEAT mientras la normativa no entre en vigor definitivo.

Producción (Pruebas AEAT)
https://api.certifactu.com

Este entorno conecta con el sistema de pruebas de la AEAT. Las facturas registradas no tienen efectos fiscales reales.

Ejemplo Rápido

Verifica que tu integración funciona correctamente consultando el estado del servicio:

Health Check
curl -X GET https://api.certifactu.com/health \
  -H "Content-Type: application/json"

Respuesta esperada:

{
  "status": "healthy",
  "version": "1.0.0",
  "timestamp": "2024-01-30T10:00:00Z"
}