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 seuidés el segment{account}de les rutes de compte, iis_providerindica si aprovisiona comptes gestionats per als seus clients.scopellista els NIF que assoleix la clau, cadascun amb el seuid, el seutax_idi el seuname. Sempre s'enumeren, també quan n'hi ha un de sol.client_accountsllista els comptes dels teus clients que el teu compte assoleix:grantedquan et van cedir accés,provisionedquan els vas aprovisionar i encara els gestiones. Només s'omple quan la clau porta l'scope privilegiataccounts:read; si no, torna buida iclient_accounts_visibleésfalse.
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_urlirequest_id. Consulta Errors. - Idempotency keys — suportades a cada
POSTper 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.