Aller au contenu
Boud’bOis, doc vendeurs
Outils

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ètreTypeRequisDescription
qstringnonTexte : numéro, essence, type, référence. Au plus 100 caractères.
publishedbooleannontrue : en ligne seulement ; false : hors ligne.
limitintegernonDéfaut : 100. Minimum 1. Maximum 500.
offsetintegernonDé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ètreTypeRequisDescription
essencestringnonAu plus 60 caractères.
typestringnon
thicknessMmnumbernonMaximum 2000.
widthMmnumbernonMaximum 2000.
lengthMnumbernonMaximum 40.
qualitystringnonAu plus 10 caractères.
kilnDriedbooleannon
requestRefstringnonAu plus 20 caractères.
requestLineintegernonMaximum 200.
entityIdstring (uuid)non
limitintegernonDé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ètreTypeRequisDescription
idstring (uuid)non
referencestringnonNuméro de la pièce. Au moins 3 caractères. Au plus 40 caractères.
historybooleannonAjoute 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ètreTypeRequisDescription
typestringouiCode 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).
essencestringouiNom exact d’une essence de la liste. Au moins 1 caractères. Au plus 60 caractères.
storageLocationIdstring (uuid)ouiPoint de retrait : il désigne aussi le vendeur de la pièce.
thicknessMmintegerouiMinimum 5. Maximum 500.
widthMmintegerouiMinimum 5. Maximum 2000.
lengthMnumberouiMinimum 0.1. Maximum 12.
quantityTotalintegerouiNombre de pièces identiques du lot. Minimum 1. Maximum 5000.
saleUnit"piece" | "metre_lineaire" | "surface"nonAbsent : unité proposée par le type (traverse au mètre, le reste à la pièce).
priceHtnumbernonPrix 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
baTypestringnonSous-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
sectionstringnonFormat 150x150 ; absent = déduite de l’épaisseur et de la largeur.
weightKgnumbernonAbsent = poids calculé par la base (cubage × masse volumique). Minimum 0.1. Maximum 100000.
isNonStandardbooleannon
isSquaredbooleannonBois d’aménagement de sous-type « Pièces équarries » (grille par section si épaisseur = largeur).
kilnDriedbooleannon
storageBayIdstring (uuid)nonTravée du point de retrait.
logIdstring (uuid)nonGrume d’origine (même vendeur).
publishbooleannonMettre 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ètreTypeRequisDescription
idstring (uuid)oui
fieldsobjectoui
fields.essencestringnonNom exact d’une essence de la liste. Au moins 1 caractères. Au plus 60 caractères.
fields.storageLocationIdstring (uuid)nonPoint de retrait : il désigne aussi le vendeur de la pièce.
fields.thicknessMmintegernonMinimum 5. Maximum 500.
fields.widthMmintegernonMinimum 5. Maximum 2000.
fields.lengthMnumbernonMinimum 0.1. Maximum 12.
fields.quantityTotalintegernonNombre de pièces identiques du lot. Minimum 1. Maximum 5000.
fields.saleUnit"piece" | "metre_lineaire" | "surface"nonAbsent : unité proposée par le type (traverse au mètre, le reste à la pièce).
fields.priceHtnumbernonPrix 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.baTypestringnonSous-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.sectionstringnonFormat 150x150 ; absent = déduite de l’épaisseur et de la largeur.
fields.weightKgnumbernonAbsent = poids calculé par la base (cubage × masse volumique). Minimum 0.1. Maximum 100000.
fields.isNonStandardbooleannon
fields.isSquaredbooleannonBois d’aménagement de sous-type « Pièces équarries » (grille par section si épaisseur = largeur).
fields.kilnDriedbooleannon
fields.storageBayIdstring (uuid)nonTravée du point de retrait.
fields.logIdstring (uuid)nonGrume d’origine (même vendeur).
fields.typestringnon
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ètreTypeRequisDescription
idstring (uuid)oui
overridesobjectnonChamps à changer sur la copie (longueur, quantité, prix…). Défaut : {}.
overrides.essencestringnonNom exact d’une essence de la liste. Au moins 1 caractères. Au plus 60 caractères.
overrides.storageLocationIdstring (uuid)nonPoint de retrait : il désigne aussi le vendeur de la pièce.
overrides.thicknessMmintegernonMinimum 5. Maximum 500.
overrides.widthMmintegernonMinimum 5. Maximum 2000.
overrides.lengthMnumbernonMinimum 0.1. Maximum 12.
overrides.quantityTotalintegernonNombre de pièces identiques du lot. Minimum 1. Maximum 5000.
overrides.saleUnit"piece" | "metre_lineaire" | "surface"nonAbsent : unité proposée par le type (traverse au mètre, le reste à la pièce).
overrides.priceHtnumbernonPrix 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.baTypestringnonSous-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.sectionstringnonFormat 150x150 ; absent = déduite de l’épaisseur et de la largeur.
overrides.weightKgnumbernonAbsent = poids calculé par la base (cubage × masse volumique). Minimum 0.1. Maximum 100000.
overrides.isNonStandardbooleannon
overrides.isSquaredbooleannonBois d’aménagement de sous-type « Pièces équarries » (grille par section si épaisseur = largeur).
overrides.kilnDriedbooleannon
overrides.storageBayIdstring (uuid)nonTravée du point de retrait.
overrides.logIdstring (uuid)nonGrume d’origine (même vendeur).
overrides.typestringnon
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ètreTypeRequisDescription
idstring (uuid)oui
publishedbooleanoui
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ètreTypeRequisDescription
idstring (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ètreTypeRequisDescription
idstring (uuid)oui
imagesobject[]oui
images[].urlstring (uri)ouiURL http(s) d’une image déjà hébergée.
images[].altstringnonAu plus 300 caractères.
images[].positionstringnonCadrage 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": []
}'