Projet

Général

Profil

Development #43119

astregs: implémenter le web-service d'injection de RIB

Ajouté par Benjamin Dauvergne il y a presque 4 ans. Mis à jour il y a presque 4 ans.

Statut:
Fermé
Priorité:
Normal
Version cible:
-
Début:
19 mai 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

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 indiquer
Oui 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

Révision dfb807f0 (diff)
Ajouté par Benjamin Dauvergne il y a presque 4 ans

astregs: implement CRUD for Tiers RIB (#43119)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a presque 4 ans

  • Assigné à mis à Benjamin Dauvergne
#3

Mis à jour par Benjamin Dauvergne il y a presque 4 ans

  • Assigné à changé de Benjamin Dauvergne à Serghei Mihai (congés, retour 15/05)
#4

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.

#5

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.

#6

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 ?

#7

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).

#8

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.

#9

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.

#10

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.

#11

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 ?

#12

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.

#13

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).

#14

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.

#15

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.

#16

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.

#17

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)
#18

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

Formats disponibles : Atom PDF