Authentification
Authorization: Bearer <jwt> : le jeton de session Supabase de la personne connectée (celui du dashboard, valable 1 h, qu’on lit avec supabase.auth.getSession() dans le navigateur connecté).
Qui peut exporter :
- le propriétaire de la boutique, ou un manager : un membre support, finance ou opérationnel reçoit
403, même en appelant la route directement ; - un administrateur Actero.
client_id. Sans client_id, l’export ne marche que si le compte n’a qu’une seule boutique ; avec plusieurs boutiques, la route répond 400 et demande de préciser laquelle. Si le compte n’est lié à aucune boutique → 403 Aucune boutique associée à ce compte.
Query params
enum
default:"json"
json (défaut) ou csv. Le CSV concatène toutes les tables en un seul fichier avec des sections ## table_name (count) pour pouvoir l’ouvrir dans Excel ou LibreOffice (BOM UTF-8 inclus).string
Identifiant de la boutique à exporter. Obligatoire si ton compte a plusieurs boutiques. Il n’existe aucun paramètre de période : l’export contient tout l’historique.
Headers
Response — 200 OK
Format JSON
Content-Type: application/json; charset=utf-8
Content-Disposition: attachment; filename="actero-export-2026-04-22T10-00-00.json"
Format CSV
Content-Type: text/csv; charset=utf-8
Content-Disposition: attachment; filename="actero-export-2026-04-22T10-00-00.csv"
Tables exportées
Response — autres cas
401 Unauthorized
400 Bad Request
403 Forbidden
403 : Aucune boutique associée à ce compte. (aucune boutique liée au compte) et Cette boutique ne t’appartient pas. (le client_id n’est pas l’une de tes boutiques).
405 Method Not Allowed
Cet endpoint accepte uniquement GET.
Erreurs partielles
Si une table individuelle ne peut pas être lue, elle apparaît avec un tableau vide[] et son nom est listé dans tables_en_erreur, plutôt que de faire échouer tout l’export. La réponse reste 200 OK. Vérifie tables_en_erreur avant d’archiver.
Exemples
Les exemples utilisent le jeton de session (ACTERO_SESSION_TOKEN) et l’identifiant de ta boutique (ACTERO_CLIENT_ID).
Performance et taille
L’export est synchrone : le serveur lit chaque table par pages, puis renvoie le tout dans une seule réponse. Pour garder une réponse que la plateforme accepte de transmettre (environ 4 Mo), la lecture s’arrête à des bornes : 20 000 lignes par table, un budget de taille et un budget de temps de 45 secondes.- Un export qui atteint une borne reste en
200 OK, mais il est partiel : le champtables_tronqueesliste les tables concernées, etexport_partielexplique comment recevoir le reste. - Un export trop volumineux pour être téléchargé d’un coup répond
413: écris àcontact@actero.fr, on te l’envoie.
Suppression vs export
L’export ne supprime rien. Pour exercer ton droit à l’effacement (RGPD article 17), envoie un email àcontact@actero.fr depuis l’adresse du propriétaire de la boutique. Ton agent est coupé tout de suite ; tes données sont détruites après un délai de grâce de 14 jours, pendant lequel tu peux annuler la demande. Voir Export RGPD.