trace_id, la version de core
qui l’a produite et la version de l’app qui l’a demandée. Cette route est le
seul chemin qui vient y poser un pouce.
Pourquoi une route à part, et non un champ de plus sur /v2/retrieve : le vote
arrive après la réponse, parfois longtemps après — l’utilisateur lit, puis
juge — et parfois jamais. C’est un autre geste, avec sa propre durée de vie.
vote: 0 existe pour que se dédire soit un geste écrit comme un autre. Sans
lui, retirer un pouce obligerait à supprimer la ligne — et on perdrait la
réponse tracée en même temps que l’avis.
Idempotent
Re-poster écrase le vote précédent. C’est ce qui permet à l’utilisateur de changer d’avis, et à un client de re-tenter un envoi perdu sans compter deux fois.Écriture synchrone
Contrairement à la trace elle-même, l’écriture est synchrone : accuser réception d’un vote qu’on n’a pas écrit serait mentir à l’utilisateur qui vient de cliquer.Erreurs
Quand
trace_id revient vide dans une réponse, la journalisation est coupée :
ne proposez alors pas le retour dans l’interface, plutôt que de poster dans le
vide.