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 |
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 |
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.
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é.