{"id":444885,"date":"2026-09-18T23:47:17","date_gmt":"2026-09-18T21:47:17","guid":{"rendered":"https:\/\/www.kafinea.com\/documentation\/uncategorized\/api-rest-kits-de-produits\/"},"modified":"2026-09-18T23:47:17","modified_gmt":"2026-09-18T21:47:17","password":"","slug":"api-rest-kits-de-produits","status":"publish","type":"docs","link":"https:\/\/www.kafinea.com\/fr\/documentation\/api\/api-rest-kits-de-produits\/","title":{"rendered":"API REST &#8211; Kits de produits"},"content":{"rendered":"<p>Les composants d&rsquo;un kit ont des quantit\u00e9s, peuvent eux-m\u00eames \u00eatre des kits et participent au calcul du prix. Utilisez les op\u00e9rations m\u00e9tier ci-dessous plut\u00f4t que les op\u00e9rations g\u00e9n\u00e9riques de listes connexes.<\/p>\n<p>Toutes les op\u00e9rations utilisent des ID Webservice. La lecture exige l&rsquo;acc\u00e8s au kit et \u00e0 chacun de ses composants. Toute modification exige \u00e9galement le droit de modifier le kit.<\/p>\n<h2>Lire la composition<\/h2>\n<blockquote>\n<p><strong>GET<\/strong> <code>https:\/\/apps.kafinea.com\/{instance}\/webservice.php<\/code><\/p>\n<\/blockquote>\n<div style=\"overflow-x:auto\">\n<table>\n<thead>\n<tr>\n<th>Param\u00e8tre<\/th>\n<th>Type<\/th>\n<th>Requis<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>operation<\/code><\/td>\n<td>string<\/td>\n<td>oui<\/td>\n<td><code>product_kit_get_components<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>sessionName<\/code><\/td>\n<td>string<\/td>\n<td>oui<\/td>\n<td>Identifiant de session<\/td>\n<\/tr>\n<tr>\n<td><code>kitId<\/code><\/td>\n<td>string<\/td>\n<td>oui<\/td>\n<td>ID Webservice du kit<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<pre><code class=\"language-bash\">curl &quot;https:\/\/apps.kafinea.com\/YourKafinea\/webservice.php?operation=product_kit_get_components&amp;sessionName=YOUR_SESSION_ID&amp;kitId=14x120&quot;\n<\/code><\/pre>\n<p>La r\u00e9ponse contient <code>components<\/code> avec l&rsquo;identifiant, le code, le nom et la quantit\u00e9 de chaque composant. <code>integrityIssues<\/code> signale les anciennes r\u00e9f\u00e9rences dont le produit a \u00e9t\u00e9 supprim\u00e9 ou n&rsquo;existe plus.<\/p>\n<h2>Remplacer toute la composition<\/h2>\n<blockquote>\n<p><strong>POST<\/strong> <code>https:\/\/apps.kafinea.com\/{instance}\/webservice.php<\/code><\/p>\n<\/blockquote>\n<div style=\"overflow-x:auto\">\n<table>\n<thead>\n<tr>\n<th>Param\u00e8tre<\/th>\n<th>Type<\/th>\n<th>Requis<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>operation<\/code><\/td>\n<td>string<\/td>\n<td>oui<\/td>\n<td><code>product_kit_set_components<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>sessionName<\/code><\/td>\n<td>string<\/td>\n<td>oui<\/td>\n<td>Identifiant de session<\/td>\n<\/tr>\n<tr>\n<td><code>kitId<\/code><\/td>\n<td>string<\/td>\n<td>oui<\/td>\n<td>ID Webservice du kit<\/td>\n<\/tr>\n<tr>\n<td><code>components<\/code><\/td>\n<td>JSON<\/td>\n<td>oui<\/td>\n<td>Tableau des composants et quantit\u00e9s souhait\u00e9s<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<pre><code class=\"language-bash\">curl -X POST https:\/\/apps.kafinea.com\/YourKafinea\/webservice.php \\\n  -d &quot;operation=product_kit_set_components&quot; \\\n  -d &quot;sessionName=YOUR_SESSION_ID&quot; \\\n  -d &quot;kitId=14x120&quot; \\\n  --data-urlencode 'components=[{&quot;id&quot;:&quot;14x201&quot;,&quot;quantity&quot;:2},{&quot;id&quot;:&quot;14x202&quot;,&quot;quantity&quot;:1.5}]'\n<\/code><\/pre>\n<p>Cette op\u00e9ration est idempotente : r\u00e9p\u00e9ter exactement la m\u00eame demande conserve la m\u00eame composition. Tous les composants demand\u00e9s sont valid\u00e9s avant la premi\u00e8re \u00e9criture. Un produit existant mais inaccessible bloque donc l&rsquo;op\u00e9ration enti\u00e8re.<\/p>\n<p>Une r\u00e9f\u00e9rence orpheline d\u00e9j\u00e0 pr\u00e9sente dans le kit ne bloque pas la r\u00e9paration. Elle est retir\u00e9e lors du remplacement et compt\u00e9e dans <code>removedOrphans<\/code>.<\/p>\n<h2>Ajouter un composant ou modifier sa quantit\u00e9<\/h2>\n<p>Utilisez <code>product_kit_add_component<\/code> avec <code>kitId<\/code>, <code>componentId<\/code> et une <code>quantity<\/code> strictement positive. Si le composant est d\u00e9j\u00e0 pr\u00e9sent, sa quantit\u00e9 est remplac\u00e9e.<\/p>\n<pre><code class=\"language-bash\">curl -X POST https:\/\/apps.kafinea.com\/YourKafinea\/webservice.php \\\n  -d &quot;operation=product_kit_add_component&quot; \\\n  -d &quot;sessionName=YOUR_SESSION_ID&quot; \\\n  -d &quot;kitId=14x120&quot; \\\n  -d &quot;componentId=14x203&quot; \\\n  -d &quot;quantity=3&quot;\n<\/code><\/pre>\n<h2>Retirer un composant<\/h2>\n<p>Utilisez <code>product_kit_remove_component<\/code> avec <code>kitId<\/code> et <code>componentId<\/code>. L&rsquo;op\u00e9ration reste sans effet si le composant n&rsquo;est pas pr\u00e9sent.<\/p>\n<h2>R\u00e8gles et erreurs<\/h2>\n<p>Les quatre op\u00e9rations appliquent les m\u00eames r\u00e8gles que l&rsquo;\u00e9cran Kafinea :<\/p>\n<ul>\n<li>une quantit\u00e9 doit \u00eatre sup\u00e9rieure \u00e0 z\u00e9ro ;<\/li>\n<li>un kit ne peut pas se contenir directement ou indirectement ;<\/li>\n<li>un produit g\u00e9n\u00e9rique ou sp\u00e9cifique peut \u00eatre composant, mais ne peut pas devenir lui-m\u00eame un kit ;<\/li>\n<li>le prix est recalcul\u00e9 apr\u00e8s une modification lorsque le mode de tarification le pr\u00e9voit ;<\/li>\n<li>une erreur d&rsquo;autorisation nomme le param\u00e8tre ou l&rsquo;action refus\u00e9e sans r\u00e9v\u00e9ler le contenu prot\u00e9g\u00e9.<\/li>\n<\/ul>\n<h2>R\u00e9f\u00e9rences associ\u00e9es<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.kafinea.com\/fr\/documentation\/api\/api-rest-operations-liees\/\">Relations entre entit\u00e9s<\/a><\/li>\n<li><a href=\"https:\/\/www.kafinea.com\/fr\/documentation\/catalogue\/les-kits-de-produits\/\">Les kits de produits<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Les composants d&rsquo;un kit ont des quantit\u00e9s, peuvent eux-m\u00eames \u00eatre des kits et participent au calcul du prix. Utilisez les op\u00e9rations m\u00e9tier ci-dessous plut\u00f4t que les op\u00e9rations g\u00e9n\u00e9riques de listes connexes. Toutes les op\u00e9rations utilisent des ID Webservice. La lecture exige l&rsquo;acc\u00e8s au kit et \u00e0 chacun de ses composants. Toute modification exige \u00e9galement le&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"doc_category":[58],"doc_tag":[],"class_list":["post-444885","docs","type-docs","status-publish","hentry","doc_category-api"],"year_month":"2026-09","word_count":532,"total_views":0,"reactions":{"happy":0,"normal":0,"sad":0},"author_info":{"name":"David Valminos","author_nicename":"david","author_url":"https:\/\/www.kafinea.com\/fr\/author\/david\/"},"doc_category_info":[{"term_name":"API","term_url":"https:\/\/www.kafinea.com\/fr\/documentation\/api\/"}],"doc_tag_info":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Documentation - API REST - Kits de produits &#8226; Kafinea<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.kafinea.com\/fr\/documentation\/api\/api-rest-kits-de-produits\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Documentation - API REST - Kits de produits &#8226; Kafinea\" \/>\n<meta property=\"og:description\" content=\"Les composants d&rsquo;un kit ont des quantit\u00e9s, peuvent eux-m\u00eames \u00eatre des kits et participent au calcul du prix. Utilisez les op\u00e9rations m\u00e9tier ci-dessous plut\u00f4t que les op\u00e9rations g\u00e9n\u00e9riques de listes connexes. Toutes les op\u00e9rations utilisent des ID Webservice. La lecture exige l&rsquo;acc\u00e8s au kit et \u00e0 chacun de ses composants. Toute modification exige \u00e9galement le...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.kafinea.com\/fr\/documentation\/api\/api-rest-kits-de-produits\/\" \/>\n<meta property=\"og:site_name\" content=\"Kafinea\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/documentation\\\/api\\\/api-rest-kits-de-produits\\\/\",\"url\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/documentation\\\/api\\\/api-rest-kits-de-produits\\\/\",\"name\":\"Documentation - API REST - Kits de produits &#8226; Kafinea\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/#website\"},\"datePublished\":\"2026-09-18T21:47:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/documentation\\\/api\\\/api-rest-kits-de-produits\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/documentation\\\/api\\\/api-rest-kits-de-produits\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/documentation\\\/api\\\/api-rest-kits-de-produits\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API REST &#8211; Kits de produits\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/\",\"name\":\"Kafinea\",\"description\":\"Une solution unique pour toutes vos ambitions\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/#organization\",\"name\":\"Kafinea\",\"url\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.kafinea.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/Logo-Kafinea-SVG-orange-bleu.svg\",\"contentUrl\":\"https:\\\/\\\/www.kafinea.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/Logo-Kafinea-SVG-orange-bleu.svg\",\"width\":296.31,\"height\":66.48,\"caption\":\"Kafinea\"},\"image\":{\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/kafinea\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Documentation - API REST - Kits de produits &#8226; Kafinea","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.kafinea.com\/fr\/documentation\/api\/api-rest-kits-de-produits\/","og_locale":"fr_FR","og_type":"article","og_title":"Documentation - API REST - Kits de produits &#8226; Kafinea","og_description":"Les composants d&rsquo;un kit ont des quantit\u00e9s, peuvent eux-m\u00eames \u00eatre des kits et participent au calcul du prix. Utilisez les op\u00e9rations m\u00e9tier ci-dessous plut\u00f4t que les op\u00e9rations g\u00e9n\u00e9riques de listes connexes. Toutes les op\u00e9rations utilisent des ID Webservice. La lecture exige l&rsquo;acc\u00e8s au kit et \u00e0 chacun de ses composants. Toute modification exige \u00e9galement le...","og_url":"https:\/\/www.kafinea.com\/fr\/documentation\/api\/api-rest-kits-de-produits\/","og_site_name":"Kafinea","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.kafinea.com\/fr\/documentation\/api\/api-rest-kits-de-produits\/","url":"https:\/\/www.kafinea.com\/fr\/documentation\/api\/api-rest-kits-de-produits\/","name":"Documentation - API REST - Kits de produits &#8226; Kafinea","isPartOf":{"@id":"https:\/\/www.kafinea.com\/fr\/#website"},"datePublished":"2026-09-18T21:47:17+00:00","breadcrumb":{"@id":"https:\/\/www.kafinea.com\/fr\/documentation\/api\/api-rest-kits-de-produits\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.kafinea.com\/fr\/documentation\/api\/api-rest-kits-de-produits\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.kafinea.com\/fr\/documentation\/api\/api-rest-kits-de-produits\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.kafinea.com\/fr\/"},{"@type":"ListItem","position":2,"name":"API REST &#8211; Kits de produits"}]},{"@type":"WebSite","@id":"https:\/\/www.kafinea.com\/fr\/#website","url":"https:\/\/www.kafinea.com\/fr\/","name":"Kafinea","description":"Une solution unique pour toutes vos ambitions","publisher":{"@id":"https:\/\/www.kafinea.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.kafinea.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.kafinea.com\/fr\/#organization","name":"Kafinea","url":"https:\/\/www.kafinea.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.kafinea.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.kafinea.com\/wp-content\/uploads\/2024\/10\/Logo-Kafinea-SVG-orange-bleu.svg","contentUrl":"https:\/\/www.kafinea.com\/wp-content\/uploads\/2024\/10\/Logo-Kafinea-SVG-orange-bleu.svg","width":296.31,"height":66.48,"caption":"Kafinea"},"image":{"@id":"https:\/\/www.kafinea.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/kafinea\/"]}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"David Valminos","author_link":"https:\/\/www.kafinea.com\/fr\/author\/david\/"},"uagb_comment_info":0,"uagb_excerpt":"Les composants d&rsquo;un kit ont des quantit\u00e9s, peuvent eux-m\u00eames \u00eatre des kits et participent au calcul du prix. Utilisez les op\u00e9rations m\u00e9tier ci-dessous plut\u00f4t que les op\u00e9rations g\u00e9n\u00e9riques de listes connexes. Toutes les op\u00e9rations utilisent des ID Webservice. La lecture exige l&rsquo;acc\u00e8s au kit et \u00e0 chacun de ses composants. Toute modification exige \u00e9galement le...","_links":{"self":[{"href":"https:\/\/www.kafinea.com\/fr\/wp-json\/wp\/v2\/docs\/444885","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kafinea.com\/fr\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.kafinea.com\/fr\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.kafinea.com\/fr\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kafinea.com\/fr\/wp-json\/wp\/v2\/comments?post=444885"}],"version-history":[{"count":0,"href":"https:\/\/www.kafinea.com\/fr\/wp-json\/wp\/v2\/docs\/444885\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.kafinea.com\/fr\/wp-json\/wp\/v2\/media?parent=444885"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/www.kafinea.com\/fr\/wp-json\/wp\/v2\/doc_category?post=444885"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.kafinea.com\/fr\/wp-json\/wp\/v2\/doc_tag?post=444885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}