{"id":6870,"date":"2023-03-14T08:55:39","date_gmt":"2023-03-14T07:55:39","guid":{"rendered":"https:\/\/helpdesk.kontainer.com\/article\/kontainer-api-integration\/"},"modified":"2026-06-15T14:29:32","modified_gmt":"2026-06-15T12:29:32","slug":"kontainer-api-integration","status":"publish","type":"article","link":"https:\/\/helpdesk.kontainer.com\/de\/article\/kontainer-api-integration\/","title":{"rendered":"Kontainer API Integration"},"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 header\" width=\"800\" height=\"389\" \/><\/picture><\/p>\n<p>Die Kontainer API erm\u00f6glicht eine einfache Integration Ihrer bestehenden Software in die Kontainer-Plattform. Diese Software-zu-Software-Schnittstelle erlaubt es Ihren Anwendungen, Daten mit Kontainer auszutauschen, und kann zur Automatisierung vieler unterschiedlicher Prozesse genutzt werden.<\/p>\n<p>Im Folgenden gehen wir die Grundlagen der API-Einrichtung durch.<\/p>\n<p>Die Informationen in diesem Artikel sind technischer Natur und richten sich an Entwickler, die f\u00fcr die API-Einrichtung verantwortlich sind. Wenn Sie Fragen haben, melden Sie sich gerne bei uns.<\/p>\n<p>Besuchen Sie die <a href=\"https:\/\/kontainer.com\/de\/integrations\/api\" target=\"_blank\" rel=\"noopener\"><strong>Kontainer-Integrationsseite<\/strong><\/a>, um mehr \u00fcber unsere API zu erfahren. Dort finden Sie weitere Informationen zu Anwendungsf\u00e4llen, Vorteilen usw.<\/p>\n<blockquote>\n<h2 id=\"apicode\">API-Code<\/h2>\n<p><span style=\"color: #00f595\"><span style=\"color: #000000\">Direkt zum Code f\u00fcr die API-Integration gelangen Sie <a style=\"color: #000000\" href=\"https:\/\/app.kontainer.com\/api\/documentation\" target=\"_blank\" rel=\"noopener\"><strong>HIER<\/strong><\/a>.<\/span> <\/span><\/p>\n<p><em><strong>HINWEIS<\/strong>: Verwenden Sie bitte Ihre individuelle Kontainer-URL anstelle der in den oben verlinkten Beispielen verwendeten URL (\u201eapi.kontainer.com&#8220;)<\/em><\/p><\/blockquote>\n<hr \/>\n<h2 id=\"gettingstarted\">Erste Schritte<\/h2>\n<p>Um die Kontainer API nutzen zu k\u00f6nnen, ben\u00f6tigen Sie ein Kontainer-Konto sowie ein API-Zugriffstoken.<\/p>\n<p>Bitte wenden Sie sich an Ihren lokalen Administrator oder an den <a href=\"mailto:support@kontainer.com\" target=\"_blank\" rel=\"noopener noreferrer\">Kontainer Support<\/a>, um weitere Informationen zum Zugriff auf die Kontainer API zu erhalten.<\/p>\n<h3>Authentifizierung<\/h3>\n<p>Die Kontainer API verwendet <em>OAuth<\/em> zur Authentifizierung. Sobald Ihnen ein API-Zugriffstoken zur Verf\u00fcgung gestellt wurde, m\u00fcssen Sie dieses Token bei jeder Anfrage im Authorization-Header als \u201eBearer&#8220;-Wert mitsenden.<\/p>\n<p>Alle Anfragen m\u00fcssen Ihr API-Zugriffstoken im Authorization-Header enthalten: <mark><code> Authorization: Bearer {{access-token}}<\/code><\/mark><\/p>\n<h3>Content Negotiation<\/h3>\n<p>Alle Anfragen <strong>m\u00fcssen<\/strong> den folgenden Header enthalten: <mark><code> Accept: application\/vnd.api+json <\/code><\/mark>. Anfragen, die JSON-Daten senden, <strong>m\u00fcssen<\/strong> zus\u00e4tzlich den Header enthalten: <mark><code> Content-Type: application\/vnd.api+json <\/code><\/mark><\/p>\n<h3>JSON:API-Standard<\/h3>\n<p>Die Kontainer API ist eine <em>RESTful<\/em> API und folgt dem <a href=\"https:\/\/jsonapi.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">JSON API<\/a>-Standard. Weitere Informationen zur Struktur von Request- und Response-Dokumenten finden Sie in dieser Spezifikation.<\/p>\n<h2 id=\"resourcetypes\">Ressourcentypen<\/h2>\n<p>Die API stellt folgende Ressourcentypen bereit: 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 und job logs.<\/p>\n<h2 id=\"writeoperations\">Schreibende Operationen<\/h2>\n<p>Die API unterst\u00fctzt schreibende Operationen f\u00fcr alle Ressourcen: <strong>POST<\/strong> zum Erstellen, <strong>PATCH<\/strong> zum Aktualisieren und <strong>DELETE<\/strong> zum Entfernen. Die API ist nicht rein lesend (read-only).<\/p>\n<h3>Rate Limits<\/h3>\n<p>F\u00fcr alle bereitgestellten Endpunkte gelten die standardm\u00e4\u00dfigen API-Limits. Das Limit liegt bei <mark><code>500<\/code><\/mark> Anfragen pro Minute. Wird dieses Limit \u00fcberschritten, antwortet die API mit der Meldung: <mark><code>429: Too Many Attempts<\/code><\/mark>.<\/p>\n<h3>Response-Codes<\/h3>\n<p>Die Kontainer API antwortet mit HTTP-Statuscodes sowie JSON-basierten Fehlercodes und -meldungen.<\/p>\n<h3>HTTP-Statuscodes<\/h3>\n<p>Die folgende Tabelle gibt einen \u00dcberblick \u00fcber die zur\u00fcckgegebenen HTTP-Statuscodes.<\/p>\n<table style=\"height: 340px\" width=\"800\">\n<thead>\n<tr>\n<th style=\"text-align: left\"><strong>HTTP-Statuscode<\/strong><\/th>\n<th style=\"text-align: left\"><strong>Text<\/strong><\/th>\n<th style=\"text-align: left\"><strong>Beschreibung<\/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\">Erfolgreich.<\/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\">Objekt erstellt.<\/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\">Kein Inhalt zur\u00fcckgegeben.<\/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 fehlt oder ist ung\u00fcltig.<\/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\">Ressource oder Anfrage wird nicht unterst\u00fctzt.<\/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\">Objekt nicht gefunden.<\/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\">Anfrage nicht akzeptabel.<\/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 im Anwendungs- oder Ressourcenstatus.<\/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\">Validierungsfehler ist aufgetreten.<\/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\">Rate Limit \u00fcberschritten.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Fehlermeldungen<\/h3>\n<p>Das folgende Beispiel zeigt, wie eine Fehlermeldung f\u00fcr den HTTP-Statuscode <mark><code>401 - Unauthorized<\/code><\/mark> aussehen kann. <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\" \/><\/picture><\/p>\n<h2 id=\"filters\">Filter<\/h2>\n<p>Filter k\u00f6nnen auf unterst\u00fctzte Endpunkte angewendet werden, um die zur\u00fcckgegebenen Ergebnisse einzuschr\u00e4nken. Filter werden \u00fcber den Query-Parameter <mark><code>filter<\/code><\/mark> angewendet. Die unterst\u00fctzten Filterfelder finden Sie im Abschnitt <strong>Filter Attributes<\/strong> des jeweiligen Endpunkts.<\/p>\n<p><strong>Beispiele:<\/strong><\/p>\n<p>Liste von Kategorieelementen\/Produkten abrufen:<\/p>\n<p><mark><code>filter[description][like]<\/code><\/mark> : <mark><code>Shoes<\/code><\/mark><\/p>\n<p>Elemente anhand einer exakten EAN finden:<\/p>\n<p><mark><code>filter[ean][eq]<\/code><\/mark> : <mark><code>4194382028137<\/code><\/mark><\/p>\n<p>Elemente nach einem bestimmten Datum finden:<\/p>\n<p><mark><code>filter[released_on][gt]<\/code><\/mark> : <mark><code>2020-01-01<\/code><\/mark><\/p>\n<p>Elemente mit St\u00fcckkosten gr\u00f6\u00dfer oder gleich 22,50 und kleiner als 50,00 finden:<\/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>Pr\u00fcfen, ob Dateien in PIM-Datenfeld verkn\u00fcpft sind:<\/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>Filter-Operatoren<\/strong><\/p>\n<ul>\n<li>Gleich: [eq]<\/li>\n<li>Enthalten in: [in]<\/li>\n<li>\u00c4hnlich: [like]<\/li>\n<li>Gr\u00f6\u00dfer als: [gt]<\/li>\n<li>Gr\u00f6\u00dfer oder gleich: [gte]<\/li>\n<li>Kleiner als: [lt]<\/li>\n<li>Kleiner oder gleich: [lte]<\/li>\n<li>Nicht enthalten in: [notin]<\/li>\n<li>Nicht gleich: [ne] <em>(nur f\u00fcr PIM<\/em><em>)<\/em><\/li>\n<li>Existstiert: [exists] (<em>nur f\u00fcr PIM<\/em>)<\/li>\n<\/ul>\n<p><strong>Hinweis: Die erlaubten Filter-Operatoren h\u00e4ngen vom jeweils durchsuchten Element ab.<\/strong><\/p>\n<h2 id=\"compounddocuments\">Compound Documents<\/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>Um die Anzahl der HTTP-Anfragen zu reduzieren, k\u00f6nnen bei unterst\u00fctzten Endpunkten neben den angeforderten prim\u00e4ren Ressourcen auch zugeh\u00f6rige Ressourcen mit ausgegeben werden. Diese sogenannten \u201eIncluded Resources&#8220; werden \u00fcber den Query-Parameter <mark><code>include<\/code><\/mark> angefordert. Die unterst\u00fctzten Includes finden Sie im Abschnitt <strong>Available Includes<\/strong> des jeweiligen Endpunkts.<\/p>\n<p><strong>Beispiele:<\/strong><\/p>\n<ul>\n<li>Im Endpunkt <strong>GET \/elements<\/strong>, um die zugeh\u00f6rigen Elementoptionen einzuschlie\u00dfen: <mark><code>include: element_option<\/code><\/mark><\/li>\n<li>Im Endpunkt <strong>GET \/items<\/strong>, um Root-, Parent- und Child-Elemente einzuschlie\u00dfen: <mark><code>include: parent_item,root_item,children<\/code><\/mark><\/li>\n<\/ul>\n<h2 id=\"pagination\">Pagination<\/h2>\n<p>Antworten werden paginiert, mit einer konfigurierbaren Seitengr\u00f6\u00dfe. Es werden keine Bulk-Endpunkte oder Webhooks bereitgestellt.<\/p>\n<hr \/>\n<blockquote>\n<h2 id=\"apicode\">API-Code<\/h2>\n<p><span style=\"color: #00f595\"><span style=\"color: #000000\">Direkt zum Code f\u00fcr die API-Integration gelangen Sie <a style=\"color: #000000\" href=\"https:\/\/app.kontainer.com\/api\/documentation\" target=\"_blank\" rel=\"noopener\"><strong>HIER<\/strong><\/a>.<\/span> <\/span><\/p>\n<p><em><strong>HINWEIS<\/strong>: Verwenden Sie bitte Ihre individuelle Kontainer-URL anstelle der in den oben verlinkten Beispielen verwendeten URL (\u201eapi.kontainer.com&#8220;)<\/em><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Die Kontainer API erm\u00f6glicht eine einfache Integration Ihrer bestehenden Software in die Kontainer-Plattform. Diese Software-zu-Software-Schnittstelle erlaubt es Ihren Anwendungen, Daten mit Kontainer auszutauschen, und kann zur Automatisierung vieler unterschiedlicher Prozesse genutzt werden. Im Folgenden gehen wir die Grundlagen der API-Einrichtung durch. Die Informationen in diesem Artikel sind technischer Natur und richten sich an Entwickler, die [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","article-category":[68],"article-tag":[94,100,99],"class_list":["post-6870","article","type-article","status-publish","hentry","article-category-integrations-and-plugins","article-tag-admin-users-only","article-tag-dam","article-tag-pim"],"translations":{"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\/"},"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\/de\/wp-json\/wp\/v2\/article\/6870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helpdesk.kontainer.com\/de\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/helpdesk.kontainer.com\/de\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/helpdesk.kontainer.com\/de\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/helpdesk.kontainer.com\/de\/wp-json\/wp\/v2\/comments?post=6870"}],"version-history":[{"count":1,"href":"https:\/\/helpdesk.kontainer.com\/de\/wp-json\/wp\/v2\/article\/6870\/revisions"}],"predecessor-version":[{"id":6871,"href":"https:\/\/helpdesk.kontainer.com\/de\/wp-json\/wp\/v2\/article\/6870\/revisions\/6871"}],"wp:attachment":[{"href":"https:\/\/helpdesk.kontainer.com\/de\/wp-json\/wp\/v2\/media?parent=6870"}],"wp:term":[{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/helpdesk.kontainer.com\/de\/wp-json\/wp\/v2\/article-category?post=6870"},{"taxonomy":"article-tag","embeddable":true,"href":"https:\/\/helpdesk.kontainer.com\/de\/wp-json\/wp\/v2\/article-tag?post=6870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}