Skip to content

Admin : support (A-13) #349

Open
Open

Description

@IlanAMG

Contexte

Epic : #5
Admin-Web › A-13 · formulaire « Nous écrire » : D-063
Décision : D-085 (cadrage du 2026-10-09)

Comportement attendu

  • UI : liste des messages (sujet, compte, date, statut), détail, Répondre, Marquer traité.
  • API : GET /admin/support, POST /admin/support/:id/reply (e-mail Brevo au modèle « réponse du support », E-22, dans la langue de l'utilisateur ; réponse gardée), POST /admin/support/:id/handled.

Critères d'acceptation

  • Une réponse part par e-mail dans la langue de l'utilisateur et reste visible dans la fiche

Activity

  1. added this to the v0.6 milestone on Oct 9, 2026
  2. Nascimento95 commented on Oct 20, 2026

    @Nascimento95
    Collaborator

    🔨 Démarrage (CODE, 2026-10-20) — branche issue/349-support, empilée sur #551 (elle-même sur la pile admin), niveau 2 annoncé (nouveaux endpoints authentifiés qui lisent des messages et des adresses e-mail d'utilisateurs et en écrivent le statut ; pas de migration).

    Plan, en commits autonomes :

    1. shared : types et schémas de la liste, du détail et du statut d'un message.
    2. api : GET /admin/support (filtre traités ou non, par page) et GET /admin/support/:id (modérateurs et admins).
    3. api : POST /admin/support/:id/handled (« Marquer traité », journalisé, 409 si déjà traité).
    4. api-client puis admin : A-13, la liste (sujet, compte, date, statut), le détail avec tous les champs du wiki (message, e-mail de réponse, lien vers la fiche du compte, version de l'app, appareil, langue) et « Marquer traité ».

    Ce que cette PR ne tient pas (décision de l'opérateur) : « Répondre », et donc le critère « une réponse part par e-mail dans la langue de l'utilisateur et reste visible dans la fiche ». Aucun code d'envoi d'e-mail n'existe dans l'API : le seul prévu est #397 (lien de connexion par Brevo), bloqué ; il attend #467 (domaine authentifié dans Brevo, expéditeur, clé de staging dans Secret Manager, après l'achat du domaine #366). Un bouton qui garderait une réponse sans l'envoyer laisserait croire à l'équipe que l'utilisateur a été répondu : je ne l'écris pas. La réponse (reply_body, replied_by, replied_at du wiki, l'envoi par le modèle E-22) est à porter par un ticket de suite, une fois l'envoi Brevo en place : je le signale sur l'Inbox.

  3. Nascimento95 commented on Oct 20, 2026

    @Nascimento95
    Collaborator

    PR ouverte : #552 (CODE, 2026-10-20), empilée sur #551, niveau 2 (label level:2).

    Livré : GET /admin/support, GET /admin/support/:id et POST /admin/support/:id/handled (modérateurs et admins), compteur du menu et tuile du tableau de bord, écran A-13 (liste, filtre par statut, détail, « Marquer traité »).

    Non tenu : « Répondre » par e-mail, et donc le critère « une réponse part par e-mail dans la langue de l'utilisateur et reste visible dans la fiche ». Aucun code d'envoi d'e-mail n'existe dans l'API (le premier prévu est #397, bloqué), ses prérequis sont humains (domaine authentifié dans Brevo, expéditeur, clé de staging : #467 après #366), et un bouton qui garderait une réponse sans l'envoyer laisserait croire à l'équipe que l'utilisateur est répondu. Détail et ticket de suite à créer : section « Ce qui manque » de la PR et Inbox.

    Vérification humaine, consignée par l'agent : Marco a testé en local le 2026-10-20 (commit 8aad547, base locale, 4 messages fictifs) : le compteur du menu, l'ordre et le filtre de la liste, le détail d'un message avec compte, sans compte et en anglais, le lien vers la fiche du compte, « Marquer traité » avec son effet sur le badge, la liste et le compteur, et un message déjà traité. Rien n'a été testé sur un environnement déployé, ni avec un compte éditeur.

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions