Aller au contenu principal

Frameworks

Nuxt 3 — Intégration Scell.io

Server route + composable côté client

Le SDK `@scell/sdk` v3.5.0 s'utilise dans Nuxt 3 via les server routes (`/server/api/invoices.post.ts`) où la clé `sk_*` reste sécurisée. Côté client, créer un composable `useScellInvoice()` qui appelle la server route via `$fetch`. Configuration via `nuxt.config.ts` avec `runtimeConfig.scellApiKey` (privé) et `runtimeConfig.public.scellPublishableKey`.

À retenir

  • Server route `/server/api/invoices.post.ts`
  • `runtimeConfig.scellApiKey` privé (jamais public)
  • Composable `useScellInvoice()` côté client
  • `$fetch` pour appeler la server route
  • Compatible Nuxt 3 et 4 (Nitro)

Exemple de code

// server/api/invoices.post.ts
import { ScellClient } from '@scell/sdk';

export default defineEventHandler(async (event) => {
  const config = useRuntimeConfig();
  const body = await readBody(event);
  const scell = new ScellClient({ apiKey: config.scellApiKey });

  return await scell.invoices.create({
    format: 'factur-x',
    buyer: { name: body.buyer, is_individual: true },
    lines: [{ description: body.label, quantity: 1, unit_price: body.amount, vat_rate: 20.0 }],
  });
});

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.