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":"BIJOUXARG",
"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 la table productfamily
"related":[
{
"productfamily":{
"codeproductfamily":"BIJOUXARG",
"label":"Bijouterie Argent",
"hierarchicalLevel":"1",
"productfamily_ID_parentFamily":"ARG"
}
}]
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, extendedRelated reprendre les définitions du GET
"filters:" {
"codeProduct": "value", filter is equal
"description": "value", filter is contains
"productFamily": "value" filter is equal
}