WebHook Product
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
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: 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",
...
}
}
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