Scopes

Geschreven:

OAuth scopes zijn toegangsrechten die een gebruiker aan een applicatie kan verlenen. Scopes zijn gekoppeld aan access tokens. Bij Autorisatie lees je hoe je applicatie gebruikers om toegang kan vragen.

Hier volgt een overzicht van alle scopes die door de Rompslomp API worden gebruikt.

Naam Beschrijving Context
public Algemene resource-typen uitlezen, waaronder bedrijven, rekeningen en btw-tarieven. Algemeen, bedrijf
manage:contacts Contacten beheren. Bedrijf
manage:payments Betalingen beheren. Bedrijf
manage:products Producten beheren. Bedrijf
manage:sales_invoices Uitgaande facturen beheren. Ook: contacten en betalingen van facturen beheren. Bedrijf
manage:journal_entries Memoriaalboekingen beheren. Bedrijf
read:accounts Balans- en resultaatrekeningen uitlezen. Bedrijf
read:me Persoonlijke gebruikersgegevens uitlezen. Gebruiker

Toepasselijkheid

Scopes die horen bij een bedrijfscontext (endpoints onder /api/v1/companies/{company_id}/) kunnen niet zonder meer worden gebruikt voor iedere bedrijfsadministratie. Een access token geeft nooit toegang tot onderdelen van een bedrijfsadministratie waartoe de gebruiker geen toegang heeft. Ongeacht de scopes van het access token.

Om vast te stellen tot welke scopes binnen een bedrijfsadministratie de gebruiker wél toegang heeft kan je het companies endpoint gebruiken. Opgevraagde company-objecten zijn voorzien van een access_control attribuut. Voorbeeld:

{
  "companies": [
    {
      "id": 573784502,
      "name": "Rompslomp.nl B.V.",
      "access_control": {
        "allowed_scopes": [
          "public",
          "manage:sales_invoices",
          "manage:products"
        ]
      }
    }
  ]
}

Een access token geeft alleen toegang tot een bedrijfscontext als het access token de benodigde scope bevat én de scope voorkomt in de toegestane scopes van het betreffende bedrijf (allowed_scopes).