Référence APILister les réponses sécurisées d'un transfert
GET/v1/transfers/{id}/replies

Lister les réponses sécurisées d'un transfert

Récupère les réponses sécurisées (jusqu'à 50) reçues sur un transfert dont vous êtes le propriétaire.

2 min de lectureTélécharger en PDF

Réponse exemple

{
"replies": [
{
"id": "rep_9c2f1a7b4e8d",
"status": "received",
"message": "Voici les documents signés en retour, merci.",
"created_at": "2026-06-04T14:32:08.512Z",
"sender_name": "Camille Durand",
"sender_email": "camille.durand@exemple.fr",
"encryption_mode": "sealed_box",
"reply_transfer_id": "trf_4d7e2b9a1c63"
},
{
"id": "rep_1a8e4d2c9f06",
"status": "read",
"message": "Bien reçu, je reviens vers vous demain.",
"created_at": "2026-06-03T09:15:44.001Z",
"sender_name": "Camille Durand",
"sender_email": "camille.durand@exemple.fr",
"encryption_mode": "none",
"reply_transfer_id": null
}
]
}
GET/v1/transfers/{id}/repliesListe les réponses sécurisées associées à un transfert appartenant à l'utilisateur authentifié.

Cet endpoint renvoie les réponses sécurisées reçues sur un transfert donné, c'est-à-dire les messages (et éventuels transferts de retour) qu'un destinataire a renvoyés en réaction au transfert d'origine. L'{id} passé dans le chemin est l'identifiant du transfert d'origine : la liste retournée correspond aux lignes dont original_transfer_id vaut cet identifiant. Avant toute lecture, le handler vérifie que le transfert vous appartient (user_id = utilisateur authentifié) ; si ce n'est pas le cas, ou si le transfert n'existe pas, la requête renvoie 404. Les résultats sont triés du plus récent au plus ancien (created_at décroissant) et limités à 50 entrées par appel.

Authentification

Cet endpoint s'appuie sur la session utilisateur Supabase (cookie de session), et non sur une clé API à scope. Concrètement, il requiert un utilisateur authentifié valide : clé API valide, aucun scope spécifique. Le contrôle d'accès se fait par propriété du transfert : seul le propriétaire (user_id) peut lister les réponses. Aucun requiredScope n'est déclaré côté handler ; un appel sans session valide est rejeté en 401.

Paramètres de requête

ParamètreTypeRequisDescription
idstring (path)OuiIdentifiant du transfert d'origine, extrait du chemin de l'URL. Les réponses listées sont celles dont original_transfer_id correspond à cette valeur.

Aucun paramètre de requête (query string) n'est pris en charge : la pagination et le filtrage ne sont pas exposés. La limite de 50 résultats et le tri par created_at décroissant sont appliqués de façon fixe par le serveur.

Réponse

En cas de succès, la réponse est un objet JSON contenant un tableau replies (vide si aucune réponse). Chaque entrée expose les champs suivants : id (identifiant de la réponse), sender_name et sender_email (expéditeur de la réponse), message (texte du message), status (statut de traitement de la réponse), encryption_mode (mode de chiffrement utilisé), reply_transfer_id (identifiant du transfert de retour associé, le cas échéant, sinon null) et created_at (date de création, horodatage ISO 8601).

ChampTypeDescription
idstringIdentifiant unique de la réponse.
sender_namestring | nullNom de l'expéditeur de la réponse.
sender_emailstring | nullAdresse e-mail de l'expéditeur.
messagestring | nullContenu textuel du message de réponse.
statusstringStatut de traitement de la réponse.
encryption_modestringMode de chiffrement appliqué à la réponse.
reply_transfer_idstring | nullIdentifiant du transfert de retour rattaché, s'il existe.
created_atstring (ISO 8601)Date de création de la réponse.

Erreurs

CodeQuandRésolution
401Aucune session utilisateur valide n'est présente ({"error":"unauthorized"}).Authentifiez-vous : assurez-vous que le cookie de session Supabase est transmis et toujours valide.
404Le transfert n'existe pas, ou n'appartient pas à l'utilisateur authentifié ({"error":"Not found"}).Vérifiez l'{id} du transfert et que vous en êtes bien le propriétaire.
500Erreur lors de la lecture des réponses en base ({"error":"<message>"}).Réessayez ultérieurement ; si le problème persiste, contactez le support avec le message d'erreur.

Voir aussi