
Kontainer-API'et gør det nemt at integrere jeres eksisterende software i Kontainer-platformen. Denne grænseflade mellem softwaresystemer lader jeres applikationer udveksle data med Kontainer og kan bruges til at automatisere mange forskellige processer.
Her gennemgår vi det grundlæggende i opsætningen af API'et.
Oplysningerne i denne artikel er tekniske og henvender sig til udviklere, der står for opsætningen af API'et. Har I spørgsmål, er I velkomne til at kontakte os.
Besøg Kontainers integrationsside for at høre mere om vores API. Her finder I også mere om anvendelser, fordele osv.
API-kode
Gå direkte til koden til API-integration HER.
BEMÆRK, at I skal bruge jeres egen unikke Kontainer-URL i stedet for den i eksemplet i ovenstående links ("app.kontainer.com").
Kom i gang
For at bruge Kontainer-API'et skal I have en konto hos Kontainer og et API-adgangstoken.
Kontakt jeres lokale administrator eller Kontainers support for yderligere oplysninger om, hvordan I får adgang til Kontainer-API'et.
Godkendelse
Kontainer-API'et bruger OAuth til godkendelse. Når I har fået et API-adgangstoken, skal I sende det med i hver request via headeren Authorization som en "Bearer"-værdi.
Alle requests skal indeholde jeres API-adgangstoken i headeren Authorization: Authorization: Bearer {{access-token}}
Content negotiation
Alle requests skal indeholde headeren: Accept: application/vnd.api+json .
Requests, der sender JSON-data, skal indeholde headeren: Content-Type: application/vnd.api+json
Standarden JSON:API
Kontainer-API'et er et RESTful API, der følger standarden JSON API. I kan se standarden for mere om, hvordan request- og responsdokumenter er opbygget.
Ressourcetyper
API'et udstiller følgende ressourcetyper: 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 og job logs.
Skriveoperationer
API'et understøtter skriveoperationer på tværs af ressourcer: POST til at oprette, PATCH til at opdatere og DELETE til at fjerne. Det er ikke skrivebeskyttet.
Grænser for antal requests (Rate Limits)
De almindelige grænser for antal requests gælder for alle de endpoints, vi udstiller, og grænsen er 500 requests pr. minut. Overskrides den definerede grænse, svarer API'et med beskeden: 429: Too Many Attempts.
Svarkoder
Kontainer-API'et svarer med HTTP-statuskoder og JSON-baserede fejlkoder og -beskeder.
HTTP-statuskoder
Tabellen nedenfor giver et overblik over de HTTP-statuskoder, der returneres.
| HTTP-statuskode | Tekst | Beskrivelse |
|---|---|---|
| 200 | OK | Succes. |
| 201 | Created | Objekt oprettet. |
| 204 | No Content | Intet indhold returneret. |
| 401 | Unauthorized | Token mangler eller er ugyldigt. |
| 403 | Forbidden | Ressource eller request understøttes ikke |
| 404 | Not Found | Objekt ikke fundet. |
| 406 | Not Acceptable | Request kan ikke accepteres |
| 409 | Conflict | Konflikt i applikationens eller ressourcens tilstand. |
| 422 | Validation Error | Der opstod en valideringsfejl. |
| 429 | Too Many Requests | Grænsen for antal requests er overskredet. |
Fejlbeskeder
Eksemplet nedenfor viser, hvordan en fejlbesked ser ud for HTTP-statuskoden 401 - Unauthorized.

Filtre
Filtre kan anvendes på de endpoints, der understøtter dem, for at begrænse de resultater, der returneres. Filtre anvendes med query-parameteren filter. De understøttede filterfelter finder I i sektionen Filter Attributes for hvert endpoint.
Eksempler:
Hent en liste over kategoriposter/produkter:
filter[description][like] : Shoes
Find poster ud fra et præcist EAN:
filter[ean][eq] : 4194382028137
Find poster efter en bestemt dato:
filter[released_on][gt] : 2020-01-01
Find poster med en enhedspris, der er større end eller lig med 22,50 og mindre end 50,00:
filter[unit_cost][gte] : 22.50
filter[unit_cost][lt] : 50.00
Tjek, om filer refereres i et PIM-datafelt:
filter[asset][exists] : 1
filter[asset][exists] : 0
Filterbetegnelser
- Equals: [eq]
- In: [in]
- Like: [like]
- Greater than: [gt]
- Greater than or equal: [gte]
- Less than: [lt]
- Less than or equal: [lte]
- Not In: [notin]
- Not Equal: [ne] (bemærk: kun PIM)
- Exists: [exists] (bemærk: kun PIM)
Bemærk: De tilladte filterbetegnelser afhænger af det element, der søges i.
Sammensatte dokumenter (Compound Documents)
For at reducere antallet af HTTP-requests kan svar fra de endpoints, der understøtter det, bede om at "include" relaterede ressourcer sammen med de ønskede primære ressourcer. Inkluderede ressourcer anmodes via query-parameteren include. De understøttede includes finder I i sektionen Available Includes for hvert endpoint.
Eksempler:
- I endpointet GET /elements for at inkludere de tilhørende Element Options:
include: element_option - I endpointet GET /items for at inkludere rod-, overordnede og underordnede poster:
include: parent_item,root_item,children
Paginering
Svar pagineres med en sidestørrelse, der kan konfigureres. Der findes ingen bulk-endpoints eller webhooks.
API-kode
Gå direkte til koden til API-integration HER.
BEMÆRK, at I skal bruge jeres egen unikke Kontainer-URL i stedet for den i eksemplet i ovenstående links ("app.kontainer.com").