Guía de Integración API

Flujo de Integración B2B

Bienvenido a la guía de integración de TaxPilot. Para generar tu primera factura XML firmada, debes seguir un flujo lógico de 5 pasos. Este diseño estructurado garantiza la seguridad de tus datos y permite vincular múltiples empresas (NIFs) a una sola cuenta.

1 Registro

El primer paso es crear una cuenta de usuario. Por defecto, todas las cuentas nuevas inician en el plan FREE (Límite: 1 solo NIF emisor).

POST/auth/register

Request Body

{
  "email": "tu@email.com",
  "password": "tu_password_segura"
}

2 Iniciar Sesión

Autentica a tu usuario. El servidor configurará una Cookie Segura (HttpOnly) automáticamente en tu navegador. Asegúrate de realizar todas las siguientes peticiones con credenciales incluidas (ej. withCredentials: true).

POST/auth/login

3 Configurar Emisor

Antes de firmar, el sistema necesita saber quién es la empresa que factura. En este paso, creamos el "cajón" de datos para tu NIF.

POST/api/v1/issuers

Request Body

{
  "nif": "B12345678",
  "corporateName": "Mi Empresa S.L."
}

4 Subir Certificado

El cajón del emisor existe, pero está vacío. Sube tu certificado .p12 para que podamos firmar en nombre de ese NIF. Lo guardaremos cifrado (AES-256). Nunca guardamos la contraseña.

POST/api/v1/issuers/{nif}/certificate

Envía el archivo multipart/form-data bajo el campo p12.

5 Generar Factura

¡Por fin! Con la cuenta creada, el Emisor configurado y el certificado subido, ya puedes facturar enviándonos el JSON de la operación.

POST/api/v1/facturae/json

Headers Requeridos

  • Cookie: AUTH_TOKEN=... (o Bearer)
  • X-Certificate-Password: <tu_pass_del_p12_real>

Body (Simplificado)

{
  "series": "F2024",
  "number": "001",
  "issueDate": "2024-02-15",
  "currency": "EUR",
  "issuer": {
    "taxId": { "number": "B12345678", "countryCode": "ESP" },
    ...
  },
  "receiver": {
    "taxId": { "number": "B98765432", "countryCode": "ESP" },
    ...
  },
  "items": [...],
  "totals": {
    "totalGrossAmount": 1000.00,
    "totalTaxAmount": 210.00,
    "totalPayableAmount": 1210.00
  }
}

Manejo de Errores Comunes

401

Unauthorized

Sesión expirada o contraseña incorrecta en login. Redirige a /login.

403

Forbidden

Límites del Plan FREE excedidos al intentar crear un segundo Emisor, o intento de acceso a Mantenimiento de otro usuario.

404

Not Found

El NIF proporcionado en la factura no existe como Emisor. Falta completar el Paso 3.

500

Internal Server Error

Problemas al firmar. Generalmente causado porque la X-Certificate-Password enviada es incorrecta para ese P12.