Factuarea API

Scopes i permisos

El catàleg de scopes del consentiment OAuth, com es mapeja als scopes detallats que apliquen les tools, el super-scope i el gating per pla/mòdul.

Cada tool MCP declara el scope que una credencial ha de tenir per invocar-la. Els scopes funcionen de manera lleugerament diferent segons el canal:

  • Les API keys es creen directament amb scopes detallats (resource:action, p. ex. invoices:read) — el mateix catàleg tancat que fa servir l'API REST. També pots concedir el super-scope *.
  • Els tokens OAuth reben scopes amb punt (resource.action, p. ex. invoices.read) a la pantalla de consentiment. El servidor els tradueix als scopes detallats automàticament, de manera que tots dos canals apliquen el mateix conjunt al límit de la tool.

Catàleg de consentiment OAuth

Aquests són els scopes que un usuari pot concedir a una app de tercers a la pantalla de consentiment. Hi ha 59 scopes simples més 3 macros.

Scopes simples

Cadascun concedeix una capacitat. La columna Maps to mostra el scope detallat que apliquen les tools — la capa de consentiment tradueix els scopes OAuth amb punt a aquests automàticament. La columna Sensitive marca els scopes que la pantalla de consentiment destaca i no marca per defecte.

Perfil

ScopeConcedeixMaps toSensitive
profile.readLlegir el teu nom, email i empresa activa.account:readno

CRM — clients i proveïdors

ScopeConcedeixMaps toSensitive
clients.readLlistar i llegir clients.clients:readno
clients.writeCrear i actualitzar clients.clients:writeno
clients.deleteEliminar clients.clients:delete⚠ sí
suppliers.readLlistar i llegir proveïdors.suppliers:readno
suppliers.writeCrear i actualitzar proveïdors.suppliers:writeno
suppliers.deleteEliminar proveïdors.suppliers:delete⚠ sí

Catàleg — productes, sèries, impostos

ScopeConcedeixMaps toSensitive
products.readLlistar i llegir el catàleg de productes.products:readno
products.writeCrear i actualitzar productes.products:writeno
products.deleteEliminar productes.products:delete⚠ sí
series.readLlegir sèries de numeració.series:readno
series.writeCrear i actualitzar sèries de numeració.series:writeno
taxes.readLlegir tipus impositius i retencions.taxes:readno
taxes.writeCrear i actualitzar tipus impositius.taxes:writeno

Vendes — factures, pressupostos, proformes, albarans

ScopeConcedeixMaps toSensitive
invoices.readLlistar i llegir factures.invoices:readno
invoices.writeCrear i actualitzar factures.invoices:writeno
invoices.sendEnviar factures per email.invoices:sendno
invoices.deleteEliminar factures en esborrany.invoices:delete⚠ sí
invoices.annulAnul·lar factures emeses.invoices:void⚠ sí
invoices.create_correctiveEmetre factures rectificatives.invoices:writeno
quotes.readLlistar i llegir pressupostos.quotes:readno
quotes.writeCrear i actualitzar pressupostos.quotes:writeno
quotes.sendEnviar pressupostos per email.quotes:sendno
quotes.deleteEliminar pressupostos.quotes:delete⚠ sí
quotes.convert_to_invoiceAcceptar/rebutjar i convertir pressupostos en factures.quotes:transitionno
proformas.readLlistar i llegir factures proforma.proformas:readno
proformas.writeCrear i actualitzar proformes.proformas:writeno
proformas.sendEnviar proformes per email.proformas:sendno
proformas.deleteEliminar proformes.proformas:delete⚠ sí
proformas.convertConvertir proformes en factures.proformas:transitionno
delivery_notes.readLlistar i llegir albarans.delivery_notes:readno
delivery_notes.writeCrear, actualitzar i enviar albarans.delivery_notes:writeno
delivery_notes.sendEnviar albarans per email.delivery_notes:writeno
delivery_notes.deleteEliminar albarans.delivery_notes:delete⚠ sí
delivery_notes.convertConvertir albarans.delivery_notes:transitionno
delivery_notes.signMarcar com a lliurats / signar albarans.delivery_notes:transition⚠ sí

Compres

ScopeConcedeixMaps toSensitive
purchase_invoices.readLlistar i llegir factures de compra.purchase_invoices:readno
purchase_invoices.writeCrear i actualitzar factures de compra.purchase_invoices:writeno
purchase_invoices.mark_paidMarcar factures de compra com a pagades.purchase_invoices:transition⚠ sí
purchase_invoices.deleteEliminar factures de compra.purchase_invoices:delete⚠ sí

Els scopes de pagament són asimètrics entre vendes i compres. Registrar un pagament en una factura de venda (register_invoice_payment) requereix invoices:write — edita la factura. En canvi, registrar un pagament en una factura de compra (register_purchase_invoice_payment) requereix purchase_invoices:transition, perquè al costat de compra un pagament fa avançar la factura pel seu cicle de vida (pendent → pagada) en lloc d'editar-la.

Factures recurrents

ScopeConcedeixMaps toSensitive
recurring.readLlistar i llegir plantilles recurrents.recurring_invoices:readno
recurring.writeCrear i actualitzar plantilles recurrents.recurring_invoices:writeno
recurring.pausePausar plantilles recurrents.recurring_invoices:transitionno
recurring.resumeReprendre plantilles recurrents.recurring_invoices:transitionno
recurring.generate_nowEmetre una factura recurrent manualment.recurring_invoices:transition⚠ sí
recurring.deleteEliminar plantilles recurrents.recurring_invoices:delete⚠ sí

Compliment (VeriFactu)

ScopeConcedeixMaps toSensitive
verifactu.readLlegir registres, esdeveniments, certificats i configuració de VeriFactu.verifactu:readno

Webhooks

ScopeConcedeixMaps toSensitive
webhooks.readLlistar webhook endpoints i lliuraments.webhooks:readno
webhooks.writeCrear, actualitzar, rotar i fer ping de webhook endpoints.webhooks:write⚠ sí
webhooks.deleteEliminar webhook endpoints.webhooks:delete⚠ sí

Personal — control horari

Dades d'empleats, fitxatges, absències, horaris de treball, presència, festius i exportacions de nòmina. Tots els scopes de personal són sensibles (PII d'empleat i dades de compliment) i requereixen el mòdul de pla control_horario — consulta Gating per pla i mòdul. Les lectures, employees.write i la generació d'exportacions de nòmina es concedeixen a la pantalla de consentiment; les accions privilegiades d'escriptura i transició no tenen scope OAuth amb punt i són només API key (llistades més avall als scopes detallats).

ScopeConcedeixMaps toSensitive
employees.readLlistar i llegir empleats.employees:read⚠ sí
employees.writeCrear i actualitzar empleats.employees:write⚠ sí
time_entries.readLlegir fitxatges, saldos i fulls d'hores mensuals.time_entries:read⚠ sí
absences.readLlistar i llegir absències, polítiques i sol·licituds.absences:read⚠ sí
work_schedules.readLlegir horaris de treball i les seves assignacions.work_schedules:read⚠ sí
presence.readLlegir la presència en viu i diària.presence:read⚠ sí
holidays.readLlegir el calendari de festius de l'empresa.holidays:read⚠ sí
payroll_exports.readLlegir les exportacions de nòmina generades.payroll_exports:read⚠ sí
payroll_exports.writeGenerar exportacions de nòmina.payroll_exports:write⚠ sí

Macros

Paquets de conveniència que s'expandeixen a una llista de scopes simples en el moment d'emetre el token. El token persisteix els scopes expandits — les macros mai s'emmagatzemen.

MacroConcedeixSensitive
factuarea.readAccés de lectura complet a tot (sense escriptures).no
factuarea.writeLlegir-ho tot, a més de crear/actualitzar documents i enviar emails.no
factuarea.fullLlegir, escriure, enviar i accions destructives (eliminar, anul·lar, marcar com a pagada, signar). Exclou les escriptures de VeriFactu.⚠ sí

El super-scope *

Una credencial que té * cobreix tots els scopes — les 391 tools en el cas d'una API key. És l'equivalent a una clau de propietari. Reserva'l per a migracions puntuals o automatitzacions de propietari totalment fiables; per a tota la resta, prefereix el conjunt de scopes més reduït. El super-scope està disponible per a les API keys; el consentiment OAuth concedeix scopes explícits (o macros), mai un * directe.

Com els scopes OAuth es converteixen en scopes detallats

Quan s'emet un token OAuth, els seus scopes amb punt es tradueixen un cop al catàleg detallat que apliquen les tools. Val la pena conèixer algunes reconciliacions:

  • recurring.* es mapeja al recurs recurring_invoices:*.
  • invoices.create_corrective es mapeja a invoices:write (crear és una escriptura).
  • invoices.annul es mapeja a invoices:void.
  • Les accions de cicle de vida (*.convert, *.sign, *.pause, *.resume, *.generate_now, *.mark_paid, quotes.convert_to_invoice) es mapegen al scope :transition del recurs.
  • Qualsevol scope de lectura sobre un document també concedeix les utilitats de lectura transversals pdfs:read (descarregar el seu PDF/rebut) i events:read (el seu registre d'activitat).
  • verifactu.write i delivery_notes:gdpr_forget no tenen scope OAuth amb punt — són inabastables via OAuth per disseny.
  • facturae:read / facturae:write encara no són al catàleg de consentiment OAuth — les tools de FacturaE (FACe) només són accessibles amb API key per ara.

Scopes detallats sense scope OAuth (només API key)

Alguns scopes detallats viuen al catàleg tancat recurs:accio que fan servir les API keys, però no tenen equivalent OAuth amb punt — mai es concedeixen a través d'una pantalla de consentiment de tercers i només són accessibles amb API key. Concedeix-los directament a la key (o via el super-scope *). Alguns estan gateats per un mòdul d'integració —llavors l'empresa de la key ha de tenir el pla corresponent (consulta Gating per pla i mòdul)—; la resta són scopes de compte propi i de gestoria.

ScopeConcedeixGating de mòdul
stripe_autoinvoicing:readLlegir l'estat de la integració Stripe Connect, la configuració d'auto-facturació i els comptes connectats, i llistar cobraments/rectificatives auto-facturats.integration_stripe
stripe_autoinvoicing:writeActivar/desactivar l'auto-facturació de cobraments Stripe, fixar la sèrie auto-emesa i editar/desconnectar comptes connectats.integration_stripe
payouts:readLlegir els payouts de Stripe ingerits i el seu estat de conciliació bancària.integration_stripe

Aquests scopes habiliten les tools de Pagaments i passarel·les.

Un segon grup de scopes només per a API key governa la gestió de compte propi i de gestoria — les teves pròpies credencials i, per a gestories, les empreses filles que gestiones i les seves API keys. companies:* requereix el mòdul del pla de gestoria; la resta no tenen gating de mòdul.

ScopeConcedeixGating de mòdul
account:writeGestionar les teves pròpies API keys (crear, rotar, revocar) i actualitzar la personalització del compte.
companies:readLlistar i llegir les empreses gestionades (subcomptes fills).gestoria
companies:writeCrear, actualitzar, activar i desactivar empreses gestionades.gestoria
companies:deleteArxivar empreses gestionades.gestoria
api_keys:readLlistar i llegir les API keys de les empreses gestionades.
api_keys:writeCrear, rotar i revocar les API keys de les empreses gestionades.
api_keys:deleteEliminar permanentment les API keys de les empreses gestionades.

Un tercer grup cobreix les accions d'escriptura i transició de personal (control horari). Les seves lectures es concedeixen per OAuth (consulta els scopes de consentiment de Personal més amunt), però aquests scopes privilegiats no tenen equivalent OAuth amb punt — són només API key, el mirall de verifactu:write. Tots requereixen el mòdul de pla control_horario.

ScopeConcedeixGating de mòdul
employees:deleteEliminar empleats de manera permanent.control_horario
time_entries:writeFitxar entrada/sortida, registrar entrades manuals, gestionar correccions de fitxatge i el tancament mensual del registre.control_horario
absences:writeCrear i gestionar tipus, polítiques i sol·licituds d'absència.control_horario
absences:transitionAprovar, rebutjar i cancel·lar sol·licituds d'absència.control_horario
work_schedules:writeCrear, actualitzar, assignar i arxivar horaris de treball.control_horario

verifactu:write, facturae:read, facturae:write i delivery_notes:gdpr_forget també són scopes detallats només per a API key (descrits a dalt) — s'apliquen a la frontera de la tool com qualsevol altre scope, però no tenen contrapart al consentiment OAuth.

Gating per pla i mòdul

La majoria de les tools publicades només apliquen una comprovació de scope: són accessibles quan la credencial té el scope requerit. Dues famílies a més estan limitades per mòdul. Les tools de Pagaments i passarel·les mapegen els seus scopes (stripe_autoinvoicing:*, payouts:read) al mòdul integration_stripe. Les tools de personal (Empleats, Places d'empleat, Horaris de treball, Control horari, Absències, Presència, Festius) mapegen els seus scopes (employees:*, time_entries:*, absences:*, work_schedules:*, presence:read, holidays:read, payroll_exports:*) al mòdul control_horario. Quan el pla de l'empresa no inclou el mòdul, el servidor oculta aquestes tools de tools/list i retorna module_not_in_plan (-32005) davant d'una crida directa.

  • Els límits d'ús del pla (p. ex. quotes mensuals de documents) s'apliquen en el moment de la crida i es manifesten com a plan_limit_exceeded (-32004). Consulta Errors i límits de peticions.

Tota la superfície pública MCP també requereix que l'empresa tingui un pla de Factuarea actiu — l'accés a l'API està inclòs en tots els plans; en cas contrari, cada crida retorna addon_not_active (-32007).

En aquesta pàgina