Factuarea APIDevelopers

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 62 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

Contactes

ScopeConcedeixMaps toSensitive
contacts.readLlistar i consultar contactes canònics.contacts:readno
contacts.writeCrear contactes i modificar identitat, rols i perfils.contacts:writeno
contacts.deleteArxivar contactes i retirar rols sense referències.contacts:delete

Catàleg — productes, tarifes, 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
price_lists.readLlegir tarifes, ítems i preus efectius.price_lists:readno
price_lists.writeCrear, actualitzar i eliminar tarifes i ítems.price_lists:writeno
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
invoices.annulAnul·lar factures emeses.invoices:void
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
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
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
delivery_notes.convertConvertir albarans.delivery_notes:transitionno
delivery_notes.signMarcar com a lliurats / signar albarans.delivery_notes:transition

Compres

ScopeConcedeixMaps toSensitive
purchase_invoices.readLlistar i llegir factures de compra.purchase_invoices:readno
purchase_invoices.writeCrear i actualitzar factures de compra; duplicar des de source_purchase_invoice_id exigeix a més purchase_invoices:read.purchase_invoices:writeno
purchase_invoices.mark_paidMarcar factures de compra com a pagades.purchase_invoices:transition
purchase_invoices.deleteEliminar factures de compra.purchase_invoices:delete

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
recurring.deleteEliminar plantilles recurrents.recurring_invoices:delete

Compliment i informes fiscals

ScopeConcedeixMaps toSensitive
verifactu.readLlegir registres, esdeveniments, certificats i configuració de VeriFactu.verifactu:readno
facturae.readLlegir XML FacturaE i enviaments a FACe.facturae:readno
facturae.writeEnviar i cancel·lar presentacions a FACe.facturae:write
tax_reports.readLlegir previsualitzacions, historial, fitxers i estadístiques d'informes fiscals.tax_reports:readno
tax_reports.writeGenerar informes fiscals i llibres de revisió.tax_reports:write

Webhooks

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

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

Automatitzacions

Regles d'automatització i el seu historial d'execucions. Tots els scopes d'automatitzacions són sensibles: una regla pot enviar correus i disparar webhooks en nom del titular, i l'historial d'execucions porta a dins els payloads de negoci que van moure les seves accions (imports, destinataris, resultats). Tots tres requereixen el mòdul de pla automations — consulta Gating per pla i mòdul. Llegir i escriure regles i llegir l'historial d'execucions es concedeixen a la pantalla de consentiment; esborrar una regla noautomations:delete no té scope OAuth amb punt i és només API key (llistat més avall als scopes detallats).

automations.read i automation_runs.read es concedeixen per separat a propòsit. El primer cobreix el reglament: les regles, les seves versions segellades, el catàleg d'activadors i accions, i l'assaig que diu què faria una regla sense arribar a fer-ho. El segon cobreix el que les regles van fer de debò: cada execució, els seus passos, els seus motius de descart tipificats i el payload congelat de l'activador que porta cada execució. Una app pot llegir quines automatitzacions existeixen sense llegir les dades de negoci que va tocar cada execució.

ScopeConcedeixMaps toSensitive
automations.readLlistar i llegir les regles d'automatització, les seves versions, el catàleg d'activadors i accions, la quota mensual i l'assaig.automations:read
automations.writeCrear, actualitzar, activar i pausar regles d'automatització, i rellançar execucions o passos solts.automations:write
automation_runs.readLlegir l'historial d'execucions de les teves automatitzacions, els seus passos i el seu resultat.automation_runs:read

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.

El super-scope *

Una credencial que té * cobreix tots els scopes — les 457 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.

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

Un quart grup és el scope d'esborrat del motor d'automatitzacions. Els seus tres germans —automations.read, automations.write i automation_runs.read— sí que es concedeixen per OAuth (consulta els scopes de consentiment d'Automatitzacions més amunt), però eliminar l'automatització d'altri és destructiu i no es pot desfer des de l'API, així que queda fora del catàleg de consentiment per disseny — la mateixa decisió que amb verifactu:write. Requereix el mòdul de pla automations.

ScopeConcedeixGating de mòdul
automations:deleteEliminar regles d'automatització. La baixa és lògica i irreversible des de l'API: la regla deixa de disparar-se, mentre que les seves versions segellades i el seu historial d'execucions continuen sent auditables.automations

verifactu: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.

Un últim grup cobreix altres tools publicades de catàleg i observabilitat de primera part que encara no tenen scope puntejat a OAuth:

ScopeConcedeixMòdul requerit
taxes:deleteEliminar un tipus impositiu quan no estigui en ús.
developers:readInspeccionar el teu propi registre de peticions API.
emails:readInspeccionar historial i estat d'emails enviats.
integration_events:readInspeccionar esdeveniments de passarel·la i motius tipats de descart.integration_stripe
integration_events:writeReprocessar esdeveniments de passarel·la aparcats.integration_stripe
gocardless_autoinvoicing:readReservat al catàleg tancat; cap tool publicada l'usa avui.integration_gocardless
gocardless_autoinvoicing:writeReservat al catàleg tancat; cap tool publicada l'usa avui.integration_gocardless
monei_autoinvoicing:readReservat al catàleg tancat; cap tool publicada l'usa avui.integration_monei
monei_autoinvoicing:writeReservat al catàleg tancat; cap tool publicada l'usa avui.integration_monei

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. Tres famílies a més estan limitades per mòdul. Les tools de Tarifes mapegen price_lists:* a products. Les tools de Pagaments i passarel·les mapegen els seus scopes (stripe_autoinvoicing:*, payouts:read, integration_events:*) 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. Les tools d'Automatitzacions mapegen els seus scopes (automations:*, automation_runs:read) al mòdul automations. 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).

Permisos de botigues

La gestió de botigues fa servir stores:read i stores:write; els scopes del proveïdor són woocommerce_store:read, woocommerce_store:write, shopify_store:read i shopify_store:write. Les proves de connexió requereixen el scope d’escriptura del proveïdor. Aquests scopes s’assignen a API keys i queden fora del consentiment OAuth. Consulta la taula d’operacions de botigues.

En aquesta pàgina

Et donem un cop de mà?Contactar amb suport