API-integration med Kontainer

Med Kontainers API är det enkelt att integrera er befintliga programvara med Kontainer-plattformen. Gränssnittet mellan system gör att era applikationer kan utbyta data med Kontainer, och det kan användas för att automatisera många olika processer.

Nedan går vi igenom grunderna i uppsättningen av API:t.

Informationen i artikeln är teknisk och riktar sig till de utvecklare som ansvarar för uppsättningen av API:t. Hör gärna av er om ni har frågor.

Besök Kontainers integrationssida för att läsa mer om vårt API, bland annat användningsområden och fördelar.

API-kod

Gå direkt till koden för API-integrationen HÄR.

OBS: Ni behöver använda er egen unika Kontainer-URL i stället för den i exemplet i länken ovan ("app.kontainer.com").


Kom i gång

För att använda Kontainers API behöver ni ett konto hos Kontainer och en åtkomsttoken för API:t.

Kontakta er lokala administratör eller Kontainers support för mer information om hur ni får åtkomst till Kontainers API.

Autentisering

Kontainers API använder OAuth för autentisering. När ni har fått en åtkomsttoken ska den skickas med i varje anrop via Authorization-headern som ett "Bearer"-värde.

Alla anrop måste innehålla er åtkomsttoken i Authorization-headern: Authorization: Bearer {{access-token}}

Innehållsförhandling

Alla anrop måste innehålla headern: Accept: application/vnd.api+json.
Anrop som skickar JSON-data måste innehålla headern: Content-Type: application/vnd.api+json

JSON:API-standarden

Kontainers API är ett RESTful API som följer standarden JSON API. Se standarden för mer information om hur anrops- och svarsdokumenten är uppbyggda.

Resurstyper

API:t exponerar följande resurstyper: 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 och job logs.

Skrivåtgärder

API:t har stöd för skrivåtgärder för resurserna: POST för att skapa, PATCH för att uppdatera och DELETE för att ta bort. Det är alltså inte skrivskyddat.

Begränsningar för antal anrop

Standardgränserna för API:t gäller för alla våra endpoints, och gränsen är 500 anrop per minut. Om gränsen överskrids svarar API:t med meddelandet 429: Too Many Attempts.

Svarskoder

Kontainers API svarar med HTTP-statuskoder och JSON-baserade felkoder och felmeddelanden.

HTTP-statuskoder

Tabellen nedan ger en översikt över de HTTP-statuskoder som returneras.

HTTP-statuskod Text Beskrivning
200 OK Lyckades.
201 Created Objektet har skapats.
204 No Content Inget innehåll returnerades.
401 Unauthorized Token saknas eller är ogiltig.
403 Forbidden Resursen eller anropet stöds inte.
404 Not Found Objektet hittades inte.
406 Not Acceptable Anropet kan inte godtas.
409 Conflict Konflikt i applikationens eller resursens tillstånd.
422 Validation Error Ett valideringsfel uppstod.
429 Too Many Requests Gränsen för antal anrop har överskridits.

Felmeddelanden

Exemplet nedan visar hur ett felmeddelande ser ut för HTTP-statuskoden 401 - Unauthorized.

Exempel på felmeddelande för 401 Unauthorized i Kontainers API

Filter

Filter kan användas på de endpoints som stöder det för att begränsa resultaten. Filter anges med frågeparametern filter. De filterfält som stöds finns i avsnittet Filter Attributes för varje endpoint.

Exempel:

Hämta en lista med kategoriartiklar/produkter:

filter[description][like] : Shoes

Hitta artiklar med exakt EAN:

filter[ean][eq] : 4194382028137

Hitta artiklar efter ett visst datum:

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

Hitta artiklar med en enhetskostnad på minst 22,50 och under 50,00:

filter[unit_cost][gte] : 22.50

filter[unit_cost][lt] : 50.00

Kontrollera om filer refereras i ett datafält i PIM:

filter[asset][exists] : 1

filter[asset][exists] : 0

Filteroperatorer

  • Lika med: [eq]
  • I: [in]
  • Liknar: [like]
  • Större än: [gt]
  • Större än eller lika med: [gte]
  • Mindre än: [lt]
  • Mindre än eller lika med: [lte]
  • Inte i: [notin]
  • Inte lika med: [ne] (observera: bara PIM)
  • Finns: [exists] (observera: bara PIM)

Observera: Vilka filteroperatorer som är tillåtna beror på elementet som söks.

Sammansatta dokument

JSONAPI – Compound Documents

För att minska antalet HTTP-anrop kan svaren från de endpoints som stöder det "inkludera" relaterade resurser tillsammans med de primära resurserna. Inkluderade resurser begärs med frågeparametern include. Vilka includes som stöds anges i avsnittet Available Includes för varje endpoint.

Exempel:

  • I endpointen GET /elements, för att inkludera tillhörande Element Options: include: element_option
  • I endpointen GET /items, för att inkludera rot-, förälder- och underartiklar: include: parent_item,root_item,children

Sidindelning

Svaren är sidindelade med en inställbar sidstorlek. Det finns inga bulk-endpoints eller webhooks.


API-kod

Gå direkt till koden för API-integrationen HÄR.

OBS: Ni behöver använda er egen unika Kontainer-URL i stället för den i exemplet i länken ovan ("app.kontainer.com").