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 });
};