Koptekst voor API-integratie

Met de Kontainer-API integreert je je bestaande software eenvoudig in het Kontainer-platform. Via deze koppeling tussen softwaresystemen kunnen je toepassingen gegevens met Kontainer uitwisselen en kun je veel verschillende processen automatiseren.

Hierna lopen we de basis van de API-inrichting door.

De informatie in dit artikel is technisch en gericht op ontwikkelaars die verantwoordelijk zijn voor de API-inrichting. Heb je vragen? Laat het ons gerust weten.

Bezoek de integratiepagina van Kontainer voor meer informatie over onze API, met onder meer toepassingen en voordelen.

API-code

Ga direct naar de code voor de API-integratie HIER.

LET OP: je moet je eigen unieke Kontainer-URL gebruiken in plaats van die in het voorbeeld in bovenstaande links ("app.kontainer.com").


Aan de slag

Om de Kontainer-API te gebruiken, heb je een account bij Kontainer nodig en een API-toegangstoken.

Neem contact op met je lokale beheerder of Kontainer Support voor meer informatie over hoe je toegang tot de Kontainer-API krijgt.

Authenticatie

De Kontainer-API gebruikt OAuth voor authenticatie. Zodra je een API-toegangstoken hebt gekregen, moet je dit token bij elk verzoek meesturen via de Authorization-header als "Bearer"-waarde.

Alle verzoeken moeten je API-toegangstoken in de Authorization-header bevatten: Authorization: Bearer {{access-token}}

Contentonderhandeling

Alle verzoeken moeten de volgende header bevatten: Accept: application/vnd.api+json.
Verzoeken die JSON-gegevens versturen moeten de volgende header bevatten: Content-Type: application/vnd.api+json

JSON:API-standaard

De Kontainer-API is een RESTful-API die de JSON:API-standaard volgt. Raadpleeg deze standaard voor meer informatie over hoe de verzoek- en antwoorddocumenten zijn opgebouwd.

Resourcetypen

De API biedt de volgende resourcetypen: files, folders, users, tags, channels, elements, element-options, categories, custom-fields, download-templates, video-download-templates, cdn, user-groups, folder permissions, consent wards, consent agreements, consent parties, statistics en job logs.

Schrijfbewerkingen

De API ondersteunt schrijfbewerkingen voor alle resources: POST om aan te maken, PATCH om bij te werken en DELETE om te verwijderen. De API is dus niet alleen-lezen.

Limieten voor aanvragen

De standaardlimieten voor de API gelden voor alle endpoints die wij aanbieden, en de limiet is 500 verzoeken per minuut. Wordt de gedefinieerde limiet overschreden, dan antwoordt de API met de melding: 429: Too Many Attempts.

Antwoordcodes

De Kontainer-API antwoordt met HTTP-statuscodes en op JSON gebaseerde foutcodes en -meldingen.

HTTP-statuscodes

De volgende tabel geeft een overzicht van de HTTP-statuscodes die worden geretourneerd.

HTTP-statuscode Tekst Beschrijving
200 OK Gelukt.
201 Created Object aangemaakt.
204 No Content Geen inhoud geretourneerd.
401 Unauthorized Token ontbreekt of is ongeldig.
403 Forbidden Resource of verzoek wordt niet ondersteund
404 Not Found Object niet gevonden.
406 Not Acceptable Verzoek niet acceptabel
409 Conflict Conflict in de toestand van de toepassing of resource.
422 Validation Error Er is een validatiefout opgetreden.
429 Too Many Requests Limiet voor aanvragen overschreden.

Foutmeldingen

Het volgende voorbeeld laat zien hoe een foutmelding eruitziet bij HTTP-statuscode 401 - Unauthorized.

Voorbeeld van een foutmelding voor 401 Unauthorized in de Kontainer-API

Filters

Op ondersteunde endpoints kun je filters toepassen om de geretourneerde resultaten te beperken. Filters past je toe met de queryparameter filter. De ondersteunde filtervelden vindt je in het onderdeel Filter Attributes van elk endpoint.

Voorbeelden:

Een lijst met categorie-items/producten ophalen:

filter[description][like] : Shoes

Items zoeken op exact EAN-nummer:

filter[ean][eq] : 4194382028137

Items zoeken na een bepaalde datum:

filter[released_on][gt] : 2020-01-01

Items zoeken met een eenheidsprijs groter dan of gelijk aan 22,50 en kleiner dan 50,00:

filter[unit_cost][gte] : 22.50

filter[unit_cost][lt] : 50.00

Controleren of bestanden in een PIM-gegevensveld worden gebruikt:

filter[asset][exists] : 1

filter[asset][exists] : 0

Filtervoorwaarden

  • Gelijk aan: [eq]
  • In: [in]
  • Lijkt op: [like]
  • Groter dan: [gt]
  • Groter dan of gelijk aan: [gte]
  • Kleiner dan: [lt]
  • Kleiner dan of gelijk aan: [lte]
  • Niet in: [notin]
  • Niet gelijk aan: [ne] (let op: alleen PIM)
  • Bestaat: [exists] (let op: alleen PIM)

Let op: de toegestane filtervoorwaarden zijn afhankelijk van het element waarop wordt gezocht.

Samengestelde documenten

JSON:API – Compound Documents

Om het aantal HTTP-verzoeken te beperken, kun je bij ondersteunde endpoints vragen om bijbehorende resources samen met de gevraagde primaire resources "in te sluiten". Ingesloten resources vraagt je aan met de queryparameter include. De ondersteunde includes vindt je in het onderdeel Available Includes van elk endpoint.

Voorbeelden:

  • Bij het endpoint GET /elements om de bijbehorende elementopties in te sluiten:include: element_option
  • Bij het endpoint GET /items om de root-, bovenliggende en onderliggende items in te sluiten:include: parent_item,root_item,children

Paginering

Antwoorden worden gepagineerd met een configureerbaar paginaformaat. Er zijn geen bulk-endpoints of webhooks beschikbaar.


API-code

Ga direct naar de code voor de API-integratie HIER.

LET OP: je moet je eigen unieke Kontainer-URL gebruiken in plaats van die in het voorbeeld in bovenstaande links ("app.kontainer.com").