Résumé
Manipulation de l'entité Product (Articles) en lecture/écriture/suppression via un objet métier depuis une application externe.
Tables
Les tables utilisées sont :
sw_data_product : Table des articles
Critères d'activation
WHK_Product est défini dans la gestion des webhooks du studio.
Fonctionnement
settings parameters
"settings": { "getModuleColdProductCharacteristic": "1" // pour le verb GET et LIST permet de retourner les informations des caractéristiques module froid article }
verb: GET
resultType: simple
"product":{ "codeproduct": "ALB0001", "description": "Album 'Mon petit Louvre' français / anglais", "productfamily_ID": "BIJOUXARG" }
verb: GET
resultType: extended
"product":{ "codeproduct": "ALB0001", "description": "Album 'Mon petit Louvre' français / anglais", "productfamily_ID": "LIBTECH", "barcode": "3210330376946", "saleMultiple": "", "defaultPrice": "18.84", "weight": "0.23", "purchasePrice": "6.85", "coefficient": "", "packaging": "1", "supplierReference": "LIVR-JEUX000", "supplierBarcode": "", "generictype_ID_weightunit": "KG", "generictype_ID_taxCode": "1", "blocked": "0", "supplier_ID": "Saphira", "supplementaryDescription1": "test description 1 azerty", "supplementaryDescription2": "test description 2", "generictype_ID_sellingunit": "SIMPLE", "unused": "0", "generictype_ID_managementType": "", "height": "1", "width": "15", "depth": "20", "generictype_ID_lengthunit": "MM", "generictype_ID_brand": "", "productGeneric": "0", "product_ID_parentDeclination": "", "productdeclination_ID_level1": "", "productdeclination_ID_level2": "", "productdeclination_ID_level3": "", "productdeclination_ID_level4": "", "productdeclination_ID_level5": "", "stockDeclination": "0", "erpProductID": "" }
verb: GET
resultType: extendedRelated
en complément du résultat pour resultType: extended on aura le détail pour les tables productfamily, generictype_weightunit, generictype_sellingUnit, generictype_lengthunit, generictype_taxCode, generictype_managementType, product_parentdeclination, productdeclination_level1, productdeclination_level2, productdeclination_level3, productdeclination_level4 et productdeclination_level5
"related":[ { "productfamily":{ "codeproductfamily": "BIJOUXARG", "label": "Bijouterie Argent", "hierarchicalLevel": "1", "productfamily_ID_parentFamily": "ARG" }, "generictype_weightunit": { "codegenerictype": "WEIGHT_UNIT-KG", "label": "kg", "originalCode": "KG", "dataType": "WEIGHT_UNIT", "description": "Kilogramme", "translationKey": "", "generictype_ID_parent": "", "tag": "1000", "orderNumber": "" }, "generictype_sellingUnit": { "codegenerictype": "SELLING_UNIT-SIMPLE", "label": "Simple", "originalCode": "SIMPLE", "dataType": "SELLING_UNIT", "description": "", "translationKey": "", "generictype_ID_parent": "", "tag": "", "orderNumber": "" }, "generictype_lengthunit": { "codegenerictype": "LENGTH_UNIT-MM", "label": "mm", "originalCode": "MM", "dataType": "LENGTH_UNIT", "description": "Millimètre", "translationKey": "", "generictype_ID_parent": "", "tag": "0.001", "orderNumber": "" }, "generictype_taxCode": { "codegenerictype": "TAX_PRODUCT-1", "label": "TVA normale", "originalCode": "1", "dataType": "TAX_PRODUCT", "description": "", "translationKey": "GenType_TAX_PRODUCT-1", "generictype_ID_parent": "", "tag": "", "orderNumber": "" }, "generictype_managementType": { "codegenerictype": "", "label": "", "originalCode": "", "dataType": "", "description": "", "translationKey": "", "generictype_ID_parent": "", "tag": "", "orderNumber": "" }, "product_parentdeclination": { "codeproduct": "", "description": "", "productfamily_ID": "", ... }, "productdeclination_level1": { "codeproductdeclination": "", "label": "", "productdeclinationtype_ID": "", "translationKey": "", "color": "", "orderNumber": "" }, "productdeclination_level2": { ... }, "productdeclination_level3: { ... }, "productdeclination_level4": { ... }, "productdeclination_level5": { ... } }]
verb: GET
resultType: simple, extended, extendedRelated
getModuleColdProductCharacteristic: “1”
"product": { ... }, "modulecoldproductcharacteristic": [ { "codemodulecoldproductcharacteristic": "11670000000007", "modulecoldfluidnature_ID": "Fluid0301", "generictype_ID_modulecoldchargedfluid": "MODULE_COLD_CHARGED_FLUID-BLANK", "generictype_ID_modulecoldrecoveredfluid": "" } ]
verb: PUT
{ "product": { "codeproduct": "ALB0001", /* Code globalement unique de l'article (Varchar (255))*/ "description": "Album 'Mon petit Louvre' français / anglais", /* Description (Varchar (255))*/ "productfamily_ID": "LIBTECH", /* Code famille d'article (ForeignKey () - sw_data_productfamily.codeproductfamily)*/ "saleMultiple": "", /* Multiple de vente (Double ())*/ "defaultPrice": "18.84", /* Prix par défaut (Double ())*/ "purchasePrice": "6.85", /* Prix d'achat (Double ())*/ "weight": "0.230", /* Poids brut (Double ())*/ "coefficient": "", /* Coefficient PV TTC / PA HT (Double ())*/ "generictype_ID_weightunit": "WEIGHT_UNIT-KG", /* Code unité de poids (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = WEIGHT_UNIT)*/ "barcode": "3210330376946", /* Code-barres (Varche (64))*/ "packaging": "1", /* Conditionnement (Varchar (64))*/ "generictype_ID_taxCode": "TAX_PRODUCT-1", /* Code TVA article (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = TAX_PRODUCT)*/ "supplierReference": "LIVR-JEUX000", /* Référence chez le fournisseur (Varchar (64))*/ "supplier_ID": "SAPHIRA", /* Code fournisseur (ForeignKey () - sw_data_supplier.codesupplier)*/ "supplierBarcode": "", /* Code-barres fournisseur (Varchar (64))*/ "generictype_ID_sellingUnit": "SELLING_UNIT-SIMPLE", /* Code unité de vente (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = SELLING_UNIT)*/ "unused": "0", /* Inactif (Valeurs possibles : 0,1) (Bool ())*/ "generictype_ID_managementType": null, /* Code type de gestion. Utilisé pour la gestion lot/n° de série. (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = PRODUCT_MANAGEMENT_TYPE)*/ "height": "1", /* Hauteur (Double ())*/ "width": "15", /* Largeur (Double ())*/ "depth": "20", /* Profondeur (Double ())*/ "generictype_ID_lengthunit": "LENGTH_UNIT-MM", /* Code unité de dimension (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = LENGTH_UNIT)*/ "productGeneric": "0", /* Article générique (Valeurs possibles : 0,1) (Bool ())*/ "product_ID_parentdeclination": null, /* Code article parent. A renseigner si l'article en cours est une déclinaison (ForeignKey () - sw_data_product.codeproduct)*/ "productdeclination_ID_level1": null, /* Code déclinaison article niveau 1. A renseigner si l'article en cours est une déclinaison. (ForeignKey () - sw_data_productdeclination.codeproductdeclination)*/ "productdeclination_ID_level2": null, /* Code déclinaison article niveau 2. A renseigner si l'article en cours est une déclinaison et si besoin d'un 2eme niveau. (ForeignKey () - sw_data_productdeclination.codeproductdeclination)*/ "productdeclination_ID_level3": null, /* Code déclinaison article niveau 3. A renseigner si l'article en cours est une déclinaison et si besoin d'un 3eme niveau. (ForeignKey () - sw_data_productdeclination.codeproductdeclination)*/ "productdeclination_ID_level4": null, /* Code déclinaison article niveau 4. A renseigner si l'article en cours est une déclinaison et si besoin d'un 4eme niveau. (ForeignKey () - sw_data_productdeclination.codeproductdeclination)*/ "productdeclination_ID_level5": null, /* Code déclinaison article niveau 5. A renseigner si l'article en cours est une déclinaison et si besoin d'un 5eme niveau. (ForeignKey () - sw_data_productdeclination.codeproductdeclination)*/ "stockDeclination": "0", /* Gestion de stock avec déclinaisons (Valeurs possibles : 0,1) (Bool ())*/ "blocked": "0", /* Article bloqué (Valeurs possibles : 0,1) (Bool ())*/ "supplementaryDescription1": "", /* Description complémentaire 1 (Text (65535))*/ "supplementaryDescription2": "", /* Description complémentaire 2 (Text (65535))*/ "generictype_ID_brand": "", /* Code marque (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = BRAND)*/ "erpProductID": null, /* ID article ERP (Varchar (255))*/ "internalCodeProduct": null, /* CodeProduct original de weavy s'il y a eu transcodage (Varchar (255)) */ /* Champs supplémentaires en surcharge DIVINF */ "divinf_t001_ID_tafamr": "LIB", /* Code famille de tarification (ForeignKey () - sw_data_divinf_t001.codedivinf_t001)*/ "divinf_t001_ID_tafamrx": "", /* Code famille de tarification exceptionnelle (ForeignKey () - sw_data_divinf_t001.codedivinf_t001)*/ "divinf_t002_ID_refamr": "LIBR", /* Code classe de remise (ForeignKey () - sw_data_divinf_t002.codedivinf_t002)*/ "divinf_t002_ID_refamrx": "", /* Code classe de remise exceptionnelle (ForeignKey () - sw_data_divinf_t002.codedivinf_t002)*/ "divinf_pvcod": "1", /* Code prix de vente (Valeurs possibles : 1 (si l'article n'est pas décomposé ou si prix de vente sur composé), 2 (si prix de vente sur composant)) (Int ())*/ "divinf_CR": "6.85", /* Coût de revient (Double ())*/ "divinf_CMP": "6.85", /* Coût moyen pondéré (Double ())*/ "divinf_generictype_ID_refUn": "SELLING_UNIT-P", /* Code unité de référence (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = SELLING_UNIT)*/ /* Optionnel : pour mettre à jour les champs dynamiques selon paramétrage */ /* Exemple : */ "dynamicfields": [{ "fieldname": "ArtCatalogue", "fieldvalue": "La vie du rail" }, { "fieldname": "ArtCataloguePage", "fieldvalue": "99" }, { "fieldname": "ArtCatalogueNbre", "fieldvalue": "3" }, { ... }] /* Exemple 2 : */ /* A partir de la version SUMMER'21, le mappage direct des champs dynamiques est possible en utilisant le nom du champ en bdd */ "v_ArtCatalogue": "La vie du rail", "v_ArtCataloguePage": "99", "v_ArtCatalogueNbre": "3", ... }, "modulecoldproductcharacteristic": [ { "codemodulecoldproductcharacteristic" : "string", //Unique code (Varchar (255)) "modulecoldfluidnature_ID": "string", //(ForeignKey () - sw_data_modulecoldfluidnature.codemodulecoldfluidnature) "generictype_ID_modulecoldchargedfluid": "string", //(ForeignKey () - sw_data_generictype.codegenerictype datatype = MODULE_COLD_CHARGED_FLUID) "generictype_ID_modulecoldrecoveredfluid": "string", //(ForeignKey () - sw_data_generictype.codegenerictype datatype = MODULE_COLD_RECOVERED_FLUID) } ] }
verb: LIST
resultType: simple, extended reprendre les définitions du GET
"filters:" { "codeProduct": "value", filter is equal "description": "value", filter is contains "productFamily": "value" filter is equal }, "orderBy": "value"
Valeurs possibles pour le tri "orderBy" :
codeProductAsc : par code article ascendant
descriptionAsc : par description article ascendant