| Services documentés dans cet article
Structure d'échange (WSCarteBancaire)
Création et modification d'une carte bancaire (createCarteBancaire)
Attribution ou changement de la carte bancaire d'un client ( setCarteBancaireDefaut)
Visualisation d'une carte bancaire ( getCarteBancaire)
Liste des cartes bancaires d'un client (getCartesBancairesByCodeClient)
Nombre de cartes bancaires d'un client (getNbCarteBancairesByCodeClient)
Carte bancaire active d'un client ( getCarteBancaireDefaut)
| 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/">
${color}[#ff0000](<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:getCarteBancaire>
[…]
</ges:getCarteBancaire>
</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 cartes bancaires
**URL :** http://preprod.aboweb.com/aboweb/CarteBancaireService?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.
|| WSCarteBancaire
| 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'une carte bancaire (createCarteBancaire)
||| Exemple d'appel de createCarteBancaire avec uniquement les champs obligatoires
Cet exemple va créer une nouvelle carte bancaire. Elle ne sera pas affectée à un client. Il faudra ensuite appeler le WS setCarteBancaireDefaut pour rendre cette carte active pour un client.
__**Trame :**__
_<soapenv: Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ges="http://www.gesmag.com/">_
_<soapenv:Header/>_
_<soapenv:Body>_
_<ges:createCarteBancaire>_
**<prestataire>3</prestataire>**
**<alias>E1239AB7-6BF1-4F0F-B8E3-D4490CF9CA6E</alias>**
**<dateVal>2406</dateVal>**
**<lastNumbers>61</lastNumbers>**
_</ges:createCarteBancaire>_
_</soapenv:Body>_
_ </soapenv:Envelope>_
**<prestataire>3</prestataire>** vaut obligatoirement 3 pour ogone
**<dateVal>2406</dateVal>** est au format AAMM
__Noter que :__
* <alias> correspond à <cbIdPsp> dans la structure d'échange WSCarteBancaire
* <dateVal> correspond à <cbExpire> dans la structure d'échange WSCarteBancaire
* <lastNumbers> correspond à la fin du <cbNumero> dans la structure d'échange WSCarteBancaire
__**Retour :**__
_<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">_
_ <SOAP-ENV:Header/>_
_<S:Body>_
_<ns2:createCarteBancaireResponse xmlns:ns2="http://www.gesmag.com/">_
**<result>838</result>**
_</ns2:createCarteBancaireResponse>_
_ </S:Body>_
_</S:Envelope>_
**<result>838</result>** correspond à l'identifiant interne de la carte bancaire. Cet identifiant permet de récuperer les informations de la carte via la WS getCarteBancaire et d'attribuer la carte à un client via le WS setCarteBancaireDefaut.
||| Exemple d'appel de createCarteBancaire avec tous les champs disponibles sauf le cbCode
Cet exemple va créer une nouvelle carte bancaire. Elle ne sera pas affectée à un client. Il faudra ensuite appeler le WS setCarteBancaireDefaut pour rendre cette carte active pour un client.
__**Trame :**__
_<soapenv: Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ges="http://www.gesmag.com/">_
_<soapenv:Header/>_
_<soapenv:Body>_
_<ges:createCarteBancaire>_
**<prestataire>3</prestataire>**
**<alias>E1239AB7-6BF1-4F0F-B8E3-D4490CF9CA6E</alias>**
**<dateVal>2406</dateVal>**
**<firstNumbers>61</firstNumbers>**
**<lastNumbers>68</lastNumbers>**
**<titulaire>M TEST 15 68</titulaire>**
_</ges:createCarteBancaire>_
_</soapenv:Body>_
_ </soapenv:Envelope>_
**<prestataire>3</prestataire>** vaut obligatoirement 3 pour ogone
**<dateVal>2406</dateVal>** est au format AAMM
__Noter que :__
* <alias> correspond à <cbIdPsp> dans la structure d'échange WSCarteBancaire
* <dateVal> correspond à <cbExpire> dans la structure d'échange WSCarteBancaire
* <firstNumbers> correspond au debut du <cbNumero> dans la structure d'échange WSCarteBancaire
* <lastNumbers> correspond à la fin du <cbNumero> dans la structure d'échange WSCarteBancaire
* <titulaire> correspond à <cbTitulaire> dans la structure d'échange WSCarteBancaire
__**Retour :**__
_<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">_
_ <SOAP-ENV:Header/>_
_<S:Body>_
_<ns2:createCarteBancaireResponse xmlns:ns2="http://www.gesmag.com/">_
**<result>839</result>**
_</ns2:createCarteBancaireResponse>_
_ </S:Body>_
_</S:Envelope>_
**<result>839</result>** correspond à l'identifiant interne de la carte bancaire. Cet identifiant permet de récuperer les informations de la carte via la WS getCarteBancaire et d'attribuer la carte à un client via le WS setCarteBancaireDefaut.
||| Exemple d'appel de createCarteBancaire en indiquant un cbCode
Le cbCode doit être unique car c'est l'identifiant de la carte.
Il est possible de le renseigner mais ce n'est pas obligatoire car il est auto-généré si on ne le renseigne pas.
Si on renseigne un cbCode qui existe déjà, alors on ne créera pas de carte mais on modifiera celle qui existe.
__**Trame :**__
_<soapenv: Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ges="http://www.gesmag.com/">_
_<soapenv:Header/>_
_<soapenv:Body>_
_<ges:createCarteBancaire>_
**<cbCode>OGN833</cbCode>**
**<prestataire>3</prestataire>**
**<alias>E1239AB7-6BF1-4F0F-B8E3-D4490CF9CA6E</alias>**
**<dateVal>2406</dateVal>**
**<firstNumbers>61</firstNumbers>**
**<lastNumbers>68</lastNumbers>**
**<titulaire>M TEST 15 68</titulaire>**
_</ges:createCarteBancaire>_
_</soapenv:Body>_
_ </soapenv:Envelope>_
**<prestataire>3</prestataire>** vaut obligatoirement 3 pour ogone
**<dateVal>2406</dateVal>** est au format AAMM
__Noter que :__
* <alias> correspond à <cbIdPsp> dans la structure d'échange WSCarteBancaire
* <dateVal> correspond à <cbExpire> dans la structure d'échange WSCarteBancaire
* <firstNumbers> correspond au debut du <cbNumero> dans la structure d'échange WSCarteBancaire
* <lastNumbers> correspond à la fin du <cbNumero> dans la structure d'échange WSCarteBancaire
* <titulaire> correspond à <cbTitulaire> dans la structure d'échange WSCarteBancaire
__**Retour :**__
_<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">_
_ <SOAP-ENV:Header/>_
_<S:Body>_
_<ns2:createCarteBancaireResponse xmlns:ns2="http://www.gesmag.com/">_
**<result>839</result>**
_</ns2:createCarteBancaireResponse>_
_ </S:Body>_
_</S:Envelope>_
**<result>839</result>** correspond à l'identifiant interne de la carte bancaire. Cet identifiant permet de récuperer les informations de la carte via la WS getCarteBancaire et d'attribuer la carte à un client via le WS setCarteBancaireDefaut.
|| Attribution ou changement de la carte bancaire d'un client ( setCarteBancaireDefaut)
||| Exemple d'appel de setCarteBancaireDefaut
__**Trame :**__
_<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ges="http://www.gesmag.com/">_
_ <soapenv:Header/>_
_ <soapenv:Body>_
_ <ges:setCarteBancaireDefaut>_
** <codeClient>9013176</codeClient>**
** <refCb>833</refCb>**
_</ges:setCarteBancaireDefaut>_
_ </soapenv:Body>_
_</soapenv:Envelope>_
** <refCb>833</refCb>** est l'identifiant de la carte qui a été retourné lors de la création de la carte.
__**Retour :**__
_<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">_
_ <SOAP-ENV:Header/>_
_ <S:Body>_
_ <ns2:setCarteBancaireDefautResponse xmlns:ns2="http://www.gesmag.com/">_
** <setCarteBancaireDefaut>true</setCarteBancaireDefaut>**
_ </ns2:setCarteBancaireDefautResponse>_
_ </S:Body>_
_</S:Envelope>_
|| Visualisation d'une carte bancaire ( getCarteBancaire)
||| Exemple d'appel de getCarteBancaire
__**Trame :**__
_<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ges="http://www.gesmag.com/">_
_ <soapenv:Header/>_
_ <soapenv:Body>_
_ <ges:getCarteBancaire>_
** <refCarteBancaire>831</refCarteBancaire>**
_ </ges:getCarteBancaire>_
_ </soapenv:Body>_
_</soapenv:Envelope>_
** <refCarteBancaire>831</refCarteBancaire>** est l'identifiant de la carte qui a été retourné lors de la création de la carte.
__Noter que : __ **<refCarteBancaire> = <refCb>**
__**Retour :**__
_<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">_
_ <SOAP-ENV:Header/>_
_ <S:Body>_
_ <ns2:getCarteBancaireResponse xmlns:ns2="http://www.gesmag.com/">_
_ <carteBancaire>_
** <cbCode>OGN831</cbCode>**
** <cbExpire>2023-06-30T00:00:00+02:00</cbExpire>**
** <cbIdPsp>E1239AB7-6BF1-4F0F-B8E3-D4490CF9CA6D</cbIdPsp>**
** <cbNumero>**** **** **** **99</cbNumero>**
** <cbTitulaire>M TEDDY TEST CB OGONE 001</cbTitulaire>**
** <creation>2019-02-27T18:09:45+01:00</creation>**
** <modification>2019-02-27T18:09:46+01:00</modification>**
** <refCb>831</refCb>**
** <refClient>9013176</refClient>**
_ </carteBancaire>_
_ </ns2:getCarteBancaireResponse>_
_ </S:Body>_
_</S:Envelope>_
|| Liste des cartes bancaires d'un client (getCartesBancairesByCodeClient)
||| Exemple d'appel de getCartesBancairesByCodeClient
__**Trame :**__
_<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ges="http://www.gesmag.com/">_
_ <soapenv:Header/>_
_ <soapenv:Body>_
_ <ges:getCartesBancairesByCodeClient>_
** <codeClient>9013176</codeClient>**
** <offset>0</offset>**
_</ges:getCartesBancairesByCodeClient>_
_ </soapenv:Body>_
_</soapenv:Envelope>_
** <offset>0</offset>** est un option. On peut ne pas l'indiquer. Si on met 0 on renverra toutes les cartes du client. Si on met 1, on ne ramenera pas la première carte du client mais seulement les suivantes. Si on met 2, on ne ramenera pas la première ni la deuxième carte du client mais seulement les suivantes etc ...
__**Retour :**__
Ici le client possède deux cartes :
_<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">_
_ <SOAP-ENV:Header/>_
_ <S:Body>_
_ <ns2:getCartesBancairesByCodeClientResponse xmlns:ns2="http://www.gesmag.com/">_
_ <carteBancaire>_
** <cbCode>OGN831</cbCode>**
** <cbExpire>2023-06-30T00:00:00+02:00</cbExpire>**
** <cbIdPsp>E1239AB7-6BF1-4F0F-B8E3-D4490CF9CA6D</cbIdPsp>**
** <cbNumero>**** **** **** **99</cbNumero>**
** <cbTitulaire>M TEDDY TEST CB OGONE 001</cbTitulaire>**
** <creation>2019-02-27T18:09:45+01:00</creation>**
** <modification>2019-02-27T18:09:46+01:00</modification>**
** <refCb>831</refCb>**
** <refClient>9013176</refClient>**
_ </carteBancaire>_
_ <carteBancaire>_
** <cbCode>OGN833</cbCode>**
** <cbExpire>2228-09-30T00:00:00+02:00</cbExpire>**
** <cbIdPsp>E1239AB7-6BF1-4F0F-B8E3-D4490CF9CA6U</cbIdPsp>**
** <cbNumero>15** **** **** **68</cbNumero>**
** <cbTitulaire>M TEST 15 68 BIS</cbTitulaire>**
** <creation>2019-02-28T14:34:25+01:00</creation>**
** <modification>2019-02-28T14:34:26+01:00</modification>**
** <refCb>833</refCb>**
** <refClient>9013176</refClient>**
_ </carteBancaire>_
_ </ns2:getCartesBancairesByCodeClientResponse>_
_ </S:Body>_
_</S:Envelope>_
|| Nombre de cartes bancaires d'un client (getNbCarteBancairesByCodeClient)
||| Exemple d'appel de getNbCarteBancairesByCodeClient
__**Trame :**__
_<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ges="http://www.gesmag.com/">_
_ <soapenv:Header/>_
_ <soapenv:Body>_
_ <ges:getNbCartesBancairesByCodeClient>_
** <codeClient>9013176</codeClient>**
_ </ges:getNbCartesBancairesByCodeClient>_
_ </soapenv:Body>_
_</soapenv:Envelope>_
__**Retour :**__
_<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">_
_ <SOAP-ENV:Header/>_
_ <S:Body>_
_ <ns2:getNbCartesBancairesByCodeClientResponse xmlns:ns2="http://www.gesmag.com/">_
** <result>2</result>**
_ </ns2:getNbCartesBancairesByCodeClientResponse>_
_ </S:Body>_
_</S:Envelope>_
** <result>2</result>** correspond au fait que le client possède deux cartes bancaires.
|| Carte bancaire active d'un client ( getCarteBancaireDefaut)
||| Exemple d'appel de getCarteBancaireDefaut
__**Trame :**__
_<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ges="http://www.gesmag.com/">_
_ <soapenv:Header/>_
_ <soapenv:Body>_
_ <ges:getCarteBancaireDefaut>_
** <codeClient>9013176</codeClient>**
_ </ges:getCarteBancaireDefaut>_
_ </soapenv:Body>_
_</soapenv:Envelope>_
__**Retour :**__
_<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">_
_ <SOAP-ENV:Header/>_
_ <S:Body>_
_ <ns2:getCarteBancaireDefautResponse xmlns:ns2="http://www.gesmag.com/">_
_ <carteBancaireDefaut>_
** <cbCode>OGN833</cbCode>**
** <cbExpire>2228-09-30T00:00:00+02:00</cbExpire>**
** <cbIdPsp>E1239AB7-6BF1-4F0F-B8E3-D4490CF9CA6U</cbIdPsp>**
** <cbNumero>15** **** **** **68</cbNumero>**
** <cbTitulaire>M TEST 15 68 BIS</cbTitulaire>**
** <creation>2019-02-28T14:34:25+01:00</creation>**
** <modification>2019-02-28T14:34:26+01:00</modification>**
** <refCb>833</refCb>**
** <refClient>9013176</refClient>**
_ </carteBancaireDefaut>_
_ </ns2:getCarteBancaireDefautResponse>_
_ </S:Body>_
_</S:Envelope>_
La carte retournée ici sera celle qui sera utilisée pour les prochains prélèvements si il y en a.