Services documentés dans cet article
Structure d'échange (WSClients)
Création et modification d'un client (createOrUpdateClientEx)
Authentification d'un client par son email (authenticateEncrypteByEmail)
Modification du statut d'un client (UpdateStatut)
Visualisation d'un client identifié par son code (getClient)
Visualisation d'un client identifié par un ancien code (getClientByAncienCode)
Visualisation d'un client identifié par son email (findClientByEmail)
Liste de tous les clients (getClients)
Nombre total de clients (getNbClients)
Liste des clients d'un tiers (getPayesPar)
Nombre de clients d'un tiers (getNbPayesPar)
Liste des clients ayant une valeur de code de sélection particulière (getClientsByCodeSelection)
Nombre de clients ayant une valeur de code de sélection particulière (getNbClientsByCodeSelection)
Liste des clients ayant une origine particulière (getClientsByOrigine
Nombre de clients ayant une origine particulière (getNbClientsByOrigine)
Liste des clients ayant un code transco particulier (getClientsByCodeClientTransco)
Nombre de clients ayant un code transco particulier (getNbClientsByCodeClientTransco)
Liste des clients modifiés entre 2 dates (getClientsModifiedBetween)
Nombre de clients modifiés entre 2 dates (getNbClientsModifiedBetween)
Liste des clients ayant un type donné (getClientsByType)
Nombre de clients ayant un type donné (getNbClientsByType)

Technologie

Protocole
La solution technique mise en place côté AboWeb repose sur des Web Services sans états.
Le protocole utilisé est SOAP 1.1. La couche de transport utilisée est HTTP 1.1.
L’intérêt principal de cette technologie est de pouvoir fournir un moyen d’échange indépendant de la plateforme et du langage de programmation utilisé. Les messages basés sur XML peuvent également être validés par une grammaire et des outils appropriés pour s’assurer que leur structure est correcte avant toute tentative de traitement des données.

Sécurité
Les Web Services implémentent la norme WS-Security 1.0 afin de réaliser les fonctions d’authentification des messages échangés.
L’authentification est réalisée à l’aide d’un login et d’un mot de passe crypté avec l’algorithme de hachage SHA-1 en base64 dans l’en-tête des messages. La balise utilisée, à savoir <UsernameToken> est conforme au standard.

Exemple d’en-tête (en rouge) :
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ges="http://www.gesmag.com/">

<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>login</wsse:Username>
<wsse:Password>mdp</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>

<soapenv:Body>
<ges:getClient>
[…]
</ges:getClient>
</soapenv:Body>
</soapenv:Envelope>

La confidentialité et l’intégrité des messages ne sont pas implémentées à ce jour.

Point d’accès
Les points d’accès sont contenus dans les fichiers WSDL générés sur les différents environnements.
Sur l’environnement de test, nous avons :

Service : gestion des clients
URL : http://preprod.aboweb.com/aboweb/ClientService?wsdl

Le compte utilisateur sur cet environnement sera communiqué par mail.

Structures d’échange
Ce chapitre présente les structures de données complexes utilisées comme paramètres et valeurs de retour des Web Services. Pour chaque structure, les noms, types et descriptions des paramètres sont fournies. Les valeurs obligatoires en entrée sont indiquées. Les données en lecture seule sont gérées exclusivement dans AboWeb.

WSClients



(*) CodeClient : le « code client » est récupéré lors de la création du client dans AboWeb. Il n’est pas modifiable par la suite.

(*) Liste de valeurs des statuts possibles pour un client :

Normal : 0
Tiers : 1
Payés par : 2
Prospect : 3

Services
Ce chapitre décrit l’ensemble des services nécessaires à la réalisation des cas d’utilisation. Pour chaque service, plusieurs informations sont fournies : le nom du service, la fonctionnalité réalisée, les paramètres en entrée, la valeur de retour et les cas d’erreurs (SOAPFault). Les structures de données complexes sont présentées dans le chapitre "Structures d'échange".
Les informations concernant l’éditeur sont déduites de l’utilisateur authentifié. On considère qu’il n’y a qu’une société.
Pour des raisons de performance, la taille des listes retournée est limitée à 50 objets. Par ailleurs, il faut éviter de réaliser des opérations d’ajout/suppression d’objets pendant le parcourt des listes à moins de savoir gérer le décalage à l’aide de l’attribut « offset ».

Création et modification d'un client (createOrUpdateClientEx)


Authentification d'un client par son email (authenticateEncrypteByEmail)


Modification du statut d'un client (UpdateStatut)


Liste de valeurs des statuts possibles pour un client :

Normal : 0
Tiers : 1
Payés par : 2
Prospect : 3

Visualisation d'un client identifié par son code (getClient)


Visualisation d'un client identifié par un ancien code (getClientByAncienCode)


Visualisation d'un client identifié par son email (findClientByEmail)


Liste de tous les clients (getClients)


Nombre total de clients (getNbClients)


Liste des clients d'un tiers (getPayesPar)


Nombre de clients d'un tiers (getNbPayesPar)


Liste des clients ayant une valeur de code de sélection particulière (getClientsByCodeSelection)


Nombre de clients ayant une valeur de code de sélection particulière (getNbClientsByCodeSelection)


Liste des clients ayant une origine particulière (getClientsByOrigine)


Nombre de clients ayant une origine particulière (getNbClientsByOrigine)


Liste des clients ayant un code transco particulier (getClientsByCodeClientTransco)


Nombre de clients ayant un code transco particulier (getNbClientsByCodeClientTransco)


Liste des clients modifiés entre 2 dates (getClientsModifiedBetween)


Nombre de clients modifiés entre 2 dates (getNbClientsModifiedBetween)


Liste des clients ayant un type donné (getClientsByType)


Nombre de clients ayant un type donné (getNbClientsByType)
Cet article a-t-il répondu à vos questions ?
Merci !