Aller au contenu principal

Frameworks

SvelteKit — Intégration Scell.io

+server.ts route + form actions

Le SDK `@scell/sdk` v3.5.0 s'utilise dans SvelteKit via les `+server.ts` routes ou form actions dans `+page.server.ts`. La clé `sk_*` reste côté serveur grâce à `$env/static/private`. Pour les widgets côté client (signature, onboarding), utiliser uniquement la `pk_*` via `$env/static/public`. Compatible Svelte 5 (runes) et SvelteKit 2.

À retenir

  • Routes `+server.ts` ou form actions `+page.server.ts`
  • `$env/static/private` pour `SCELL_API_KEY`
  • `$env/static/public` pour `PUBLIC_SCELL_PK`
  • Type-safe avec `RequestHandler` de `@sveltejs/kit`
  • Compatible Svelte 5 + SvelteKit 2

Exemple de code

// src/routes/api/invoices/+server.ts
import { json } from '@sveltejs/kit';
import { SCELL_API_KEY } from '$env/static/private';
import { ScellClient } from '@scell/sdk';
import type { RequestHandler } from './$types';

const scell = new ScellClient({ apiKey: SCELL_API_KEY });

export const POST: RequestHandler = async ({ request }) => {
  const { buyer, amount } = await request.json();
  const invoice = await scell.invoices.create({
    format: 'factur-x',
    buyer: { name: buyer, is_individual: true },
    lines: [{ description: 'Service', quantity: 1, unit_price: amount, vat_rate: 20.0 }],
  });
  return json({ id: invoice.id });
};

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.