Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erreur sur les numéro de pré-demande ANTS invalides côté prescripteur #3703

Closed
victormours opened this issue Jul 28, 2023 · 6 comments
Closed
Labels
ANTS interconnexion ANTS mairie recherche de créneaux et dédoublonnage Bug 🔴 bug
Milestone

Comments

@victormours
Copy link
Contributor

victormours commented Jul 28, 2023

Un usager avec un numéro de pré-demande invalide côté prescripteur lève une erreur 500 plutôt qu’une erreur de validation.
voir https://sentry.incubateur.net/organizations/betagouv/issues/56095/?environment=production&query=is%3Aunresolved&referrer=issue-stream


Auteur : Adrien

Le job Ants::SyncAppointmentJob lève des AntsApi::ApiRequestError en grande quantité : 1600 sur 30 jours.

Le message renvoyé par l’API ANTS ressemble à ça :

code:422, body:{"detail":[{"loc":["query","application_ids",0],"msg":"string does not match regex \"^([A-Z0-9]{10}[,;:\\-/.\\s])*[A-Z0-9]{10}$\"","type":"value_error.str.regex","ctx":{"pattern":"^([A-Z0-9]{10}[,;:\\-/.\\s])*[A-Z0-9]{10}$"}}]} (AntsApi::ApiRequestError)

Si je comprends bien le pattern attendu pour les application IDS est :

[10 chiffres ou lettres][un séparateur éventuel][10 chiffres ou lettres]

Pistes d’explication :

  1. Notre validation de IDs ANTS n’est pas correcte /\A[A-Z0-9]{10}\z/ cf User::Ants
  2. On fait des requêtes API pour des valeurs d’IDs ANTS déjà anonymisées
  3. Le problème vient des requêtes pour des IDs "obsolètes" qui sont invalides

La piste 3 semble l’explication la plus probable.
Quand on regarde les arguments des jobs en erreur on voit beaucoup de ces IDs obsolètes avec des valeurs qui ne collent pas du tout à la regex : EDOUAR, 1159-3842, U4FZW2G2U ...

Pistes de solutions :

Je n’ai pas assez d’informations sur ces obsolete ids pour savoir ce qu’il faut faire.
@ousmanedev j’ai l’impression que tu as pas mal investigué ce sujet, est-ce que tu pourrais compléter avec tes observations quand tu as le temps ?

@victormours victormours added the Bug 🔴 bug label Jul 28, 2023
@victormours victormours moved this from 📋 Backlog to 🔖 Ready in RDV Service Public Jul 28, 2023
@github-project-automation github-project-automation bot moved this to 📋 Backlog in RDV Service Public Jul 28, 2023
@mekaidmekaid mekaidmekaid moved this from 🔖 Ready to 📋 Backlog in RDV Service Public Oct 1, 2023
@mekaidmekaid mekaidmekaid moved this from 📋 Backlog to 🧊 Icebox in RDV Service Public Nov 22, 2023
@mekaidmekaid mekaidmekaid moved this from 🧊 Icebox to 📋 Backlog in RDV Service Public Nov 22, 2023
@mekaidmekaid mekaidmekaid added this to the Bugs milestone Nov 22, 2023
Copy link

Sentry issue: LAPINS-126

@adipasquale
Copy link
Contributor

adipasquale commented Jun 25, 2024

@victormours je ne suis pas 100% sûr que ce soit le même cas mais j’ai lié ce ticket GH à cette issue Sentry car ça me semble similaire et que ton lien vers Sentry ne fonctionne plus 🤷

Edit:
maintenant que j’ai rédigé tout ça et modifié la description plus haut je crois comprendre que ce n’était pas du tout le même cas que tu signalais. Je pense qu’il faut que j’extrais mes infos dans un autre ticket GH, qu’en penses tu?

@francois-ferrandis
Copy link
Contributor

J'avais un peu creusé : on a bien des IDs qui ne respectent pas la regexp.

On peut les retrouver comme ça :

User
  .where("ants_pre_demande_number IS NOT NULL")
  .where.not("ants_pre_demande_number ~ '^[A-Z0-9]{10}$'")
  .limit(100)
  .pluck(:ants_pre_demande_number, :created_at)

Beaucoup ont un espace à la fin ou un espace au début, ou sont du genre " ".

Ma piste : on dirait que ce sont tous des proches (des enfants), c'est donc vraisemblablement le formulaire d'ajout de proche qui ne fait pas la vérif validate_ants_pre_demande_number.

Copy link

Sentry Issue: LAPINS-1GK

Copy link

Sentry Issue: LAPINS-1QN

@adipasquale adipasquale added the ANTS interconnexion ANTS mairie recherche de créneaux et dédoublonnage label Nov 5, 2024
@adipasquale
Copy link
Contributor

je ferme cette issue en faveur de #4777 car je crois que ça recouvre exactement ce problème maintenant qu’on l’a bien identifié et qualifié

@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in RDV Service Public Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ANTS interconnexion ANTS mairie recherche de créneaux et dédoublonnage Bug 🔴 bug
Projects
Status: ✅ Done
Development

No branches or pull requests

4 participants