Catalogus

Categorieën

De volledige categorieboom van de tenant ophalen als geneste JSON.

Bekijk als Markdown

Categorieën vormen per tenant een zelfrefererende boom. Elke categorie heeft een slug die uniek is binnen de tenant en automatisch wordt gegenereerd uit de naam. Categorieslugs zijn de waarden die de queryparameter filter[category] van de productlijst accepteert; die matcht een categorie en al haar actieve afstammelingen.

GET /v1/api/commerce/categories

Geeft de volledige categorieboom van de tenant terug als geneste JSON. Alleen actieve categorieën worden opgenomen, op elk niveau geordend op position. Een inactieve parent verbergt zijn hele subboom: kinderen van een inactieve parent vallen buiten het resultaat, ook als ze zelf actief zijn. De response is niet gepagineerd.

Parameters

Geen. Geen pad-, query- of bodyparameters.

Responsevelden

Elke node in de data-array (en recursief in elke children-array):

NaamTypeVerplichtBeschrijving
idstring (uuid)altijdCategorie-ID.
namestringaltijdCategorienaam.
slugstringaltijdURL-slug, uniek per tenant. Gebruik hem als filter[category]-waarde op het productlijst-endpoint.
descriptionstring of nullaltijdCategoriebeschrijving.
childrenarrayaltijdKindcategorieën, zelfde nodevorm, geordend op positie. Lege array voor bladcategorieën.
Request
curl "https://api.borkol.com/v1/api/commerce/categories" \
  -H "Authorization: Bearer {api_key}" \
  -H "Accept: application/json"
Request (JS)
const res = await fetch("https://api.borkol.com/v1/api/commerce/categories", {
  headers: {
    Authorization: `Bearer ${apiKey}`,
    Accept: "application/json",
  },
});
const { data } = await res.json();
Response
{
  "data": [
    {
      "id": "7a1b3c5d-2e4f-4a6b-8c0d-1e2f3a4b5c6d",
      "name": "Furniture",
      "slug": "furniture",
      "description": "All furniture",
      "children": [
        {
          "id": "8b2c4d6e-3f5a-4b7c-9d1e-2f3a4b5c6d7e",
          "name": "Chairs",
          "slug": "chairs",
          "description": null,
          "children": []
        }
      ]
    },
    {
      "id": "1f2e3d4c-5b6a-4978-8695-a4b3c2d1e0f9",
      "name": "Verandas",
      "slug": "verandas",
      "description": null,
      "children": []
    }
  ]
}

Errors

StatusBodyOorzaak
401{"message":"Unauthenticated."}Ontbrekende of ongeldige API-key.
403{"message":"Invalid ability provided."}Key heeft noch de scope catalog:read noch commerce:read.
403{"error":"Module not enabled: catalog"}Tenant heeft de catalog-module niet ingeschakeld. Let op de error-key in plaats van message.
403{"message":"Tenant suspended.","code":"tenant_suspended"}Tenant-account is geschorst.
429{"message":"Too Many Attempts."}Rate limit van 120 requests per minuut overschreden.