Development #43119
astregs: implémenter le web-service d'injection de RIB
0%
Description
Spécification du WS :
https://dev.entrouvert.org/attachments/download/24656/WS_Astre.zip
Extrait :
Création
La colonne « E/S » indique si l’attribut est un attribut en entrée (attribut dont la valeur doit être initialisée), en sortie (attribut calculé dont la valeur est renvoyée par la requête).
Balise Oblig Attribut E/S Description et remarques tier:Authentification Oui USERNOM E Nom de l’utilisateur Astre Oui USERPWD E Mot de passe du compte de l’utilisateur Astre tier:Contexte Oui Organisme E Code organisme du contexte Oui Budget E Code budget du contexte Oui Exercice E Exercice du contexte tier: TiersRib Oui CodeTiers E Code du tiers IdRib E/S Identifiant interne du Rib (obligatoire si on est en affichage/modification/suppression) Oui CodeDomiciliation E Numéro de la domiciliation Oui CodePaiement E Code du mode de paiement (OG.TAB_PAIE) Oui LibelleCourt E Intitulé du compte bancaire IndicateurRibDefaut E Indique si le Rib est un Rib par défaut (= true) ou pas.
Si le Rib n’est pas un Rib par défaut : ne rien indiquerOui CodeStatut E Statut du RIB : PROPOSE, VALIDE, REFUSE, A COMPLETER, BLOQUE, EN MODIFICATION CodeBanque E Code banque (OG.V_BANQUE) CodeGuichet E Code guichet (OG.V_GUICHE) Comptefrancais E Numéro de compte pour un compte français CleRib E LibelleBanque S Libellé de la banque LibelleGuichet S Libellé du guichet Oui CodeDevise E Code de la devise du compte bancaire LibelleDevise S Libellé de la devise (OG.V_DEVISE) LibellePays S Libellé du pays Oui CodeIso2Pays E Code ISO2 du pays (OG.V_PAYS) CompteEtranger E Numéro de compte dans le cas d’un compte à l’étranger CodeBic E Code BIC de la banque CleIban S Clé IBAN du compte bancaire NumeroIban S Numéro IBAN du compte bancaire LibelleCompteEtranger E Première partie du libellé de la banque (pour un compte étranger) Libelle2CompteEtranger E Deuxième partie du libellé de la banque (pour un compte étranger) NumeroTiersSubrogatoire E Code du Tiers subrogatoire IdRibSubrogatoire E Identifiant internet du Rib du tiers subrogatoire IntituleRibSub S Intitulé du Rib subrogatoire Oui IndicateurRibEtranger E Indique si le Rib est un Rib étranger (= true) ou un Rib français (= false) TiersIdSubrogatoire S Identifiant interne du tiers subrogatoire VilleTiersSub S Localité de l’adresse principal du tiers subrogatoire NomTiersSub S Nom d’enregistrement du tiers subrogatoire NumRibSubrogatoire E Code de la domicilation du Rib subrogatoire CodePostalTiersSub S Code postal de l’adresse principal du tiers subrogatoire Commentaire E La zone commentaire associée au RIB
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Assigné à changé de Benjamin Dauvergne à Serghei Mihai (congés, retour 15/05)
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 4 ans
- Tracker changé de Support à Development
- Statut changé de Nouveau à En cours
Branche à jour, CRUD et tests.
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 4 ans
Serghei Mihai a écrit :
CRUD
CRUD au sens AstreGS.
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Statut changé de En cours à Solution proposée
Ça m'a l'air bon, mais c'est des vrais réponses ? AstreGS ne valide pas les IBAN ?
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
Benjamin Dauvergne a écrit :
Ça m'a l'air bon, mais c'est des vrais réponses ? AstreGS ne valide pas les IBAN ?
Quand même une remarque de forme, ça aurait plus uniforme que Get/Update/Suppression prennent les mêmes paramètres en query-string pour désigner le RIB (CodeTiers/IdRib).
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 4 ans
Benjamin Dauvergne a écrit :
Ça m'a l'air bon, mais c'est des vrais réponses ? AstreGS ne valide pas les IBAN ?
Oui, des vraies réponses mais j'ai modifié les XML pour ne pas y laisser des vraies coordonées bancaires.
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 4 ans
- Statut changé de Solution proposée à En cours
Benjamin Dauvergne a écrit :
Quand même une remarque de forme, ça aurait plus uniforme que Get/Update/Suppression prennent les mêmes paramètres en query-string pour désigner le RIB (CodeTiers/IdRib).
Ok, je change ça.
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 4 ans
- Statut changé de En cours à Solution proposée
Branche à jour.
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
Serghei Mihai a écrit :
Branche à jour.
Je ne le constate que maintenant mais le schéma est incomplet non ? J'en avais mis un complet il me semble; et sur Update on a pas de schéma.
Sur Update tu utilise json_loads au lieu de post_data, pourquoi ?
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 4 ans
Benjamin Dauvergne a écrit :
Je le constate que maintenant mais le schéma est incomplet non ? J'en avais mis un complet il me semble; et sur Update on a pas de schéma.
Ce que tu as extrait de la WSDL ne correspond pas avec ce que donne la doc, mais surtout avec l'exemple donné par Pascal dans #43150 qui fonctionne.
Je me suis basé sur son exemple.
L'update exige la clé CodeTiers, IdRib
et les autres paramètres sont ceux qu'il faut modifier, sans qu'ils soient obligatoires.
A un moment LibelleCourt
peut être modifié, à un autre le CodeStatut
(de PROPOSE
à VALIDE
).
Sur Update tu utilise json_loads au lieu de post_data, pourquoi ?
Pour éviter de passer:
'request_body': {'schema': {'application/json': {}}}
dans la définition du endpoint. Mais pourquoi pas.
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
Serghei Mihai a écrit :
Benjamin Dauvergne a écrit :
Je le constate que maintenant mais le schéma est incomplet non ? J'en avais mis un complet il me semble; et sur Update on a pas de schéma.
Ce que tu as extrait de la WSDL ne correspond pas avec ce que donne la doc, mais surtout avec l'exemple donné par Pascal dans #43150 qui fonctionne.
Je ne saisis pas bien: je vois dans l'exemple de Pascal et dans le WSDL, la clé NumeroIban mais dans ton schéma je ne la vois pas, https://git.entrouvert.org/passerelle.git/commit/?h=wip/43119-astregs-implementer-le-web-servi&id=1d7a7ddf40672a8b57fe865bcbcea56faebbea67 ; et dans l'absolu je ne vois pas trop comment Zeep accepterait des clés qui ne seraient pas dans le WSDL. Au niveau des tests ça a l'air bon mais tu passes des clés qui ne sont pas dans le/les schémas.
Ça me va de ne pas créer un schéma qui reprenne tout le WSDL si ça n'a pas d'intérêt, mais la clé NumeroIban ça me parait important (et que le schéma update soit déclaré si on décide d'exposer ce endpoint).
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 4 ans
Benjamin Dauvergne a écrit :
Je ne saisis pas bien: je vois dans l'exemple de Pascal et dans le WSDL, la clé NumeroIban mais dans ton schéma je ne la vois pas, https://git.entrouvert.org/passerelle.git/commit/?h=wip/43119-astregs-implementer-le-web-servi&id=1d7a7ddf40672a8b57fe865bcbcea56faebbea67 ;
NumeroIban
et CleBic
ajoutés.
Au niveau des tests ça a l'air bon mais tu passes des clés qui ne sont pas dans le/les schémas.
payload = { 'CleIban': '76', 'CodeBic': 'CODEBIC', 'CodeDevise': 'EUR', 'CodeIso2Pays': 'FR', 'CodePaiement': '3', 'CodeStatut': 'PROPOSE', 'CodeTiers': '487464', 'LibelleCompteEtranger': 'LABEL', 'LibelleCourt': 'Test', 'LibellePays': 'FR', 'NumeroIban': 'FR76AABBCCDDEEFFGGHHIIJJKKLLM' }
ils ne sont pas dans le schéma JSON du endpoint, mais présents dans la WSDL.
Branche à jour.
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Statut changé de Solution proposée à Solution validée
Serghei Mihai a écrit :
ils ne sont pas dans le schéma JSON du endpoint, mais présents dans la WSDL.
C'est pas du tout raccord avec ce que tu disais, à part les clés requises qui diffèrent (je pense qu'on peut n'en mettre aucune à part ce qui est listé obligatoire dans la doc, visiblement le fait que les élements XML soient requis n'a pas d'influence sur ce qu'il faut passer à zeep) mon schéma initial était complet, tu aurais pu le garder.
Branche à jour.
Le schéma de création et de mise à jour devraient être identique comme dans le WSDL, pas compris non plus, enfin je valide, de toute façon a besoin que de Creation visiblement.
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 4 ans
Benjamin Dauvergne a écrit :
C'est pas du tout raccord avec ce que tu disais, à part les clés requises qui diffèrent (je pense qu'on peut n'en mettre aucune à part ce qui est listé obligatoire dans la doc, visiblement le fait que les élements XML soient requis n'a pas d'influence sur ce qu'il faut passer à zeep) mon schéma initial était complet, tu aurais pu le garder.
J'ai réduit exprès le schéma que tu as extrait car:
- tous les paramètres ne seront pas renseignés lors de appels WS
- ils sont tous de type
string
car la couche SOAP n'est qu'un wrapper approximatif au dessus d'une autre API interne qui fait des GET en transmettant tous les paramètres en querystring
C'était pour ne pas rajouter des lignes dans le code sans utilité.
Le schéma de création et de mise à jour devraient être identique comme dans le WSDL, pas compris non plus, enfin je valide, de toute façon a besoin que de Creation visiblement.
On s'est dit dans le commenatire #43119#note-7 que pour l'update CodeTiers
et IdRib
doivent être passés en query string, donc inutile de les demander dans le payload json.
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit dfb807f01cd7c6611ec2ceb6cc9929983e42586e (origin/master, origin/HEAD) Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Wed May 20 00:35:06 2020 +0200 astregs: implement CRUD for Tiers RIB (#43119)
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
astregs: implement CRUD for Tiers RIB (#43119)