L'action pour la création d’un article : integration_article
Ce service web permet de
Créer un nouvel article indicé (avec ou sans article modèle)
Créer un nouvel article non indicé (avec ou sans article modèle)
Déclarer un changement sur un article indicé, avec la création d’une demande de modification et un ordre de modification
Modifier un article
SOMMAIRE
Créer un nouvel article indicé
Cette action est déclenchée si la référence article renseigné dans le flux JSON n'existe pas dans l’ERP et le type article gère le cycle de vie article
Balise de paramètres (parameters) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
dos | 1 | Dossier achat-vente | NON | Par défaut selon utilisateur |
Balise du corps (data) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
article | 1 | Liste des champs | OUI |
|
{“nomChamp1”:”valeur1”,”nomChamp2”:valeur2”} | 2 | Liste des champs avec leur nom de champ et la valeur | OUI |
|
reference | 2 | Référence article | OUI | Référence article inexistante |
articletypecode | 2 | type article | OUI | Le champ “cvafl” dans la table “T114” ( type article) doit être positionné à oui |
designation | 2 | désignation de l’article | OUI si type article sans modèle |
|
salesaccount | 2 | compte vente | OUI si type article sans modèle |
|
purchaseaccount | 2 | compte achat | OUI si type article sans modèle |
|
stockaccount | 2 | compte stock | OUI si type acticle sans modèle |
|
Si le champ article modèle dans la table “T114” (type article) est rempli , tous les champs seront initialisés à partir de ce modèle
Le contenu transporté par JSON remplace ou complète le contenu du modèle
Exemple de corps sans modèle
'data':{ 'article' : { "reference" :"PR000130", "articletypecode":"INDICE", "designation":"Coffret pack 500", "salesaccount":"70700000", "purchaseaccount":"60700000", "stockaccount":"37000000" } }
Exemple de corps avec modèle
Il faut que l’article modèle soit renseigné dans la table “T114” (type article)
'data':{ 'article' : { "reference" :"PR000130", "articletypecode":"INDICE", "designation":"Coffret pack 500" } }
Exemple complet flux JSON
{ "action":"WEB_SERVICE_INFINITY", "access_token":"{{TOKEN}}", "param":" { 'action': {'swinfinity': 'integration_article'}, "parameters": {"withlog":"1", "dos":"998"} }" 'data':{ 'article' : { "reference" :"PR000130", "articletypecode":"INDICE", "designation":"Coffret pack 500", "salesaccount":"70700000", "purchaseaccount":"60700000", "stockaccount":"37000000" } } }
Après la création d’un article modèle , une ligne est ajoutée dans la table historique article déclarant sa création
Déclarer un changement sur un article indicé
Cette action est déclenchée si la référence article envoyé existe et le type article gère le cycle de vie article
Balise de paramètres (parameters) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
dos | 1 | Dossier achat-vente | NON | Par défaut selon utilisateur |
Balise du corps (data) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
article | 1 | Liste des champs | OUI |
|
{“nomChamp1”:”valeur1”,”nomChamp2”:valeur2”} | 2 | Liste des champs avec leur nom de champ et la valeur | OUI |
|
ddmfamily | 2 | Famille ddm | OUI |
|
description1 | 2 | description de la demande | OUI |
|
reference | 2 | Référence article | OUI |
|
ddmdate | 2 | Date ddm | OUI |
|
ddmuser | 2 | utilisateur | OUI |
|
Le code étape est généré automatiquement le premier code étape trouvé avec le statut maître “accepté”
l’ODM est généré automatiquement
Exemple de corps
'data':{ 'article' : { 'DDMFAMILY':'PLM', 'DESCRIPTION1':'Ma demande de modification via sw', 'REFERENCE':'PR000113', 'DDMDATE':'22/09/2023', 'DDMUSER':'DEMO' } }
Exemple complet flux JSON
{ "action":"WEB_SERVICE_INFINITY", "access_token":"{{TOKEN}}", "param":" { 'action': {'swinfinity': 'integration_article'}, "parameters": {"withlog":"1", "dos":"998"} }" 'data': { 'article' : { 'DDMFAMILY':'PLM', 'DESCRIPTION1':'Ma demande de modification via sw', 'REFERENCE':'PR000113', 'DDMDATE':'22/09/2023', 'DDMUSER':'DEMO' } } }
Créer un nouvel article non indicé
Cette action est déclenchée si la référence article envoyé n'existe pas et le type article ne gère pas le cycle de vie article
la création d’un article peut se faire à travers un article modèle ou sans article modèle
ce que fait la différence entre la création d’un article indicé et un article non indicé est le flag “cycle de vie article” dans la table “T114” (type article) ; il ne doit pas être cochéCette action est déclenchée si la
Balise de paramètres (parameters) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
dos | 1 | Dossier achat-vente | NON | Par défaut selon utilisateur |
Balise du corps (data) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
article | 1 | Liste des champs | OUI |
|
{“nomChamp1”:”valeur1”,”nomChamp2”:valeur2”} | 2 | Liste des champs avec leur nom de champ et la valeur | OUI |
|
reference | 2 | Référence article | OUI | Référence article inexistante |
articletypecode | 2 | type article | OUI | Le champ “cvafl” dans la table “T114” ( type article) doit être positionné à NON |
designation | 2 | désignation de l’article | OUI si type article sans modèle |
|
salesaccount | 2 | compte vente | OUI si type article sans modèle |
|
purchaseaccount | 2 | compte achat | OUI si type article sans modèle |
|
stockaccount | 2 | compte stock | OUI si type acticle sans modèle |
|
Si le champ article modèle dans la table “T114” (type article) est rempli , tous les champs seront initialisés à partir de ce modèle
Le contenu transporté par JSON remplace ou complète le contenu du modèle
Exemple de corps sans modèle
dans l’exemple ci-dessous le type article “PIECE” ne gère pas le cycle de vie article
'data':{ 'article' : { "reference" :"PR000130", "articletypecode":"PIECE", "designation":"Coffret pack 500", "salesaccount":"70700000", "purchaseaccount":"60700000", "stockaccount":"37000000" } }
Exemple de corps avec modèle
Il faut que l’article modèle soit renseigné dans la table “T114” (type article)
'data':{ 'article' : { "reference" :"PR000130", "articletypecode":"PIECE", "designation":"Coffret pack 500" } }
Exemple complet flux JSON
{ "action":"WEB_SERVICE_INFINITY", "access_token":"{{TOKEN}}", "param":" { 'action': {'swinfinity': 'integration_article'}, "parameters": {"withlog":"1", "dos":"998"} }" 'data': { 'article' : { "reference" :"PR000130", "articletypecode":"PIECE", "designation":"Coffret pack 500", "salesaccount":"70700000", "purchaseaccount":"60700000", "stockaccount":"37000000" } } }
Modifier un article non indicé
Cette action est déclenchée si la référence article envoyé existe et le type article ne gère pas le cycle de vie article
Balise de paramètres (parameters) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
dos | 1 | Dossier achat-vente | NON | Par défaut selon utilisateur |
Balise du corps (data) | Niveau | Contenu | Obligatoire | Remarques |
---|---|---|---|---|
article | 1 | Liste des champs | OUI |
|
{“nomChamp1”:”valeur1”,”nomChamp2”:valeur2”} | 2 | Liste des champs avec leur nom de champ et la valeur | Le champ “reference” est obligatoire |
|
reference | 2 | Référence article | OUI |
|
Le code étape est généré automatiquement le premier code étape trouvé avec le statut maître “accepté”
l’ODM est généré automatiquement
Exemple de corps
'data':{ 'article' : { 'REFERENCE':'PAS1003', 'DESIGNATION':'Passe Cable MET 60' } }
Exemple complet flux JSON
{ "action":"WEB_SERVICE_INFINITY", "access_token":"{{TOKEN}}", "param":" { 'action': {'swinfinity': 'integration_article'}, "parameters": {"withlog":"1", "dos":"998"} }" 'data':{ 'article' : { 'REFERENCE':'PAS1003', 'DESIGNATION':'Passe Cable MET 60' } } }
Format de la réponse
Balise | Contenu |
---|---|
error | Anomalie technique de l’appel du service web 0 = pas n’anomalie, autre valeur = anomalie Dans ce cas la balise |
result | Détail du résultat fonctionnel de l’appel du service web
|
Exemple de Réponse
La balise “errormessage” contient tout les erreurs séparées avec “|”
La balise ”response” contient tous les articles intégrés avec succès
Intégration OK
{ "error": 0, "result": "{\"label\": \"infinity\",\"codeScript\": \"integration_article\",\"resultType\": \"JSON\", \"result\":{\"common\":{\"resultcode\": \"0\",\"errormessage\": \"\"}, \"response\": {\"data\":[{\"REFERENCE\":{\"article\": \"CMPST_PLM00071\",\"MESSAGE\": \"Article CMPST_PLM00070 crée avec succès\"}}, {\"REFERENCE\":{\"article\": \"CMPST_PLM00071\",\"MESSAGE\": \"Article CMPST_PLM00071 crée avec succès\"}}]}}}", "txterr": "", "infos": "" }
Intégration KO pour les deux premiers articles et modification OK pour le dernier article
{ "error": 0, "result": "{\"label\": \"infinity\",\"codeScript\": \"integration_article\",\"resultType\": \"JSON\",\"result\": {\"common\":{\"resultcode\": \"0\",\"errormessage\": \"Type Article INDICEMA non-existent|Data \\\"COMPTEACHAT (ART.cpta)\\\" compulsory|Type Article INDUSFOI non-existent|Data \\\"COMPTEACHAT (ART.cpta)\\\" compulsory"}, \"response\":{\"data\":[\"REFERENCE\":{\"article\": \"CMPST_PLM00053\",\"MESSAGE\": \"Article CMPST_PLM00053 modifié avec succès\"}]}}}", "txterr": "", "infos": "" }
Mapping de champs
Un mapping existe entre les noms de champs du dictionnaire et les noms de balise à utiliser
Table ART(articles)
Nom de balise | Nom de champ |
---|---|
WAREHOUSE | Depo |
NATURESSTOCK | Nst |
REFERENCE | Ref |
ARTICLEINDEX | ArtInd |
CREATIONUSER | UserCr |
MODIFICATIONUSER | UserMo |
CONFIGURATON | Conf |
DESIGNATION | Des |
ABBREVIATEDDESIGNATION | DesAbr |
EAN | Ean |
THIRDPARTY | Tiers |
TARIFICATIONREFERENCE | TaRef |
REPLACEMENTREFERENCE | RefRpl |
PRODUCTRATEFAMILYEXCEPTION | TaFamRx |
PRODUCTRATEFAMILY | TaFamR |
PRODUCTDISCOUNTCLASSEXCEPTION | ReFamRx |
PRODUCTDISCOUNTCLASSEXCEPTION | ReFamR |
PRODUCTCOMMISSIONCLASS | CoFamR |
STATISTICALFAMILY | Fam |
PRODUCTNATURE | ProdNat |
PRODUCTNATURE1 | ProdNat1 |
PRODUCTNATURE2 | ProdNat2 |
REFERENCEUNIT | RefUn |
PURCHASINGUNIT | AchUn |
STORAGEUNIT | StUn |
SALEUNIT | VenUn |
WEIGHTUNIT | PoiUn |
VOLUMEUNIT | VolUn |
DIMENSIONUNIT | DimUn |
SALESACCOUNT | CptV |
PURCHASEACCOUNT | CptA |
STOCKACCOUNT | CptS |
TPF | TpfRT |
SALETPF | TpfR |
VATNOMENCLATURECUSTOMS | TvaNom |
VATCUSTOMSUNIT | TvaUn |
VATREGIMECODE | TvaRgCod |
PRINTCODE | EdCod |
SUBREFERENCEGRIDCODE | GriCod |
FREEALPHAZONE | Zona |
MEDIA | Media |
HTML | Html |
ANALYTICALAXISMASK | AxeMsk |
ANALYTICALAXISNUMBER | AxeNo |
ABCCODE | AbcCod |
QUESTION | Question |
MRPRULE | CbnGesCod |
COMPETENCYCODE | CompetCod |
COMPETENCYDOMAINCODE | CompetDomCod |
COMPETENCYCODE2 | CompetCod2 |
INTERESTABLISHEMENTPUCHASINGACCOUNT | CptACes |
INTERESTABLISHEMENTPURCHASEACCOUNT | CptVCes |
PURCHASEPRICINGFAMILYRX | AchTaFamRX |
PURCHASEPRICINGFAMILYR | AchTaFamR |
PURCHASEDISCOUNTCLASSRX | AchReFamRX |
PURCHASEDISCOUNTCLASSR | AchReFamR |
SURFACEUNIT | SurfUn |
LOYALTYDIVISORCOEFFICIENT | CoefPts |
CONFIGURATORFORM | ConfigurateurFormulaire |
CONFIGURATORPATHCODE | ConfigurateurCheminCod |
SMCINDICATOR | SMCFl |
SMCVISUINDICATOR | SMCVisuFl |
CREATIONDATE | UserCrDt |
MODIFICATIONDATE | UserMoDt |
EXPIRATIONDATE | HsDt |
LASTOPERATIONDATEHOUR | DopDh |
MEMONUMBER | Note |
NETWEIGHT | PoiN |
GROSSWEIGHT | PoiB |
GRIDMODETYPING | GriSais |
QUANTITYINCUSTOMERRESERVATION | ResTotQte |
QUANTITYINCUSTOMERORDER | CdeClQte |
QUANTITYINSUPPLIERORDER | CdeFoQte |
CUMULATIVESTOCKQUANTITY | StTotQte |
INVENTORYDATE | InvDt |
WARRANTYDURATION | GarJrNb |
STOCKCODE | StCod |
GLOBALCODE | GiCod |
VOLUME | Vol |
DIMENSION | Dim |
SUBREFERENCECODE | SrefCod |
TYPINGOPTION | OpSais |
DIGITALFREEZONE | Zonn |
PROFITMARGIN | MgTx |
EXPIRATIONINDAYS | PerJrNb |
STOCKVALUATIONMETHOD | StValCod |
STOCKWITHDRAWALMETHOD | StSorCod |
WEBORDERPLACEMENT | Webcdecod |
SALEPRICECODE | PvCod |
LINKEDLINETYPE | LgTyp |
STOCKRESERVATIONINDICATOR | StRes |
OFQUANTITY | CdeInQte |
ATTACHNUMBER | Joint |
OFRESCHEDULING | RejalOf |
ORDERRESCHEDULING | RejalCde |
OFRESCHEDULINGHORIZON | RejalOfJrNb |
ORDERRESCHEDULINGHORIZON | RejalCdeJrNb |
TOLERANCERATE | ToleranceTx |
COMMISIONTYPING | ComSais |
SURFACE | Surf |
VOLUMEEXPANSIONFACTOR | CoeFoiVol |
HANDLINGUNIT | ManUn |
ABCCATEGORYTYPE | StLgtAbcCod |
OUTOFSPECINDICATOR | StLgtHgCod |
OVERSIZEDPACKAGENUMBER | StLgtHgColiNb |
ABCRANK | RangAbc |
PDPINDICATOR | PDP |
PDPPERIOD | PDPPerCod |
PDPLEADTIME | PDPDelObt |
PDPCLOSEDPERIODNUMBER | PDPFermePerNb |
PDPNEGOPERIODNUMBER | PDPNegoPerNb |
PDPBATCHQUANTITY | PDPLotQte |
PDPPERIODGROUPINGNUMBER | PDPRegPerNb |
PDPGAPMAX | PDPEcartMax |
ARTICLEVATSYSTEM | TvaArt |
PUCHASEARTICLEVATSYSTEM | TvaArtA |
WMQUANTITYIMP | WmQteImp |
CODREPLENISHMENT | WmReapFroidFl |
SUBREFERENCE1 | Sref1 |
SUBREFERENCE2 | Sref2 |
ESTIMATEPREFIX | PrefDvNo |
ESTIMATENUMBER | DvNo |
TECHNICALQUOTATIONRANGEINDEX | DTInd |
CUSTOMERCODE | TiersCli |
REVIEWARTICLEINDICATOR | RevuArt |
ICPINDICATOR | ICPFl |
BUDGETCODE | BudgetCod |
LOGISTICWORKUNIT | TravUn |
AVERAGEPRICE | PrixMoy |
CONTRACTCODE | ContratCod |
CONTRACTFAMILY | ContratFam |
AUTOMATICEANFLAG | EANAutoFl |
ARTICLETYPECODE | TypeArtCod |
RESERVATIONDAYNUMBER | ResJrNb |
BARGAIN | Marche |
QUANTITY | Qte |
THIRDPARTYREFERENCE | TiersRef |
EPHEMERALARTICLEINDICATOR | ephemereFl |
PURCHASEUNITREF | AchUnRef |
MINIMALQUANTITY | QteMin |
QUANTITYBY | QtePar |
FIXEDASSERACCOUNT | CptI |
VISA | Visa |
APPROACHFEETYPECODE | FraisAppTypCod |
TRANSITSHIPPINGZONEFLAG | TransitFl |
LABORARTICLEREFERENCE | RefMo |
LABORPREPQUANTITY | MoPrepQte |
LABORPREPQUANTITYBY | MoPrepQtePar |
LABORPREPQUANTITYTYPE | MoPrepQteTyp |
LABORPOSEQUANTITY | MoPoseQte |
LABORPOSEQUANTITYBY | MoPoseQtePar |
LABORPOSEQUANTITYTYPE | MoPoseQteTyp |
TAXCREDITPERCENTAGE | CreditImpotP |
REBATEELIGIBLEARTICLE | RistournFl |
CUSTOMSFEEINDICATOR | FraisDouaneFl |
TAGIDENTIFIER | TagId |
NONTAXEBLEVAT | TvaNAssujettieFl |
DIVISIBLEARTICLE | SecableFl |
PREPROUNDINGQUANTITY | BpQteArr |
PRICESCLASSIFICATIONCODE | ClasCodTar |
DAORESCHEDULING | RejalDao |
DAORESCHEDULINGHORIZON | RejalDaoJrNb |
DATESPERIODTYPINGINDICATOR | PeriodeFl |
ARTICLEMODELTYPEORIGIN | ArtModTypOri |
MODELREFERENCEORIGIN | ModeleRefOri |
POSTCONSUMPTIONINDICATOR | PostConsoFl |
BFACLASSIFICATIONCODE | ClasCodBfa |
CFGARTICLETYPE | CFGType |
CFGFORMCODE | FormCFGCod |
STATUSCODE | StatutCod |
MASTERSTATUS | StatutM |
INITIALVERSIONINDICATOR | CvaInitFl |
ARTICLEMASTERNUMBER | ArtMasterNo |
ARTICLEMASTERATTACH | ArtMasterJoint |
ARTICLEPROJECTMANAGER | SalCod |
LIFECYCLEINDICATOR | CvaFl |
PREFIXNUMBERCFG | PrefCfgRfNo |
ROLECODE | RegleCod |
CONSUMPTIONHISTTYPE | HistConsoTyp |
CONFIGURATORWSCODE | ConfigurateurSwCod |
REFFEEAMOUNTTABLE | TRefFraisMt |
REFFEERATETABLE | TRefFraisTx |
FEETYPE | TRefFraisTyp |
REFCOEFFICIENTTABLE | TRefCoef |
REFERENCEPRICEIMPLICIT | TrefImplicite |
ARTICLETRACEABILITYINDICATOR | ArtTracfl |
CLASSIFICATIONRATECODE | ClasCodTx |
GDADESPUTEINDICATOR | GDALitigeFl |
UNITCONTROLINDICATOR | CtrlUniteFl |
SALESTARTDATE | VenDebDt |
SALEENDDATE | VenFinDt |
PURCHASESTARTDATE | AchDebDt |
PURCHASEENDDATE | AchFinDt |
EXPEDITIONENDDATE | ExpFinDt |
RECEPTIONENDDATE | ReceptFinDt |
OFBEGINDATE | OfDebDt |
OFENDDATE | OfFinDt |
CONSUMPTIONBEGINDATE | ConsoDebDt |
CONSUMPTIONENDDATE | ConsoFinDt |
PRICECALCULATIONCODE | TarMod |
PRICEMETHODCHANGE | TarModModif |