{"id":8431,"date":"2026-10-08T10:16:01","date_gmt":"2026-10-08T08:16:01","guid":{"rendered":"https:\/\/helpdesk.kontainer.com\/article\/integracion-con-la-api-de-kontainer\/"},"modified":"2026-10-08T10:16:01","modified_gmt":"2026-10-08T08:16:01","slug":"integracion-con-la-api-de-kontainer","status":"publish","type":"article","link":"https:\/\/helpdesk.kontainer.com\/es\/article\/integracion-con-la-api-de-kontainer\/","title":{"rendered":"Integraci\u00f3n con la API de 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=\"Cabecera de la integraci\u00f3n con la API\" width=\"800\" height=\"389\" \/><\/picture><\/p>\n<p>La API de Kontainer facilita integrar tu software actual en la plataforma de Kontainer. Esta interfaz entre programas permite que tus aplicaciones intercambien datos con Kontainer y se puede usar para automatizar muchos procesos distintos.<\/p>\n<p>A continuaci\u00f3n repasamos los fundamentos de la configuraci\u00f3n de la API.<\/p>\n<p>La informaci\u00f3n de este art\u00edculo es t\u00e9cnica y est\u00e1 dirigida a los desarrolladores encargados de configurar la API. Si tienes cualquier duda, no dudes en escribirnos.<\/p>\n<p>Visita la <a href=\"https:\/\/kontainer.com\/es\/integrations\/api\" target=\"_blank\" rel=\"noopener\"><strong>p\u00e1gina de integraci\u00f3n de Kontainer<\/strong> <\/a>para saber m\u00e1s sobre nuestra API. Encontrar\u00e1s m\u00e1s informaci\u00f3n sobre casos de uso, ventajas, etc.<\/p>\n<blockquote>\n<h2 id=\"apicode\">C\u00f3digo de la API<\/h2>\n<p><span style=\"color: #00f595\"><span style=\"color: #000000\">Ve directamente al c\u00f3digo para la integraci\u00f3n con la API <a style=\"color: #000000\" href=\"https:\/\/app.kontainer.com\/api\/documentation\" target=\"_blank\" rel=\"noopener\"><strong>AQU\u00cd<\/strong><\/a> (en ingl\u00e9s).<\/span> <\/span><\/p>\n<p><em><strong>NOTA:<\/strong> debes usar tu URL de Kontainer \u00fanica en lugar de la que aparece en el ejemplo de los enlaces anteriores (\u00abapp.kontainer.com\u00bb).<\/em><\/p>\n<\/blockquote>\n<hr \/>\n<h2 id=\"gettingstarted\">Primeros pasos<\/h2>\n<p>Para usar la API de Kontainer necesitas una cuenta de Kontainer y un token de acceso a la API.<\/p>\n<p>Ponte en contacto con tu administrador local o con el <a href=\"mailto:support@kontainer.com\" target=\"_blank\" rel=\"noopener noreferrer\">soporte de Kontainer<\/a> para obtener m\u00e1s informaci\u00f3n sobre c\u00f3mo acceder a la API de Kontainer.<\/p>\n<h3>Autenticaci\u00f3n<\/h3>\n<p>La API de Kontainer usa <em>OAuth<\/em> para la autenticaci\u00f3n. Cuando te den un token de acceso a la API, debes enviarlo en cada solicitud, en la cabecera Authorization, como valor \u00abBearer\u00bb.<\/p>\n<p>Todas las solicitudes deben incluir tu token de acceso a la API en la cabecera Authorization: <mark><code> Authorization: Bearer {{access-token}}<\/code><\/mark><\/p>\n<h3>Negociaci\u00f3n de contenido<\/h3>\n<p>Todas las solicitudes <strong>deben<\/strong> incluir la cabecera: <mark><code> Accept: application\/vnd.api+json <\/code><\/mark>.<br \/>Las solicitudes que env\u00eden datos JSON <strong>deben<\/strong> incluir la cabecera: <mark><code> Content-Type: application\/vnd.api+json <\/code><\/mark><\/p>\n<h3>Est\u00e1ndar JSON:API<\/h3>\n<p>La API de Kontainer es una API <em>RESTful<\/em> que sigue el est\u00e1ndar <a href=\"https:\/\/jsonapi.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">JSON API<\/a>. Puedes consultar este est\u00e1ndar para m\u00e1s informaci\u00f3n sobre c\u00f3mo se estructuran los documentos de solicitud y de respuesta.<\/p>\n<h2 id=\"resourcetypes\">Tipos de recurso<\/h2>\n<p>La API expone estos tipos de recurso: <code>files<\/code>, <code>folders<\/code>, <code>users<\/code>, <code>tags<\/code>, <code>channels<\/code>, <code>elements<\/code>, <code>element-options<\/code>, <code>categories<\/code>, <code>custom-fields<\/code>, <code>download-templates<\/code>, <code>video-download-templates<\/code>, <code>cdn<\/code>, <code>user-groups<\/code>, permisos de carpetas (folder permissions), consent wards, consent agreements, consent parties, <code>statistics<\/code> y registros de tareas (job logs).<\/p>\n<h2 id=\"writeoperations\">Operaciones de escritura<\/h2>\n<p>La API admite operaciones de escritura en todos los recursos: <strong>POST<\/strong> para crear, <strong>PATCH<\/strong> para actualizar y <strong>DELETE<\/strong> para eliminar. No es de solo lectura.<\/p>\n<h3>L\u00edmites de frecuencia<\/h3>\n<p>Los l\u00edmites de frecuencia est\u00e1ndar de la API se aplican a todos los endpoints que ofrecemos, y el l\u00edmite es de <mark><code> 500<\/code><\/mark> solicitudes por minuto. Si se supera el l\u00edmite definido, la API responde con el mensaje: <mark><code>429: Too Many Attempts<\/code><\/mark>.<\/p>\n<h3>C\u00f3digos de respuesta<\/h3>\n<p>La API de Kontainer responde con c\u00f3digos de estado HTTP y con c\u00f3digos y mensajes de error basados en JSON.<\/p>\n<h3>C\u00f3digos de estado HTTP<\/h3>\n<p>La tabla siguiente ofrece un resumen de los c\u00f3digos de estado HTTP que se devuelven.<\/p>\n<table style=\"height: 340px\" width=\"800\">\n<thead>\n<tr>\n<th style=\"text-align: left\"><strong>C\u00f3digo de estado HTTP<\/strong><\/th>\n<th style=\"text-align: left\"><strong>Texto<\/strong><\/th>\n<th style=\"text-align: left\"><strong>Descripci\u00f3n<\/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\">Correcto.<\/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\">Objeto creado.<\/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\">No se devuelve contenido.<\/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\">Falta el token o no es v\u00e1lido.<\/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\">Recurso o solicitud no admitidos.<\/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\">Objeto no encontrado.<\/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\">Solicitud no aceptable.<\/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\">Conflicto con el estado de la aplicaci\u00f3n o del recurso.<\/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\">Se ha producido un error de validaci\u00f3n.<\/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\">Se ha superado el l\u00edmite de frecuencia.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Mensajes de error<\/h3>\n<p>El ejemplo siguiente muestra el aspecto que tiene un mensaje de error para el c\u00f3digo de estado HTTP <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=\"Ejemplo de un mensaje de error 401 Unauthorized en la API de Kontainer\" \/><\/picture><\/p>\n<h2 id=\"filters\">Filtros<\/h2>\n<p>Se pueden aplicar filtros a los endpoints compatibles para limitar los resultados que se devuelven. Los filtros se aplican con el par\u00e1metro de consulta <mark><code>filter<\/code><\/mark>. Los campos de filtro admitidos aparecen en la secci\u00f3n <strong>Filter Attributes<\/strong> de cada endpoint.<\/p>\n<p><strong>Ejemplos:<\/strong><\/p>\n<p>Obtener una lista de elementos o productos de una categor\u00eda:<\/p>\n<p><mark><code>filter[description][like]<\/code><\/mark> : <mark><code>Shoes<\/code><\/mark><\/p>\n<p>Encontrar elementos por EAN exacto:<\/p>\n<p><mark><code>filter[ean][eq]<\/code><\/mark> : <mark><code>4194382028137<\/code><\/mark><\/p>\n<p>Encontrar elementos posteriores a una fecha:<\/p>\n<p><mark><code>filter[released_on][gt]<\/code><\/mark> : <mark><code>2020-01-01<\/code><\/mark><\/p>\n<p>Encontrar elementos con un coste unitario mayor o igual que 22,50 y menor que 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>Comprobar si hay archivos a los que se hace referencia en un campo de datos del 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>Calificadores de filtro<\/strong><\/p>\n<ul>\n<li>Igual a: [eq]<\/li>\n<li>En: [in]<\/li>\n<li>Similar a: [like]<\/li>\n<li>Mayor que: [gt]<\/li>\n<li>Mayor o igual que: [gte]<\/li>\n<li>Menor que: [lt]<\/li>\n<li>Menor o igual que: [lte]<\/li>\n<li>No en: [notin]<\/li>\n<li>Distinto de: [ne] <em>(ten en cuenta: solo PIM)<\/em><\/li>\n<li>Existe: [exists] (<em>ten en cuenta: solo PIM)<\/em><\/li>\n<\/ul>\n<p><strong>Nota: los calificadores de filtro permitidos dependen del elemento en el que se busca.<\/strong><\/p>\n<h2 id=\"compounddocuments\">Documentos compuestos<\/h2>\n<p><a href=\"https:\/\/jsonapi.org\/format\/#document-compound-documents\" target=\"_blank\" rel=\"noopener noreferrer\">JSONAPI &#8211; Compound Documents<\/a> (en ingl\u00e9s)<\/p>\n<p>Para reducir el n\u00famero de solicitudes HTTP, en los endpoints compatibles se puede pedir que las respuestas \u00abincluyan\u00bb (include) los recursos relacionados junto con los recursos principales solicitados. Los recursos incluidos se piden con el par\u00e1metro de consulta <mark><code>include<\/code><\/mark>. Los elementos incluibles admitidos aparecen en la secci\u00f3n <strong>Available Includes<\/strong> de cada endpoint.<\/p>\n<p><strong>Ejemplos:<\/strong><\/p>\n<ul>\n<li>En el endpoint <strong>GET \/elements<\/strong>, para incluir las opciones de elemento asociadas: <mark><code>include: element_option<\/code><\/mark><\/li>\n<li>En el endpoint <strong>GET \/items<\/strong>, para incluir los elementos ra\u00edz, principal y secundarios: <mark><code>include: parent_item,root_item,children<\/code><\/mark><\/li>\n<\/ul>\n<h2 id=\"pagination\">Paginaci\u00f3n<\/h2>\n<p>Las respuestas est\u00e1n paginadas, con un tama\u00f1o de p\u00e1gina configurable. No se ofrecen endpoints masivos ni webhooks.<\/p>\n<hr \/>\n<blockquote>\n<h2 id=\"apicode-2\">C\u00f3digo de la API<\/h2>\n<p><span style=\"color: #00f595\"><span style=\"color: #000000\">Ve directamente al c\u00f3digo para la integraci\u00f3n con la API <a style=\"color: #000000\" href=\"https:\/\/app.kontainer.com\/api\/documentation\" target=\"_blank\" rel=\"noopener\"><strong>AQU\u00cd<\/strong><\/a> (en ingl\u00e9s).<\/span> <\/span><\/p>\n<p><em><strong>NOTA:<\/strong> debes usar tu URL de Kontainer \u00fanica en lugar de la que aparece en el ejemplo de los enlaces anteriores (\u00abapp.kontainer.com\u00bb).<\/em><\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>La API de Kontainer facilita integrar tu software actual en la plataforma de Kontainer: autenticaci\u00f3n, tipos de recurso, operaciones de escritura, filtros, documentos compuestos y c\u00f3digos de respuesta.<\/p>\n","protected":false},"author":16,"featured_media":0,"menu_order":0,"comment_status":"","ping_status":"closed","template":"","article-category":[211],"article-tag":[216,219,222],"class_list":["post-8431","article","type-article","status-publish","hentry","article-category-integraciones-y-plugins","article-tag-solo-para-administradores","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\/"},"es":{"id":8431,"title":"Integraci\u00f3n con la API de Kontainer","url":"https:\/\/helpdesk.kontainer.com\/es\/article\/integracion-con-la-api-de-kontainer\/"},"fr":{"id":8319,"title":"Int\u00e9gration de l\u2019API Kontainer","url":"https:\/\/helpdesk.kontainer.com\/fr\/article\/integration-de-lapi-kontainer\/"},"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\/es\/wp-json\/wp\/v2\/article\/8431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helpdesk.kontainer.com\/es\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/helpdesk.kontainer.com\/es\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/helpdesk.kontainer.com\/es\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/helpdesk.kontainer.com\/es\/wp-json\/wp\/v2\/comments?post=8431"}],"version-history":[{"count":0,"href":"https:\/\/helpdesk.kontainer.com\/es\/wp-json\/wp\/v2\/article\/8431\/revisions"}],"wp:attachment":[{"href":"https:\/\/helpdesk.kontainer.com\/es\/wp-json\/wp\/v2\/media?parent=8431"}],"wp:term":[{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/helpdesk.kontainer.com\/es\/wp-json\/wp\/v2\/article-category?post=8431"},{"taxonomy":"article-tag","embeddable":true,"href":"https:\/\/helpdesk.kontainer.com\/es\/wp-json\/wp\/v2\/article-tag?post=8431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}