diff --git a/backend/controllers/followups.ts b/backend/controllers/followups.ts index 1fc869ce0c..2ef552da81 100644 --- a/backend/controllers/followups.ts +++ b/backend/controllers/followups.ts @@ -82,10 +82,13 @@ export async function persist(req: Request, res: Response) { return createSimulationRecapUrl(req, res) } } catch (error: any) { - Sentry.captureException(error) if (error.name === "ValidationError") { + if (!error.message || !error.message?.includes("wrongPhoneNumber")) { + Sentry.captureException(error) + } return res.status(403).send(error.message) } else { + Sentry.captureException(error) return res.status(500).send(`Error while persisting followup`) } } diff --git a/src/components/modals/errors-email-and-sms-modal.vue b/src/components/modals/errors-email-and-sms-modal.vue index d46b10e460..9fb12c7e80 100644 --- a/src/components/modals/errors-email-and-sms-modal.vue +++ b/src/components/modals/errors-email-and-sms-modal.vue @@ -11,7 +11,11 @@ const recapEmailState = computed(() => store.recapEmailState)

diff --git a/src/components/recap-email-and-sms-form.vue b/src/components/recap-email-and-sms-form.vue index c9905da0fd..a99b4ddd71 100644 --- a/src/components/recap-email-and-sms-form.vue +++ b/src/components/recap-email-and-sms-form.vue @@ -82,8 +82,10 @@ const sendRecap = async (surveyOptin) => { ) } } catch (error) { - console.error(error) - Sentry.captureException(error) + if (!error?.response?.data?.includes("Invalid")) { + console.error(error) + Sentry.captureException(error) + } } } @@ -142,10 +144,15 @@ const sendRecapByEmailAndSms = async (surveyOptin) => { store.setModalState(undefined) await postFollowup(surveyOptin, emailValue.value, phoneValue.value) } catch (error) { - Sentry.captureException(error) - store.setFormRecapState("error") + if (error?.response?.data?.includes("Numéro de téléphone invalide")) { + store.setFormRecapState("wrongPhoneNumber") + } else { + Sentry.captureException(error) + store.setFormRecapState("error") + } throw error } + store.setFormRecapState("ok") phoneValue.value = undefined emailValue.value = undefined @@ -166,6 +173,7 @@ const sendRecapBySms = async (surveyOptin) => { store.setFormRecapPhoneState("error") throw error } + store.setFormRecapPhoneState("ok") phoneValue.value = undefined } @@ -207,8 +215,7 @@ const ctaText = ref(computeCtaText())

Si vous le souhaitez nous pouvons vous recontacter à deux reprises pour - faire le point sur les démarches que vous avez faites et les blocages que - vous avez rencontrés. + faire le point sur vos démarches et sur les blocages rencontrés.

@@ -239,6 +246,10 @@ const ctaText = ref(computeCtaText()) >Une adresse email valide doit être indiquée. +

Vous pouvez saisir uniquement l'adresse e-mail pour recevoir le + récapitulatif.