Exports de données
Base URL : /api/v1/admin/org
Exports de masse au format CSV ou XLSX. Chaque endpoint renvoie un fichier téléchargeable (pas de JSON), avec un en-tête Content-Disposition: attachment.
| Aspect | Détail |
|---|---|
| Format par défaut | CSV (text/csv; charset=utf-8) |
| Format alternatif | XLSX via ?format=xlsx |
| Limite | 10 000 lignes maximum par export |
GET /api/v1/admin/org/cards/export?format=xlsx
Authorization: Bearer ...
GET /admin/org/cardholders/export
Export des porteurs.
Permissions : cardholder.export, cardholder.manage ou export.manage
| Param | Description |
|---|---|
search | Recherche (code, nom, prénom) |
status | Statut |
holder_type | Type de porteur |
is_active | Actif/inactif |
Colonnes : code, first_name, last_name, establishment, holder_type, email, phone
GET /admin/org/cards/export
Export des cartes.
Permissions : card.export, card.manage ou export.manage
| Param | Description |
|---|---|
search | Recherche (code, numéro, porteur) |
status | active, unassigned, deactivated, lost |
Colonnes : code, card_number, status, balance_cents, daily_limit_cents, activated_at, titulaire, telephone, email
GET /admin/org/products/export
Export des produits.
Permissions : product.export, product.manage ou export.manage
| Param | Description |
|---|---|
search | Recherche (nom, code) |
category_id | Catégorie |
is_active | Actif/inactif |
Colonnes : code, name, meal_type, price_cents, stock_quantity, is_active, reservation_deadline_days_before, reservation_deadline_time
GET /admin/org/transactions/export
Export des transactions.
Permissions : transaction.export, transaction.manage ou export.manage
| Param | Description |
|---|---|
date_from / date_to | Plage de dates |
type | Type de transaction |
site_id | Site |
search | Recherche (code carte, porteur) |
Colonnes : date_heure, type, code_carte, titulaire, operateur, articles, montant_cents, solde_avant_cents, solde_apres_cents
articlesPour les ventes (debit_purchase), la colonne articles agrège les lignes sous la forme "{nom} *{qté} @ {prix} = {total}", jointes par " | ".
GET /admin/org/reservations/export
Export des réservations (une ligne par réservation).
Permissions : reservation.export ou reservation.manage
| Param | Description |
|---|---|
date | Jour précis (prime sur la plage) |
date_from / date_to | Plage (défaut : 30 derniers jours) |
site_id | Site |
status | Statut |
Colonnes : id, for_date, status, total_price_cents, created_at, holder_first_name, holder_last_name, holder_code, holder_type, card_code, card_number, articles, site_name, menu_name, performed_by_name, notes, refund_reason, group_id
GET /admin/org/stock/export
Export des mouvements de stock.
Permissions : stock.export, stock.manage ou export.manage
| Param | Description |
|---|---|
date_from / date_to | Plage |
product_id | Produit |
movement_type | Type de mouvement |
Colonnes : id, product_id, movement_type, delta, reason, performed_by, created_at
GET /admin/org/roles/export
Export de la matrice rôles × permissions.
Permissions : role.export, role.manage ou export.manage
Structure : les permissions sont en lignes, les rôles en colonnes. Chaque cellule contient "Oui" (ou vide).
| Role1 | Role2 | |
|---|---|---|
card.read | Oui | Oui |
card.create | Oui |
Portée tenant : inclut les rôles globaux (organization_id IS NULL) et ceux de l'organisation. Les rôles de même nom sont dédupliqués. Feuille XLSX : Rôles & Permissions.
GET /admin/org/anomalies/export
Export des anomalies.
Permissions : anomaly.export, anomaly.manage ou export.manage
Colonnes : id, kind, message, severity, detected_at
GET /admin/org/audit-logs/export
Export du journal d'audit.
Permissions : log.export, log.manage ou export.manage
| Param | Description |
|---|---|
date_from / date_to | Plage |
Portée tenant : si les claims portent un organization_id, l'export est filtré sur cette organisation ; sinon, l'export couvre toutes les organisations.
Colonnes : id, organization_id, action, target_type, target_id, actor_id, occurred_at
Permissions
| Permission | Description |
|---|---|
*.export | Export spécifique au domaine (ex: card.export) |
*.manage | Super-permission du domaine |
export.manage | Super-permission couvrant tous les exports |