{"id":7863,"date":"2026-09-30T08:16:30","date_gmt":"2026-09-30T06:16:30","guid":{"rendered":"https:\/\/helpdesk.kontainer.com\/article\/kontainer-api-integration\/"},"modified":"2026-09-30T08:16:30","modified_gmt":"2026-09-30T06:16:30","slug":"kontainer-api-integration","status":"publish","type":"article","link":"https:\/\/helpdesk.kontainer.com\/sv\/article\/kontainer-api-integration\/","title":{"rendered":"API-integration med Kontainer"},"content":{"rendered":"<p><picture><source type=\"image\/avif\" srcset=\"https:\/\/helpdesk.kontainer.com\/wp-content\/uploads\/2023\/03\/API-integration-HERO-1.avif?v=1763368898\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/helpdesk.kontainer.com\/wp-content\/uploads\/2023\/03\/API-integration-HERO-1.png?v=1763368897\" alt=\"API-integration med Kontainer\" width=\"800\" height=\"389\" \/><\/picture><\/p>\n<p>Med Kontainers API \u00e4r det enkelt att integrera er befintliga programvara med Kontainer-plattformen. Gr\u00e4nssnittet mellan system g\u00f6r att era applikationer kan utbyta data med Kontainer, och det kan anv\u00e4ndas f\u00f6r att automatisera m\u00e5nga olika processer.<\/p>\n<p>Nedan g\u00e5r vi igenom grunderna i upps\u00e4ttningen av API:t.<\/p>\n<p>Informationen i artikeln \u00e4r teknisk och riktar sig till de utvecklare som ansvarar f\u00f6r upps\u00e4ttningen av API:t. H\u00f6r g\u00e4rna av er om ni har fr\u00e5gor.<\/p>\n<p>Bes\u00f6k <a href=\"https:\/\/kontainer.com\/sv\/integrations\/api\" target=\"_blank\" rel=\"noopener\"><strong>Kontainers integrationssida<\/strong><\/a> f\u00f6r att l\u00e4sa mer om v\u00e5rt API, bland annat anv\u00e4ndningsomr\u00e5den och f\u00f6rdelar.<\/p>\n<blockquote>\n<h2 id=\"apicode\">API-kod<\/h2>\n<p>G\u00e5 direkt till koden f\u00f6r API-integrationen <a href=\"https:\/\/app.kontainer.com\/api\/documentation\" target=\"_blank\" rel=\"noopener\"><strong>H\u00c4R<\/strong><\/a>.<\/p>\n<p><em><strong>OBS:<\/strong> Ni beh\u00f6ver anv\u00e4nda er egen unika Kontainer-URL i st\u00e4llet f\u00f6r den i exemplet i l\u00e4nken ovan (&#8221;app.kontainer.com&#8221;).<\/em><\/p>\n<\/blockquote>\n<hr \/>\n<h2 id=\"gettingstarted\">Kom i g\u00e5ng<\/h2>\n<p>F\u00f6r att anv\u00e4nda Kontainers API beh\u00f6ver ni ett konto hos Kontainer och en \u00e5tkomsttoken f\u00f6r API:t.<\/p>\n<p>Kontakta er lokala administrat\u00f6r eller <a href=\"mailto:support@kontainer.com\" target=\"_blank\" rel=\"noopener noreferrer\">Kontainers support<\/a> f\u00f6r mer information om hur ni f\u00e5r \u00e5tkomst till Kontainers API.<\/p>\n<h3>Autentisering<\/h3>\n<p>Kontainers API anv\u00e4nder <em>OAuth<\/em> f\u00f6r autentisering. N\u00e4r ni har f\u00e5tt en \u00e5tkomsttoken ska den skickas med i varje anrop via Authorization-headern som ett &#8221;Bearer&#8221;-v\u00e4rde.<\/p>\n<p>Alla anrop m\u00e5ste inneh\u00e5lla er \u00e5tkomsttoken i Authorization-headern: <mark><code>Authorization: Bearer {{access-token}}<\/code><\/mark><\/p>\n<h3>Inneh\u00e5llsf\u00f6rhandling<\/h3>\n<p>Alla anrop <strong>m\u00e5ste<\/strong> inneh\u00e5lla headern: <mark><code>Accept: application\/vnd.api+json<\/code><\/mark>.<br \/>Anrop som skickar JSON-data <strong>m\u00e5ste<\/strong> inneh\u00e5lla headern: <mark><code>Content-Type: application\/vnd.api+json<\/code><\/mark><\/p>\n<h3>JSON:API-standarden<\/h3>\n<p>Kontainers API \u00e4r ett <em>RESTful<\/em> API som f\u00f6ljer standarden <a href=\"https:\/\/jsonapi.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">JSON API<\/a>. Se standarden f\u00f6r mer information om hur anrops- och svarsdokumenten \u00e4r uppbyggda.<\/p>\n<h2 id=\"resourcetypes\">Resurstyper<\/h2>\n<p>API:t exponerar f\u00f6ljande 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.<\/p>\n<h2 id=\"writeoperations\">Skriv\u00e5tg\u00e4rder<\/h2>\n<p>API:t har st\u00f6d f\u00f6r skriv\u00e5tg\u00e4rder f\u00f6r resurserna: <strong>POST<\/strong> f\u00f6r att skapa, <strong>PATCH<\/strong> f\u00f6r att uppdatera och <strong>DELETE<\/strong> f\u00f6r att ta bort. Det \u00e4r allts\u00e5 inte skrivskyddat.<\/p>\n<h3>Begr\u00e4nsningar f\u00f6r antal anrop<\/h3>\n<p>Standardgr\u00e4nserna f\u00f6r API:t g\u00e4ller f\u00f6r alla v\u00e5ra endpoints, och gr\u00e4nsen \u00e4r <mark><code>500<\/code><\/mark> anrop per minut. Om gr\u00e4nsen \u00f6verskrids svarar API:t med meddelandet <mark><code>429: Too Many Attempts<\/code><\/mark>.<\/p>\n<h3>Svarskoder<\/h3>\n<p>Kontainers API svarar med HTTP-statuskoder och JSON-baserade felkoder och felmeddelanden.<\/p>\n<h3>HTTP-statuskoder<\/h3>\n<p>Tabellen nedan ger en \u00f6versikt \u00f6ver de HTTP-statuskoder som returneras.<\/p>\n<table style=\"height: 340px\" width=\"800\">\n<thead>\n<tr>\n<th style=\"text-align: left\"><strong>HTTP-statuskod<\/strong><\/th>\n<th style=\"text-align: left\"><strong>Text<\/strong><\/th>\n<th style=\"text-align: left\"><strong>Beskrivning<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left\">200<\/td>\n<td style=\"text-align: left\">OK<\/td>\n<td style=\"text-align: left\">Lyckades.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left\">201<\/td>\n<td style=\"text-align: left\">Created<\/td>\n<td style=\"text-align: left\">Objektet har skapats.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left\">204<\/td>\n<td style=\"text-align: left\">No Content<\/td>\n<td style=\"text-align: left\">Inget inneh\u00e5ll returnerades.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left\">401<\/td>\n<td style=\"text-align: left\">Unauthorized<\/td>\n<td style=\"text-align: left\">Token saknas eller \u00e4r ogiltig.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left\">403<\/td>\n<td style=\"text-align: left\">Forbidden<\/td>\n<td style=\"text-align: left\">Resursen eller anropet st\u00f6ds inte.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left\">404<\/td>\n<td style=\"text-align: left\">Not Found<\/td>\n<td style=\"text-align: left\">Objektet hittades inte.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left\">406<\/td>\n<td style=\"text-align: left\">Not Acceptable<\/td>\n<td style=\"text-align: left\">Anropet kan inte godtas.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left\">409<\/td>\n<td style=\"text-align: left\">Conflict<\/td>\n<td style=\"text-align: left\">Konflikt i applikationens eller resursens tillst\u00e5nd.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left\">422<\/td>\n<td style=\"text-align: left\">Validation Error<\/td>\n<td style=\"text-align: left\">Ett valideringsfel uppstod.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left\">429<\/td>\n<td style=\"text-align: left\">Too Many Requests<\/td>\n<td style=\"text-align: left\">Gr\u00e4nsen f\u00f6r antal anrop har \u00f6verskridits.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Felmeddelanden<\/h3>\n<p>Exemplet nedan visar hur ett felmeddelande ser ut f\u00f6r HTTP-statuskoden <mark><code>401 - Unauthorized<\/code><\/mark>.<\/p>\n<p><picture><source type=\"image\/webp\" srcset=\"https:\/\/helpdesk.kontainer.com\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-04-at-10.30.42.webp?v=1763368898\"><img decoding=\"async\" src=\"https:\/\/helpdesk.kontainer.com\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-04-at-10.30.42.png?v=1763368898\" alt=\"Exempel p\u00e5 felmeddelande f\u00f6r 401 Unauthorized i Kontainers API\" \/><\/picture><\/p>\n<h2 id=\"filters\">Filter<\/h2>\n<p>Filter kan anv\u00e4ndas p\u00e5 de endpoints som st\u00f6der det f\u00f6r att begr\u00e4nsa resultaten. Filter anges med fr\u00e5geparametern <mark><code>filter<\/code><\/mark>. De filterf\u00e4lt som st\u00f6ds finns i avsnittet <strong>Filter Attributes<\/strong> f\u00f6r varje endpoint.<\/p>\n<p><strong>Exempel:<\/strong><\/p>\n<p>H\u00e4mta en lista med kategoriartiklar\/produkter:<\/p>\n<p><mark><code>filter[description][like]<\/code><\/mark> : <mark><code>Shoes<\/code><\/mark><\/p>\n<p>Hitta artiklar med exakt EAN:<\/p>\n<p><mark><code>filter[ean][eq]<\/code><\/mark> : <mark><code>4194382028137<\/code><\/mark><\/p>\n<p>Hitta artiklar efter ett visst datum:<\/p>\n<p><mark><code>filter[released_on][gt]<\/code><\/mark> : <mark><code>2020-01-01<\/code><\/mark><\/p>\n<p>Hitta artiklar med en enhetskostnad p\u00e5 minst 22,50 och under 50,00:<\/p>\n<p><mark><code>filter[unit_cost][gte]<\/code><\/mark> : <mark><code>22.50<\/code><\/mark><\/p>\n<p><mark><code>filter[unit_cost][lt]<\/code><\/mark> : <mark><code>50.00<\/code><\/mark><\/p>\n<p>Kontrollera om filer refereras i ett dataf\u00e4lt i PIM:<\/p>\n<p><mark><code>filter[asset][exists]<\/code><\/mark> : <mark><code>1<\/code><\/mark><\/p>\n<p><mark><code>filter[asset][exists]<\/code><\/mark> : <mark><code>0<\/code><\/mark><\/p>\n<p><strong>Filteroperatorer<\/strong><\/p>\n<ul>\n<li>Lika med: [eq]<\/li>\n<li>I: [in]<\/li>\n<li>Liknar: [like]<\/li>\n<li>St\u00f6rre \u00e4n: [gt]<\/li>\n<li>St\u00f6rre \u00e4n eller lika med: [gte]<\/li>\n<li>Mindre \u00e4n: [lt]<\/li>\n<li>Mindre \u00e4n eller lika med: [lte]<\/li>\n<li>Inte i: [notin]<\/li>\n<li>Inte lika med: [ne] <em>(observera: bara PIM)<\/em><\/li>\n<li>Finns: [exists] <em>(observera: bara PIM)<\/em><\/li>\n<\/ul>\n<p><strong>Observera: Vilka filteroperatorer som \u00e4r till\u00e5tna beror p\u00e5 elementet som s\u00f6ks.<\/strong><\/p>\n<h2 id=\"compounddocuments\">Sammansatta dokument<\/h2>\n<p><a href=\"https:\/\/jsonapi.org\/format\/#document-compound-documents\" target=\"_blank\" rel=\"noopener noreferrer\">JSONAPI \u2013 Compound Documents<\/a><\/p>\n<p>F\u00f6r att minska antalet HTTP-anrop kan svaren fr\u00e5n de endpoints som st\u00f6der det &#8221;inkludera&#8221; relaterade resurser tillsammans med de prim\u00e4ra resurserna. Inkluderade resurser beg\u00e4rs med fr\u00e5geparametern <mark><code>include<\/code><\/mark>. Vilka includes som st\u00f6ds anges i avsnittet <strong>Available Includes<\/strong> f\u00f6r varje endpoint.<\/p>\n<p><strong>Exempel:<\/strong><\/p>\n<ul>\n<li>I endpointen <strong>GET \/elements<\/strong>, f\u00f6r att inkludera tillh\u00f6rande Element Options: <mark><code>include: element_option<\/code><\/mark><\/li>\n<li>I endpointen <strong>GET \/items<\/strong>, f\u00f6r att inkludera rot-, f\u00f6r\u00e4lder- och underartiklar: <mark><code>include: parent_item,root_item,children<\/code><\/mark><\/li>\n<\/ul>\n<h2 id=\"pagination\">Sidindelning<\/h2>\n<p>Svaren \u00e4r sidindelade med en inst\u00e4llbar sidstorlek. Det finns inga bulk-endpoints eller webhooks.<\/p>\n<hr \/>\n<blockquote>\n<h2 id=\"apicode-2\">API-kod<\/h2>\n<p>G\u00e5 direkt till koden f\u00f6r API-integrationen <a href=\"https:\/\/app.kontainer.com\/api\/documentation\" target=\"_blank\" rel=\"noopener\"><strong>H\u00c4R<\/strong><\/a>.<\/p>\n<p><em><strong>OBS:<\/strong> Ni beh\u00f6ver anv\u00e4nda er egen unika Kontainer-URL i st\u00e4llet f\u00f6r den i exemplet i l\u00e4nken ovan (&#8221;app.kontainer.com&#8221;).<\/em><\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Med Kontainers API \u00e4r det enkelt att integrera er befintliga programvara med Kontainer-plattformen. Gr\u00e4nssnittet mellan system g\u00f6r att era applikationer kan utbyta data med Kontainer, och det kan anv\u00e4ndas f\u00f6r att automatisera m\u00e5nga olika processer. Nedan g\u00e5r vi igenom grunderna i upps\u00e4ttningen av API:t. Informationen i artikeln \u00e4r teknisk och riktar sig till de utvecklare [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":0,"menu_order":0,"comment_status":"","ping_status":"closed","template":"","article-category":[139],"article-tag":[144,147,150],"class_list":["post-7863","article","type-article","status-publish","hentry","article-category-integrationer-plugins","article-tag-endast-for-administratorer","article-tag-pim","article-tag-dam"],"translations":{"da":{"id":7995,"title":"Kontainer API-integration","url":"https:\/\/helpdesk.kontainer.com\/da\/article\/kontainer-api-integration\/"},"de":{"id":6870,"title":"Kontainer API Integration","url":"https:\/\/helpdesk.kontainer.com\/de\/article\/kontainer-api-integration\/"},"en":{"id":4729,"title":"Kontainer API Integration","url":"https:\/\/helpdesk.kontainer.com\/article\/kontainer-api-integration\/"},"nl":{"id":8118,"title":"Kontainer-API-integratie","url":"https:\/\/helpdesk.kontainer.com\/nl\/article\/kontainer-api-integratie\/"},"sv":{"id":7863,"title":"API-integration med Kontainer","url":"https:\/\/helpdesk.kontainer.com\/sv\/article\/kontainer-api-integration\/"}},"_links":{"self":[{"href":"https:\/\/helpdesk.kontainer.com\/sv\/wp-json\/wp\/v2\/article\/7863","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helpdesk.kontainer.com\/sv\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/helpdesk.kontainer.com\/sv\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/helpdesk.kontainer.com\/sv\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/helpdesk.kontainer.com\/sv\/wp-json\/wp\/v2\/comments?post=7863"}],"version-history":[{"count":0,"href":"https:\/\/helpdesk.kontainer.com\/sv\/wp-json\/wp\/v2\/article\/7863\/revisions"}],"wp:attachment":[{"href":"https:\/\/helpdesk.kontainer.com\/sv\/wp-json\/wp\/v2\/media?parent=7863"}],"wp:term":[{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/helpdesk.kontainer.com\/sv\/wp-json\/wp\/v2\/article-category?post=7863"},{"taxonomy":"article-tag","embeddable":true,"href":"https:\/\/helpdesk.kontainer.com\/sv\/wp-json\/wp\/v2\/article-tag?post=7863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}