Stock
Les pièces de l’entreprise.
Tous ces outils s’appellent en POST avec une clé bbv_. Ce sont aussi les outils du serveur MCP.
vendor_context_get
Périmètre : lecture, clé read ou write.
Contexte de la clé : l’entreprise, ses points de retrait (id à donner pour créer une pièce) et les essences saisissables (nom, masse volumique).
Aucun paramètre nommé.
curl -X POST https://vendeurs.boudbois.fr/api/agent/tools/vendor_context_get \
-H "Authorization: Bearer $CLE" \
-H "Content-Type: application/json" \
-d '{}'vendor_stock_list
Périmètre : lecture, clé read ou write.
Pièces vivantes de l’entreprise, en ligne ou non (500 au plus, les plus récentes d’abord) : numéro, type, essence, dimensions, unité, prix, quantités, publication. Filtres q, published. Paginé : limit, offset.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
q | string | non | Texte : numéro, essence, type, référence. Au plus 100 caractères. |
published | boolean | non | true : en ligne seulement ; false : hors ligne. |
limit | integer | non | Défaut : 100. Minimum 1. Maximum 500. |
offset | integer | non | Défaut : 0. Minimum 0. Maximum 9007199254740991. |
curl -X POST https://vendeurs.boudbois.fr/api/agent/tools/vendor_stock_list \
-H "Authorization: Bearer $CLE" \
-H "Content-Type: application/json" \
-d '{}'vendor_pieces_near
Périmètre : lecture, clé read ou write.
Pièces disponibles les plus proches de critères (essence, type, épaisseur, largeur, longueur, qualité, sec) quand rien ne correspond exactement, triées par écart : même essence d’abord, puis écart relatif des dimensions. Critères à la main, ou repris d’une ligne de demande de pièces (requestRef + requestLine). Chaque pièce porte ses écarts (mm, m) et sa qualité, pour proposer une alternative au client. Seulement le stock en ligne de l’entreprise ; une ligne de demande doit lui être adressée.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
essence | string | non | Au plus 60 caractères. |
type | string | non | |
thicknessMm | number | non | Maximum 2000. |
widthMm | number | non | Maximum 2000. |
lengthM | number | non | Maximum 40. |
quality | string | non | Au plus 10 caractères. |
kilnDried | boolean | non | |
requestRef | string | non | Au plus 20 caractères. |
requestLine | integer | non | Maximum 200. |
entityId | string (uuid) | non | |
limit | integer | non | Défaut : 10. Minimum 1. Maximum 50. |
curl -X POST https://vendeurs.boudbois.fr/api/agent/tools/vendor_pieces_near \
-H "Authorization: Bearer $CLE" \
-H "Content-Type: application/json" \
-d '{}'vendor_pieces_get
Périmètre : lecture, clé read ou write.
Une pièce par id ou reference (numéro), avec ses photos ; history: true ajoute l’historique des modifications.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
id | string (uuid) | non | |
reference | string | non | Numéro de la pièce. Au moins 3 caractères. Au plus 40 caractères. |
history | boolean | non | Ajoute l’historique des modifications. Défaut : false. |
curl -X POST https://vendeurs.boudbois.fr/api/agent/tools/vendor_pieces_get \
-H "Authorization: Bearer $CLE" \
-H "Content-Type: application/json" \
-d '{}'vendor_pieces_create
Périmètre : écriture, clé write seulement.
Ajoute un lot de pièces identiques au stock. storageLocationId : un point de retrait de l’entreprise (vendor_context_get). Au mètre ou au m², priceHt obligatoire ; à la pièce, prix de la formule active si absent ; poids calculé si absent. Créée hors ligne sauf publish: true.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
type | string | oui | Code d’un type de pièce créé dans le CMS : plateaux, bois_amenagement, traverse, ou un type ajouté depuis (les « imparfaits » se posent en modification). |
essence | string | oui | Nom exact d’une essence de la liste. Au moins 1 caractères. Au plus 60 caractères. |
storageLocationId | string (uuid) | oui | Point de retrait : il désigne aussi le vendeur de la pièce. |
thicknessMm | integer | oui | Minimum 5. Maximum 500. |
widthMm | integer | oui | Minimum 5. Maximum 2000. |
lengthM | number | oui | Minimum 0.1. Maximum 12. |
quantityTotal | integer | oui | Nombre de pièces identiques du lot. Minimum 1. Maximum 5000. |
saleUnit | "piece" | "metre_lineaire" | "surface" | non | Absent : unité proposée par le type (traverse au mètre, le reste à la pièce). |
priceHt | number | non | Prix HT unitaire selon l’unité (pièce, mètre, m²). Obligatoire au mètre et au m². Absent à la pièce : calculé par la formule de prix active (priceSource « suggested »), sinon à compléter avant la mise en ligne. Minimum 0.01. Maximum 20000. |
priceSource | "manual" | "suggested" | non | |
baType | string | non | Sous-type, obligatoire pour du bois d’aménagement (Chevron, Poutre…) : un type de pièce créé dans le CMS. Au moins 1 caractères. Au plus 40 caractères. |
quality | "PA" | "P1" | "P2" | "P3" | "P4" | "AA" | "A1" | "A2" | "A3" | "A4" | "CA" | "C1" | "C2" | "C3" | "C4" | "F1" | "Cintré" | "Loupe" | non | |
section | string | non | Format 150x150 ; absent = déduite de l’épaisseur et de la largeur. |
weightKg | number | non | Absent = poids calculé par la base (cubage × masse volumique). Minimum 0.1. Maximum 100000. |
isNonStandard | boolean | non | |
isSquared | boolean | non | Bois d’aménagement de sous-type « Pièces équarries » (grille par section si épaisseur = largeur). |
kilnDried | boolean | non | |
storageBayId | string (uuid) | non | Travée du point de retrait. |
logId | string (uuid) | non | Grume d’origine (même vendeur). |
publish | boolean | non | Mettre en ligne juste après la création (exige un prix). Par défaut hors ligne. Défaut : false. |
curl -X POST https://vendeurs.boudbois.fr/api/agent/tools/vendor_pieces_create \
-H "Authorization: Bearer $CLE" \
-H "Content-Type: application/json" \
-d '{
"type": "…",
"essence": "…",
"storageLocationId": "00000000-0000-0000-0000-000000000000",
"thicknessMm": 5,
"widthMm": 5,
"lengthM": 0.1,
"quantityTotal": 1
}'vendor_pieces_update
Périmètre : écriture, clé write seulement.
Modifie une pièce : fields ne contient QUE les champs à changer, le reste est repris de la pièce. Une pièce déjà vendue ne change plus que de quantité (jamais sous le vendu) et de prix.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
id | string (uuid) | oui | |
fields | object | oui | |
fields.essence | string | non | Nom exact d’une essence de la liste. Au moins 1 caractères. Au plus 60 caractères. |
fields.storageLocationId | string (uuid) | non | Point de retrait : il désigne aussi le vendeur de la pièce. |
fields.thicknessMm | integer | non | Minimum 5. Maximum 500. |
fields.widthMm | integer | non | Minimum 5. Maximum 2000. |
fields.lengthM | number | non | Minimum 0.1. Maximum 12. |
fields.quantityTotal | integer | non | Nombre de pièces identiques du lot. Minimum 1. Maximum 5000. |
fields.saleUnit | "piece" | "metre_lineaire" | "surface" | non | Absent : unité proposée par le type (traverse au mètre, le reste à la pièce). |
fields.priceHt | number | non | Prix HT unitaire selon l’unité (pièce, mètre, m²). Obligatoire au mètre et au m². Absent à la pièce : calculé par la formule de prix active (priceSource « suggested »), sinon à compléter avant la mise en ligne. Minimum 0.01. Maximum 20000. |
fields.priceSource | "manual" | "suggested" | non | |
fields.baType | string | non | Sous-type, obligatoire pour du bois d’aménagement (Chevron, Poutre…) : un type de pièce créé dans le CMS. Au moins 1 caractères. Au plus 40 caractères. |
fields.quality | "PA" | "P1" | "P2" | "P3" | "P4" | "AA" | "A1" | "A2" | "A3" | "A4" | "CA" | "C1" | "C2" | "C3" | "C4" | "F1" | "Cintré" | "Loupe" | non | |
fields.section | string | non | Format 150x150 ; absent = déduite de l’épaisseur et de la largeur. |
fields.weightKg | number | non | Absent = poids calculé par la base (cubage × masse volumique). Minimum 0.1. Maximum 100000. |
fields.isNonStandard | boolean | non | |
fields.isSquared | boolean | non | Bois d’aménagement de sous-type « Pièces équarries » (grille par section si épaisseur = largeur). |
fields.kilnDried | boolean | non | |
fields.storageBayId | string (uuid) | non | Travée du point de retrait. |
fields.logId | string (uuid) | non | Grume d’origine (même vendeur). |
fields.type | string | non |
curl -X POST https://vendeurs.boudbois.fr/api/agent/tools/vendor_pieces_update \
-H "Authorization: Bearer $CLE" \
-H "Content-Type: application/json" \
-d '{
"id": "00000000-0000-0000-0000-000000000000",
"fields": {}
}'vendor_pieces_duplicate
Périmètre : écriture, clé write seulement.
Crée une nouvelle pièce à partir d’une existante (comme « Dupliquer » de l’écran Stock), avec overrides pour les champs qui changent. Créée hors ligne.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
id | string (uuid) | oui | |
overrides | object | non | Champs à changer sur la copie (longueur, quantité, prix…). Défaut : {}. |
overrides.essence | string | non | Nom exact d’une essence de la liste. Au moins 1 caractères. Au plus 60 caractères. |
overrides.storageLocationId | string (uuid) | non | Point de retrait : il désigne aussi le vendeur de la pièce. |
overrides.thicknessMm | integer | non | Minimum 5. Maximum 500. |
overrides.widthMm | integer | non | Minimum 5. Maximum 2000. |
overrides.lengthM | number | non | Minimum 0.1. Maximum 12. |
overrides.quantityTotal | integer | non | Nombre de pièces identiques du lot. Minimum 1. Maximum 5000. |
overrides.saleUnit | "piece" | "metre_lineaire" | "surface" | non | Absent : unité proposée par le type (traverse au mètre, le reste à la pièce). |
overrides.priceHt | number | non | Prix HT unitaire selon l’unité (pièce, mètre, m²). Obligatoire au mètre et au m². Absent à la pièce : calculé par la formule de prix active (priceSource « suggested »), sinon à compléter avant la mise en ligne. Minimum 0.01. Maximum 20000. |
overrides.priceSource | "manual" | "suggested" | non | |
overrides.baType | string | non | Sous-type, obligatoire pour du bois d’aménagement (Chevron, Poutre…) : un type de pièce créé dans le CMS. Au moins 1 caractères. Au plus 40 caractères. |
overrides.quality | "PA" | "P1" | "P2" | "P3" | "P4" | "AA" | "A1" | "A2" | "A3" | "A4" | "CA" | "C1" | "C2" | "C3" | "C4" | "F1" | "Cintré" | "Loupe" | non | |
overrides.section | string | non | Format 150x150 ; absent = déduite de l’épaisseur et de la largeur. |
overrides.weightKg | number | non | Absent = poids calculé par la base (cubage × masse volumique). Minimum 0.1. Maximum 100000. |
overrides.isNonStandard | boolean | non | |
overrides.isSquared | boolean | non | Bois d’aménagement de sous-type « Pièces équarries » (grille par section si épaisseur = largeur). |
overrides.kilnDried | boolean | non | |
overrides.storageBayId | string (uuid) | non | Travée du point de retrait. |
overrides.logId | string (uuid) | non | Grume d’origine (même vendeur). |
overrides.type | string | non |
curl -X POST https://vendeurs.boudbois.fr/api/agent/tools/vendor_pieces_duplicate \
-H "Authorization: Bearer $CLE" \
-H "Content-Type: application/json" \
-d '{
"id": "00000000-0000-0000-0000-000000000000"
}'vendor_pieces_publish
Périmètre : écriture, clé write seulement.
Met une pièce en ligne (published: true, exige un prix) ou la retire du site (false, archivage). Le stock et les commandes en cours ne bougent pas.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
id | string (uuid) | oui | |
published | boolean | oui |
curl -X POST https://vendeurs.boudbois.fr/api/agent/tools/vendor_pieces_publish \
-H "Authorization: Bearer $CLE" \
-H "Content-Type: application/json" \
-d '{
"id": "00000000-0000-0000-0000-000000000000",
"published": true
}'vendor_pieces_delete
Périmètre : écriture, clé write seulement.
Supprime une pièce jamais vendue ni commandée (suppression logique, restaurable, numéro conservé). Sinon refusé : la retirer du site avec vendor_pieces_publish.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
id | string (uuid) | oui |
curl -X POST https://vendeurs.boudbois.fr/api/agent/tools/vendor_pieces_delete \
-H "Authorization: Bearer $CLE" \
-H "Content-Type: application/json" \
-d '{
"id": "00000000-0000-0000-0000-000000000000"
}'vendor_pieces_images_set
Périmètre : écriture, clé write seulement.
Remplace la galerie photo d’une pièce (URLs http(s) déjà hébergées, texte alternatif, cadrage center ou top). Liste vide = aucune photo.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
id | string (uuid) | oui | |
images | object[] | oui | |
images[].url | string (uri) | oui | URL http(s) d’une image déjà hébergée. |
images[].alt | string | non | Au plus 300 caractères. |
images[].position | string | non | Cadrage CSS (ex. center, top). Au plus 40 caractères. |
curl -X POST https://vendeurs.boudbois.fr/api/agent/tools/vendor_pieces_images_set \
-H "Authorization: Bearer $CLE" \
-H "Content-Type: application/json" \
-d '{
"id": "00000000-0000-0000-0000-000000000000",
"images": []
}'