Aller au contenu principal

Cas d’usage

Gestion des sub-tenants (CRUD via /tenant/sub-tenants)

Créer, lister, mettre à jour et désactiver des sub-tenants

L'API `/api/v1/tenant/sub-tenants` expose un CRUD complet pour gérer les sub-tenants depuis le compte parent : `POST` pour créer (renvoie sub_tenant_id + publishable key `pk_*`), `GET /` pour lister (pagination cursor-based), `GET /{id}` pour récupérer, `PATCH /{id}` pour mettre à jour (template, branding, métadonnées), `DELETE /{id}` pour désactiver (soft delete, données conservées 10 ans pour conformité fiscale (Code de commerce L123-22 / LPF L102 B)). La désactivation empêche toute nouvelle facture mais ne supprime pas les données existantes (obligation fiscale 10 ans). Pour réactiver : `POST /{id}/reactivate`. Chaque sub-tenant a son propre numéroteur et son propre journal fiscal.

À retenir

  • CRUD complet : POST, GET, PATCH, DELETE
  • Pagination cursor-based (next_cursor)
  • DELETE = soft delete (conservation 10 ans, Code de commerce L123-22 / LPF L102 B)
  • Réactivation via `POST /{id}/reactivate`
  • Publishable key `pk_*` retournée à la création
  • Métadonnées custom (JSON) pour rapprochement CRM

Exemple de code

import { ScellClient } from '@scell/sdk';
const scell = new ScellClient({ apiKey: process.env.SCELL_SECRET_KEY! });

// Lister tous les sub-tenants actifs (paginé)
let cursor: string | undefined;
do {
  const page = await scell.subTenants.list({ limit: 100, cursor, status: 'active' });
  for (const st of page.data) {
    console.log(`${st.id}\t${st.name}\t${st.invoice_numbering_prefix}`);
  }
  cursor = page.next_cursor;
} while (cursor);

// Désactiver un sub-tenant (les factures existantes restent accessibles)
await scell.subTenants.delete('st_abc123');

// Réactiver plus tard
await scell.subTenants.reactivate('st_abc123');

Voir aussi

Vos préférences cookies

Nous utilisons des cookies pour améliorer votre expérience. Les cookies essentiels sont toujours actifs. Politique cookies.