Création articles (V10.12) (JSON)

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, et avec application ou non d’un modèle

SOMMAIRE

Préambule : utilisation des modèles

L’utilisation d’un modèle article lors de la création est possible (aucun impact en modification), afin de dupliquer des sous-fiches de l’article modèle vers l’article créé.

Cette utilisation de modèle doit suivre certaines règles

  • L’article modèle peut être défini de manière explicite dans la balise JSON MODELEREF

  • Il peut être défini de manière implicite d’après le type article dans la balise ARTICLETYPECODE

  • La définition explicite est toujours prioritaire

  • Lorsqu’un modèle est défini l’ensemble des sous fiches modèles de l’article modèle est dupliqué

  • Pour un modèle implicite, le champ “cvafl” dans la table “T114” ( type article) doit être positionné à NON

Balise du corps (data)

Niveau

Contenu

Obligatoire

Remarques

Balise du corps (data)

Niveau

Contenu

Obligatoire

Remarques

MODELEREF

3

Article modèle

NON

Définition explicite de l’article modèle

ARTICLETYPECODE

3

Type article

NON

Si le type article utilise un article modèle

Exemple de corps pour utilisation de modèle (explicite par modèle ou implicite par type article)
"data": { "articletb": [{ "REFERENCE": "SF_PLM00402", "DESIGNATION":"Rotor 402", "ABBREVIATEDDESIGNATION":"ROTOR402", "MODELEREF":"M_ROTOR" } , { "REFERENCE": "SF_PLM00403", "DESIGNATION":"Rotor 403", "ABBREVIATEDDESIGNATION":"ROTOR403", "ARTICLETYPECODE":"T_ROTOR" }] }

Préambule : forcer l’indice de destination

La création ainsi que la demande de changement d’un article sous gestion d’indice car automatiquement traiter l’incrément de l’indice.

Cependant, il est possible de forcer l’indice de destination grâce à la balise ARTIND

En modification, si ARTIND est fourni il devra être supérieur ou égale à l’indice article courant et il déclenchera un ODM tel que

  • Type changement = Mise à jour

  • Type évolution = article

  • Nouvelle référence + Nouvel Indice correspond à ARTIND

 

Exemple de corps pour création article avec indice forcé
'data': { 'articletb': [{ 'REFERENCE': 'SF_PLM00608I', 'ARTICLETYPECODE':'INDICE', 'DESIGNATION':'Rotor', 'ABBREVIATEDDESIGNATION':'ROTOR', 'ARTIND':'F' } ] }
Exemple de corps pour demande de modification article avec indice forcé
"data": { "articletb": [{ "REFERENCE":"SF_PLM00608I", "DDMFAMILY": "PLM2", "DDMDATE":"15/03/2024", "DDMUSER":"DEMO", "ARTIND":"I", "DESCRIPTION1" :"Evolution du produit" } ] }

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

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

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

ou

modeleref

3

type article

ou

choix du modèle

OUI

Voir chapitre préambule

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

 

Exemple de corps sans modèle
Exemple de corps avec modèle

Il faut que l’article modèle soit renseigné dans la table “T114” (type article)

Exemple complet flux JSON
Exemple complet flux JSON pour utilisation de modèle (explicite par modèle ou implicite par type article)

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

 

Créer plusieurs articles indicés

Pour traiter plusieurs articles, on utilise le ARTICLETB en indiquant une liste d’articles

Exemple de corps
Exemple complet flux JSON

 

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

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

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

 

  • Aucune modification de la fiche article ne sera réalisée

  • Il faudra fournir les balises JSON nécessaires à la création d’une DDM à minima DDMFAMILY + DESCRIPTION1

  • 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

  • Rappel : forcer l’indice destination avec la balise ARTIND en suivant les informations suivantes : Création articles (V10.12) (JSON) | Préambule : forcer l’indice de destination

Exemple de corps
Exemple complet flux JSON

 

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

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

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

ou

modeleref

3

type article

ou

choix article modèle

OUI

Voir chapitre préambule

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

Exemple de corps avec modèle

Il faut que l’article modèle soit renseigné dans la table “T114” (type article)

Exemple complet flux JSON

 

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

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

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
Exemple complet flux JSON

 

Format de la réponse

Balise

Contenu

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

Intégration KO pour les deux premiers articles et modification OK pour le dernier article

 

Mapping de champs

Un mapping existe entre les noms de champs du dictionnaire et les noms de balise à utiliser. Tous les détails dans le module GTTMMAPPING.dhsp

Table ART(articles)

Nom de balise

Nom de champ

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