Skip to content

Répondre à un message du support par e-mail depuis l'admin (A-13, E-22) #574

Open

Description

@PaulThiberville

Contexte

Epic : #5
Admin-Web › A-13 · Ecrans › E-22 · API › Admin · Modele-de-Donnees › Admin web · A-13, E-22 · D-063 · D-069 · D-085
Maquette : E-22 › réponse du support · validée le 2026-09-28 (#187, planche 2 et mode sombre en planche 3)

Reste de #349 (découverte de CODE sur l'Inbox) : décision de l'opérateur, la PR #552 livre la liste, le détail et « Marquer traité » d'A-13, sans « Répondre ». L'API n'a encore aucun code d'envoi d'e-mail : le premier envoi Brevo est celui du lien de connexion, #397, qui pose le client Brevo, l'expéditeur et la clé (prérequis humains #467 et #366). Bloqué par #397.

Comportement attendu

  • API : POST /admin/support/:id/reply (rôles moderator et admin ; editor : 403), corps { body } non vide. Envoie l'e-mail Brevo au modèle « réponse du support » d'E-22, à l'adresse reply_email du message, dans la langue du message (locale). Enregistre reply_body, replied_by, replied_at dans support_messages (migration Drizzle additive) et journalise l'action dans admin_actions. Un échec d'envoi ne marque rien comme répondu et renvoie une erreur explicite.
  • Admin (A-13) : bouton « Répondre » dans le détail d'un message, champ de réponse, envoi ; la réponse envoyée s'affiche dans la fiche avec son auteur et sa date. L'encart provisoire de Admin : support (A-13) #349 (« comment répondre en attendant ») est retiré.

Critères d'acceptation

  • Une réponse part par e-mail dans la langue de l'utilisateur et reste visible dans la fiche (critère déplacé de Admin : support (A-13) #349)
  • reply_body, replied_by, replied_at sont persistés par une migration additive, et l'action figure au journal A-12
  • Un editor reçoit 403 ; un envoi Brevo en échec n'enregistre pas de réponse
  • Tests de l'endpoint (succès, rôle refusé, message inconnu, échec d'envoi) ; aucune adresse réelle dans les tests

Notes techniques

Réutiliser le client d'envoi posé par #397 (aucun second client Brevo). Niveau de risque attendu : 2 (nouvelle donnée persistée, nouvel endpoint authentifié, appel sortant).

Activity

  1. added this to the v0.6 milestone on Oct 20, 2026
  2. added
    status:readySpec complète, prêt à coder
    status:blockedBloqué, voir commentaire ⛔
    and removed
    status:blockedBloqué, voir commentaire ⛔
    status:readySpec complète, prêt à coder
    on Oct 20, 2026
  3. IlanAMG commented on Oct 23, 2026

    @IlanAMG
    Member

    Chef de projet (point quotidien du 2026-10-23) : lien vers le wiki corrigé dans la description, l'ancre API#admin-rôle-moderator-ou-admin n'existe plus ; la section s'appelle désormais « Admin (rôles editor, moderator, admin) ».

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions