Skip to main content
Cet endpoint matérialise le droit à la portabilité prévu par le RGPD article 20 et la déclaration “Privacy by design” Actero. Il retourne en un seul appel les données stockées sur la boutique demandée, prêtes à être archivées ou migrées chez un autre prestataire. Les très gros volumes peuvent être exportés en partie : voir Performance et taille. Voir Export RGPD pour le contexte légal et opérationnel.

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é).
Un jeton développeur mcp_pat_… (page IA et API) n’ouvre que le serveur MCP : il répond 401 ici. Une clé ak_… (publique, celle de la bulle) n’ouvre pas non plus cette route. Pour un export automatisé, l’écran Paramètres → Exporter tes données reste le plus simple.
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.
La boutique se passe en 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

Les secrets sont volontairement exclus de l’export : jetons OAuth (Shopify, Gorgias…), mots de passe, clés d’API et colonnes chiffrées. Ils sont stockés chiffrés et liés à l’instance Actero ; ils ne sont pas portables. Pour migrer, reconnecte tes intégrations chez le nouveau prestataire.Les membres de l’équipe (client_users) et les règles de la page Restrictions (client_guardrails) ne font pas partie de l’export.

Response — autres cas

401 Unauthorized

400 Bad Request

Ton compte a plusieurs boutiques et la requête n’en désigne aucune.

403 Forbidden

Autres messages de 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 champ tables_tronquees liste les tables concernées, et export_partiel explique 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.

Rate limit

Cette route n’a pas de limite de débit propre. Inutile d’en faire beaucoup : l’export représente un instantané, pas un flux temps réel. Pour suivre les nouvelles données au fil de l’eau, utilise les webhooks sortants.