Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/PAI/pages/11378130945/Cr+ation+articles+V10.12+JSON) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 8) afficher la version suivante »

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

et ces actions sont possibles sur plusieurs articles grâce à un tableau d’articles à traiter.

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

articletb

1

Liste des articles

OUI

 

[{champsArticle1},{champsArticle2}}

2

Chaque élément du tableau contient la liste des champs concernant chaque article

OUI

{“nomChamp1Article1”:”valeur1”,”nomChamp2Article1”:valeur2”}

3

Liste des champs avec leur nom de champ et la valeur

OUI

 

reference

3

Référence article

OUI

articletypecode

3

type article

OUI

designation

3

désignation de l’article

OUI si type article sans modèle

 

salesaccount

3

compte vente

OUI si type article sans modèle

 

purchaseaccount

3

compte achat

OUI si type article sans modèle

 

stockaccount

3

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':{
          'articletb' : [{
                      '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':{
          'articletb' : [{
                      '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':{
          'articletb' : [{
                  '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

articletb

1

Liste des articles

OUI

 

[{champsArticle1},{champsArticle2}}

2

Chaque élément du tableau contient la liste des champs concernant chaque article

OUI

{“nomChamp1Article1”:”valeur1”,”nomChamp2Article1”:valeur2”}

3

Liste des champs avec leur nom de champ et la valeur

OUI

 

ddmfamily

3

Famille ddm

OUI

 

description1

3

description de la demande

OUI

 

reference

3

Référence article

OUI

 

ddmdate

3

Date ddm

OUI

 

ddmuser

3

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':{
          'articletb' : [{
                  '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':
            {
               'articletb' : [{
                              '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

articletb

1

Liste des articles

OUI

 

[{champsArticle1},{champsArticle2}}

2

Chaque élément du tableau contient la liste des champs concernant chaque article

OUI

{“nomChamp1Article1”:”valeur1”,”nomChamp2Article1”:valeur2”}

3

Liste des champs avec leur nom de champ et la valeur

OUI

 

reference

3

Référence article

OUI

Référence article inexistante

articletypecode

3

type article

OUI

Le champ “cvafl” dans la table “T114” ( type article) doit être positionné à NON

designation

3

désignation de l’article

OUI si type article sans modèle

 

salesaccount

3

compte vente

OUI si type article sans modèle

 

purchaseaccount

3

compte achat

OUI si type article sans modèle

 

stockaccount

3

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':{
          'articletb' : [{
                      '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':{
          'articletb' : [{
                      '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':
{
         'articletb' : [{
                      '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

articletb

1

Liste des articles

OUI

 

[{champsArticle1},{champsArticle2}}

2

Chaque élément du tableau contient la liste des champs concernant chaque article

OUI

{“nomChamp1Article1”:”valeur1”,”nomChamp2Article1”:valeur2”}

3

Liste des champs avec leur nom de champ et la valeur

OUI

 

reference

3

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':{
          'articletb' : [{
                  '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':{
         'articletb' : [{
                  '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 txterr indique le message d’erreur

result

Détail du résultat fonctionnel de l’appel du service web

resultcode= 0 => pas d’anomalie fonctionnelle la demande est bien traitée

resultcode<>0 => anomalie fonctionnelle/métier dont la raison est indiquée dans errormessage

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

  • Aucune étiquette