---
title: API REST – Kits de produits
description: "Les composants d'un kit ont des quantités, peuvent eux-mêmes être des kits et participent au calcul du prix. Utilisez les opérations métier ci-dessous plutôt que les opérations génériques de listes connexes. Toutes les opérations utilisent des ID Webservice. La lecture…"
url: "https://www.kafinea.com/fr/documentation/api/api-rest-kits-de-produits/"
updated: "2026-11-04"
category: Intégrations / API
---

# API REST – Kits de produits

Les composants d'un kit ont des quantités, peuvent eux-mêmes être des kits et participent au calcul du prix. Utilisez les opérations métier ci-dessous plutôt que les opérations génériques de listes connexes.

Toutes les opérations utilisent des ID Webservice. La lecture exige l'accès au kit et à chacun de ses composants. Toute modification exige également le droit de modifier le kit.

## Lire la composition

> **GET** `https://apps.kafinea.com/{instance}/webservice.php`

| Paramètre | Type | Requis | Description |
| --- | --- | --- | --- |
| `operation` | string | oui | `product_kit_get_components` |
| `sessionName` | string | oui | Identifiant de session |
| `kitId` | string | oui | ID Webservice du kit |

```bash
curl "https://apps.kafinea.com/YourKafinea/webservice.php?operation=product_kit_get_components&sessionName=YOUR_SESSION_ID&kitId=14x120"
```

La réponse contient `components` avec l'identifiant, le code, le nom et la quantité de chaque composant. `integrityIssues` signale les anciennes références dont le produit a été supprimé ou n'existe plus.

## Remplacer toute la composition

> **POST** `https://apps.kafinea.com/{instance}/webservice.php`

| Paramètre | Type | Requis | Description |
| --- | --- | --- | --- |
| `operation` | string | oui | `product_kit_set_components` |
| `sessionName` | string | oui | Identifiant de session |
| `kitId` | string | oui | ID Webservice du kit |
| `components` | JSON | oui | Tableau des composants et quantités souhaités |

```bash
curl -X POST https://apps.kafinea.com/YourKafinea/webservice.php 
  -d "operation=product_kit_set_components" 
  -d "sessionName=YOUR_SESSION_ID" 
  -d "kitId=14x120" 
  --data-urlencode 'components=[{"id":"14x201","quantity":2},{"id":"14x202","quantity":1.5}]'
```

Cette opération est idempotente : répéter exactement la même demande conserve la même composition. Tous les composants demandés sont validés avant la première écriture. Un produit existant mais inaccessible bloque donc l'opération entière.

Une référence orpheline déjà présente dans le kit ne bloque pas la réparation. Elle est retirée lors du remplacement et comptée dans `removedOrphans`.

## Ajouter un composant ou modifier sa quantité

Utilisez `product_kit_add_component` avec `kitId`, `componentId` et une `quantity` strictement positive. Si le composant est déjà présent, sa quantité est remplacée.

```bash
curl -X POST https://apps.kafinea.com/YourKafinea/webservice.php 
  -d "operation=product_kit_add_component" 
  -d "sessionName=YOUR_SESSION_ID" 
  -d "kitId=14x120" 
  -d "componentId=14x203" 
  -d "quantity=3"
```

## Retirer un composant

Utilisez `product_kit_remove_component` avec `kitId` et `componentId`. L'opération reste sans effet si le composant n'est pas présent.

## Règles et erreurs

Les quatre opérations appliquent les mêmes règles que l'écran Kafinea :

- une quantité doit être supérieure à zéro ;
- un kit ne peut pas se contenir directement ou indirectement ;
- un produit générique ou spécifique peut être composant, mais ne peut pas devenir lui-même un kit ;
- le prix est recalculé après une modification lorsque le mode de tarification le prévoit ;
- une erreur d'autorisation nomme le paramètre ou l'action refusée sans révéler le contenu protégé.

## Références associées

- [Relations entre entités](https://www.kafinea.com/fr/documentation/api/api-rest-operations-liees/)
- [Les kits de produits](https://www.kafinea.com/fr/documentation/catalogue/les-kits-de-produits/)
