Factuarea APIDevelopers

API de Factuarea

L'API REST de Factuarea per automatitzar el teu SaaS de facturació multi-tenant per a empreses espanyoles.

L'API REST de Factuarea exposa recursos de facturació (contactes, productes, factures, pressupostos, factures proforma, albarans, factures recurrents, despeses) sobre HTTPS amb autenticació per API key. Tota la superfície pública viu a https://api.factuarea.com/v1 i retorna principalment JSON. Les descàrregues fan servir el format XML, CSV o binari declarat per cada endpoint; les respostes 204 i 304 no tenen cos. Els recursos exposen un id opac, generalment un UUID v7; els identificadors del proveïdor es documenten per separat.

Inici ràpid

L'API ve amb el teu pla

L'API pública està inclosa en tots els plans de Factuarea — sense programa beta ni add-on a banda. Durant el trial de 10 dies ja tens accés a l'API amb el tier free; els plans de pagament pugen el tier de rate limit. Consulta Límits de peticions.

Crea la teva primera API key

Obre Dashboard → Developers → API Keys i crea una clau amb els scopes que necessitis (per exemple invoices:read,contacts:read per començar). Copia el secret només un cop — no el podràs tornar a veure.

Tria l'entorn Test per obtenir una clau fact_test_ que opera sobre un sandbox aïllat sense efectes en el món real. Crea contra ell primer i després crea una clau fact_live_ per passar a producció. Consulta Mode de prova i sandbox.

Verifica la teva clau

Abans de res, confirma que la clau funciona. GET /v1/me introspecciona la credencial i no necessita cap scope: qualsevol clau vàlida es pot consultar a si mateixa. Retorna el compte al qual pertany la clau (el seu entorn, si és proveïdor de comptes i els scopes privilegiats que Factuarea li va concedir), els scopes i el tier de límit de peticions de la mateixa clau, els NIF que assoleix i, amb una clau de proveïdor, els comptes dels teus clients que el teu compte assoleix. L'id de cada NIF és el segment {company} de tota ruta de l'eix d'empresa:

curl https://api.factuarea.com/v1/me \
  -H "Authorization: Bearer fact_test_xxxxxxxxxxxxxxxxxxxxxxxx"

Hauries de veure un 200 amb una instantània de me. Aquesta és la d'una clau live d'un proveïdor de comptes, així que tots els blocs vénen omplerts:

{
  "data": {
    "object": "me",
    "account": {
      "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a00",
      "name": "Asesoría Martínez",
      "environment": "live",
      "is_provider": true,
      "privileged_scopes": [
        "accounts:read",
        "accounts:write"
      ]
    },
    "api_key": {
      "id": "019e81ef-e1d4-7208-a51d-94c2c2a54a84",
      "name": "Producción",
      "prefix": "fact_live_1OSf9KdP",
      "scopes": [
        "account:read",
        "series:read",
        "series:write"
      ],
      "tier": "scale",
      "environment": "live",
      "created_at": "2026-01-15T09:30:00Z",
      "last_used_at": "2026-05-25T18:00:00Z",
      "expires_at": null
    },
    "scope": [
      {
        "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a01",
        "tax_id": "B12345674",
        "name": "Acme Corporation"
      },
      {
        "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a02",
        "tax_id": "B87654323",
        "name": "Acme Logística S.L."
      }
    ],
    "client_accounts": [
      {
        "id": "0199a1f0-1c22-7a10-b111-5a5b5c5d5e5f",
        "name": "Construcciones Ruiz",
        "origin": "granted",
        "access_level": "view",
        "status": "active",
        "paid_by_provider": false,
        "environment": "live"
      },
      {
        "id": "0199a1f0-1c22-7a10-b111-6a6b6c6d6e6f",
        "name": "Talleres García",
        "origin": "provisioned",
        "access_level": "operate",
        "status": "provisioned",
        "paid_by_provider": true,
        "environment": "live"
      }
    ],
    "client_accounts_visible": true,
    "client_accounts_has_more": false
  }
}
  • account és el compte de la clau. El seu id és el segment {account} de les rutes de compte, i is_provider indica si aprovisiona comptes gestionats per als seus clients.
  • scope llista els NIF que assoleix la clau, cadascun amb el seu id, el seu tax_id i el seu name. Sempre s'enumeren, també quan n'hi ha un de sol.
  • client_accounts llista els comptes dels teus clients que el teu compte assoleix: granted quan et van cedir accés, provisioned quan els vas aprovisionar i encara els gestiones. Només s'omple quan la clau porta l'scope privilegiat accounts:read; si no, torna buida i client_accounts_visible és false.

Si obtens 401 invalid_api_key, torna a comprovar el valor. L'array scopes et diu exactament què pot fer aquesta clau — una crida posterior que falli amb 403 insufficient_scope no en té algun. Cada camp està descrit a Comptes i NIF.

Fes la teva primera petició de dades

Ara llista un recurs real. GET /v1/companies/{company}/contacts retorna un embolcall estàndard amb data (resultats), has_more i next_cursor (paginació per cursor). Substitueix {company} per l'id d'un dels NIF de scope — un de propi, un al qual un altre compte t'ha cedit accés o un d'un compte gestionat, com explica Arribar a un NIF — i filtra per rol. Un mateix contacte acumula els rols customer i supplier que li pertoquin:

curl "https://api.factuarea.com/v1/companies/{company}/contacts?roles[]=customer" \
  -H "Authorization: Bearer fact_test_xxxxxxxxxxxxxxxxxxxxxxxx"

Llest per emetre la teva primera factura de principi a fi? Segueix l' Inici ràpid. Si reps un error, cerca'l a Errors pel code retornat.

Configura webhooks (opcional)

Si la teva integració necessita reaccionar a esdeveniments (factura pagada, pressupost acceptat, etc.), configura un webhook endpoint signat amb HMAC SHA256. Consulta Webhooks.

Què cobreix l'API

Contactes

Una identitat, rols acumulables customer/supplier/lead, perfils, importació i arxivat/desarxivat.

Catàleg

Productes i serveis amb estoc decimal, unitats UNECE, presentacions, variants, ofertes de proveïdor i tarifes per client.

Documents de venda

Factures, pressupostos, factures proforma, albarans, factures recurrents — amb línies, retencions i recàrrec d'equivalència.

Accions de document

Enviar per email, marcar com a pagada/acceptada, generar PDF, anul·lar, crear factura rectificativa, convertir entre tipus.

Despeses

Despeses amb pujada del PDF del proveïdor, mark_paid, mark_received.

Sèries de documents

Sèries de numeració legal per tipus de document, amb garanties fiscals en modificar-les mitjançant l’API.

Facturació FACe (B2G)

Descàrrega de l'XML FacturaE 3.2.2 i enviaments a FACe — envia, segueix l'estat de tramitació i sol·licita anul·lacions.

Control horari

Empleats, horaris de treball, el registre de fitxatges, tancaments mensuals, absències, presència i festius — el registre de jornada del RD-ley 8/2019.

Automatitzacions

Regles dirigides per esdeveniments — un esdeveniment activa, una condició decideix i s'executa una llista ordenada d'accions, amb versions segellades, assaig i historial d'execucions.

Tasques i projectes

Projectes amb un tauler de columnes, tasques vinculades a les teves factures, pressupostos i contactes, temps imputat convertit en esborranys de factura i una agenda combinada — també com a 22 tools MCP de projectes i 52 de tasques.

Servidor MCP per a agents d'IA

Tota l'API com a 668 eines Model Context Protocol, amb OAuth 2.1 i autenticació per API key — connecta Claude i altres agents en segons.

Disseny del contracte

L'API segueix els patrons que esperaries d'un proveïdor modern:

  • Identificadors opacs — els recursos solen fer servir strings UUID v7. L'esborrament de dades de signatures conserva un ID d'auditoria numèric, i els identificadors externs fan servir el format del seu proveïdor. Consulta Paginació per a la semàntica del cursor.
  • Errors normalitzats — cada error retorna un embolcall amb type, code, message, param, doc_url i request_id. Consulta Errors.
  • Idempotency keys — suportades a cada POST per evitar duplicats en els reintents. Consulta Idempotència.
  • Límits de peticions per tier — quotes per minut i mensuals, amb capçaleres X-RateLimit-* a cada resposta. Consulta Límits de peticions.
  • Versionat per URL — /v1/*. Els canvis incompatibles disparen /v2/* amb una política de deprecació documentada. Consulta Versionat.
  • Webhooks amb rotació de doble secret — HMAC SHA256, reintent exponencial amb fins a 8 intents. Consulta Webhooks.

SDKs

Oferim SDKs oficials de TypeScript i PHP (@factuarea/sdk i factuarea/factuarea-php) amb reintents, idempotència, paginació per cursor, errors tipats i verificació de webhooks integrats. Si el teu llenguatge no està cobert, qualsevol client HTTP estàndard (curl, Postman, axios, requests, Guzzle) funciona — l'API és REST pla sobre JSON.

L'API REST pública complementa el client web de Factuarea (app.factuarea.com) — no el reemplaça. Les operacions que l'API no exposa (gestió de plans, branding, configuració fiscal global de l'empresa) segueixen vivint a l'app.

Integracions i fluxos guiats

Connecta botigues, configura WooCommerce o Shopify i consumeix esdeveniments amb n8n. Comença per l’índex d’integracions. Per al correu, consulta enviament de documents; per a agents, el protocol MCP i els recursos fiscals i prompts.

En aquesta pàgina

Et donem un cop de mà?Contactar amb suport