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/11380621387/Interface+Divalto+ERP+-+Configurateur+Techform) 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. 2) afficher la version suivante »

L’interface Divalto - Techform

Techform est un configurateur qui peut compléter la création de commande de Divalto ERP.

Historiquement, les deux produits devaient être installés en client lourd sur un poste, mais depuis la version ERP 10.9 un nouveau mode d'échange est en place pour permettre une communication par services web.

Le mode de communication a donc évolué avec les produits, mais les principes et flux de données sont restés inchangés, ainsi que les formats de fichiers XML échangés.

Principe des échanges

Il existe 2 flux ou manières d’utiliser le configurateur Techform avec Divalto ERP

  • Flux interactif : Mode interactif en saisie de pièce, pour configurer un nouvel article à vendre

  • Flux silencieux : Import de pièce, pour importer une configuration déjà conçue

Commun aux deux flux : l’authentification

Afin de dialoguer avec Techform, un premier échange de services web est requis pour gérer l’authentification.

Cet échange a pour but d’obtenir un jeton (token) de session, qui sera utilisé pour la suite des échanges dans l’un ou l’autre des flux.

Un paramétrage ERP est donc nécessaire pour réaliser cette étape indispensable

Flux interactif (configuration depuis la saisie de commande)

Dans ce mode de communication, un utilisateur est connecté à l’ERP en client léger.

Les échanges entre Divalto ERP et Techform sont donc synchrones en suivant un déroulement pré-établi

  1. L’utilisateur saisit une pièce commerciale avec des articles nécessitant une configuration.

  2. Appel du configurateur Techform après authentification

  3. Le service Login renvoie le cookie de session, à utiliser dans les prochains échanges

  4. Envoi des paramètres et appel du configurateur en mode Web (navigateur). La saisie de pièce est bloquée pendant ce temps

  5. En fin de configuration, Techform invoque un service web Divalto et envoie les données de configuration validées par l’utilisateur (sous forme de fichier XML )

  6. Le service Web Divalto récupère le contenu des fichiers et les enregistre dans leur format brut

  7. Appel de l’intégration des données de configuration. Un ID (GUID) est fourni par Techform, et enregistré dans Divalto pour éventuel rappel de la configuration depuis la pièce.

  8. Retour en saisie de pièces

Flux silencieux (import de configuration)

Ce mode est utilisé pour des commandes provenant d’une source externe à Divalto (ex : un site web) sur laquelle la configuration a déjà été complétée dans Techform.

A noter que dans ce mode, nous n’utiliserons pas la plateforme BtoE Techform dans la mesure où les pièces commerciales peuvent contenir des articles configurés et des articles négoces non visibles par Techform.

L’envoi des commandes vers Divalto sera donc à la charge de l’application tierce.

  1. L’utilisateur saisit une pièce commerciale avec des articles configurables dans l’application tierce, il s’authentifie à Techform

  2. Le service Login renvoie le cookie de session, à utiliser dans les prochains échanges

  3. Envoi des paramètres et appel du configurateur web par l’application tierce

  4. Configuration terminée, le middleware Techform renvoie les données de configuration

  5. L’application tierce envoie la commande vers l’ERP

  6. Intégration de la pièce dans l’ERP

  7. L’intégration de pièce détecte des articles configurés sur la pièce en cours (présence d’un GUID), appel d’un service web Techform pour récupérer les configurations.

  8. Envoi des configurations vers Divalto

  9. Intégration des données Techform (fichiers XML)

  10. Retour d’information intégration données Techform

  11. Retour d’information création de pièce

Paramétrage ERP

BEL a finir la suite

Code chemin pour le service web

Il s’agit d’un code web service référencé dans la table de Paramétrage de services web (MURLSW).

La première URL indique l’URL du web service du configurateur.

La seconde indique l’URL à invoquer pour l’accès au configurateur après envoi des paramètres.

Fiche article

L’article est celui qui sera mis dans une commande afin de déclencher le configurateur.

Il porte donc, sur la fiche article, un code de web service d’accès au configurateur web Techform.

Note : l’ancien code chemin utilisé par le client lourd reste valide


Dossier

Sur le dossier production, le code du chemin d’entrée des fichiers est inchangé (Fichiers interfaces)

Un paramètre a été ajouté pour indiquer le code du service web du middleware Techform, ce WS gère toutes les opérations transversales, notamment l’authentification.


Appel configurateur

Le configurateur est appelé automatiquement à la validation d’une ligne de pièce sur un article configurable.

Dans le cas d’une configuration web, la saisie de pièce est mise en attente le temps de la configuration, l’utilisateur peut reprendre la main dès qu’il a terminé les actions dans Techform.

Protocole Divalto-Techform

Authentification

Si le WS du middleware est paramétré avec un login/mot de passe, le protocole démarre par l’authentification et l’obtention d’un cookie de session.

Méthode appelée : Login

Corps de la requête :

Création de la session

Cette méthode permet d’obtenir un nouvel identifiant (GUID) de configuration, à rappeler dans les échanges ultérieurs avec Techform, cet identifiant est stocké sur la ligne de pièce (MOUV.ConfigurateurGuid)

Méthode : CreateSession

Corps de la requête


Envoi des paramètres

L’envoi des paramètres est réalisé par groupe, chaque groupe pointant vers une URI différente.

Le protocole prévoit 2 groupes différents :

  • Un pour les paramètres standards de l’interface (dossier, établissement, tiers, etc.)

  • Un pour les paramètres spécifiques à chaque configurateur/métier client

Méthode appelée : SetDatasetSession

Paramètres standards


Liste des paramètres d’appel pour configurateur mono-ligne
En mode de création de ligne

Paramètres

Description

Exemple

Paramètre WS

/F <Valeur>

Formulaire

"/F FORMTEST"

formulaire

/C <Valeur>

Numéro de pièce configurateur

"/C 25"

piece

/M A

Mode d’ajout

"/M A"

mode

/IDCLI <Valeur>

Code du client

/ IDCLI C000001

tiers

/A <Valeur>

Code de l’article

"/A PO"

Ref

/DOS <Valeur>

N° de dossier de DIVALTO

"/DOS 1"

Dos

/U <Valeur>

Nom d’utilisateur

"/U ROOT"

User

En mode de modification de ligne

Paramètres

Description

Exemple

Paramètre WS

/F <Valeur>

Formulaire

"/F FORMTEST"

formulaire

/C <Valeur>

Numéro de pièce configurateur

"/C 25"

piece

/M M

Mode modification

"/M A"

mode

/IDCLI <Valeur>

Code du client

/ IDCLI C000001

tiers

/A <Valeur>

Code de l’article

"/A PO"

Ref

/DOS <Valeur>

N° de dossier de DIVALTO

"/DOS 1"

Dos

/U <Valeur>

Nom d’utilisateur

"/U ROOT"

User


Paramètres spécifiques

Ce deuxième groupe de paramètre est générique, il a été prévu pour englober 25 paramètres, 5 pour chaque SdType (5 entiers, 5 doubles, 5 dates, 5 booléens et 5 chaînes).

{

"CollectionUri":"SmartBusinessVb.Web;Sch_Configuration/Sch_ConfigurationCollection",

"DatasetId":"ea8d5520-2378-4eee-be2f-214724035736",

"Uri":"//DivaltoSpecifique",

"Model":{

"ItemName":"DivaltoSpecifique",

"Fields":[

{

"ItemName":"int1",

"sdType":"1",

"IntegerValue":" "

},

{

"ItemName":"int2",

"sdType":"1",

"IntegerValue":""

},

{

"ItemName":"int3",

"sdType":"1",

"IntegerValue":""

},

{

"ItemName":"int4",

"sdType":"1",

"IntegerValue":""

},

{

"ItemName":"int5",

"sdType":"1",

"IntegerValue":""

},

{

"ItemName":"db1",

"sdType":"2",

"DoubleValue":" "

},

{

"ItemName":"db2",

"sdType":"2",

"DoubleValue":""

},

{

"ItemName":"db3",

"sdType":"2",

"DoubleValue":""

},

{

"ItemName":"db4",

"sdType":"2",

"DoubleValue":""

},

{

"ItemName":"db5",

"sdType":"2",

"DoubleValue":""

},

{

"ItemName":"dt1",

"sdType":"3",

"DateTimeValue":""

},

{

"ItemName":"dt2",

"sdType":"3",

"DateTimeValue":""

},

{

"ItemName":"dt3",

"sdType":"3",

"DateTimeValue":""

},

{

"ItemName":"dt4",

"sdType":"3",

"DateTimeValue":""

},

{

"ItemName":"dt5",

"sdType":"3",

"DateTimeValue":""

},

{

"ItemName":"bl1",

"sdType":"4",

"boolValue":""

},

{

"ItemName":"bl2",

"sdType":"4",

"boolValue":""

},

{

"ItemName":"bl3",

"sdType":"4",

"boolValue":""

},

{

"ItemName":"bl4",

"sdType":"4",

"boolValue":""

},

{

"ItemName":"bl5",

"sdType":"4",

"boolValue":""

},

{

"ItemName":"st1",

"sdType":"5",

"StringValue":""

},

{

"ItemName":"st2",

"sdType":"5",

"StringValue":""

},

{

"ItemName":"st3",

"sdType":"5",

"StringValue":""

},

{

"ItemName":"st4",

"sdType":"5",

"StringValue":""

},

{

"ItemName":"st5",

"sdType":"5",

"StringValue":""

}

]

}

}

Surcharge et personnalisation

L’affectation des valeurs aux paramètres spécifiques est ouverte à la personnalisation, il suffit de surcharge la fonction gttmconf000.Initialiser_DatasetSession_Specifique et d’alimenter les valeurs des paramètres utilisés.

Correspondances des types de paramètres

SdType

Valeur

Description

1

IntValue

Entier

2

DoubleValue

Double

3

DateTimeValue

Date + heure

4

boolValue

Booléen

5

StringValue

Chaîne de caractères

Ouverture configurateur

Après le protocole d’échange, le configurateur est ouvert dans le navigateur sur l’URL indiquée sur le service web, le numéro de configuration est passé en paramètre de l’URL.

https://tech-uat.lmcstore.com/LMC_TIROIR/?DatasetId=d4a718cb-745b-4f11-b473-efcb5c827917

Service web Divalto

Description

Un nouveau traitement est disponible dans le service web Divalto, qui permet à Techform d’envoyer les flux N et P.

La demande prend les paramètres suivants :

{

"action":"SYNCHRO_INFINITY_AGILEO",

"access_token":"{{token}}",

"param":"<dem><action dos=\"1\" nom=\"INTEGRER_CONFIG_PIECE\"><flux type=\"P\">{{fichier_p}}</flux><flux type=\"N\">{{fichier_n}}</flux></action></dem>"

}

Flux P

Le flux P (pièce) conserve le format de l’ancienne interface.


Flux N


Exemple

Un exemple de requête peut être importé dans Postman avec la collection jointe.

  • Aucune étiquette