Cas d’usage
Personnalisation du tunnel signature (21 champs ui_config)
Conforme spec EU-SES (eIDAS certifiée)
Le tunnel de signature Scell.io est entièrement personnalisable via 21 champs `ui_config` mappés sur la spec EU-SES eIDAS (v1.0.17 d'OpenAPI.com, prestataire certifié). Catégories : sidebar (sidebar_color, sidebar_text_color, sidebar_logo_url), header (header_background_color, header_text_color, header_logo_url), footer (footer_text, footer_color, footer_text_color), boutons (button_color, button_text_color, button_hover_color), bouton signer (sign_button_color, sign_button_text_color), masquage (hide_powered_by, hide_help, hide_download), iframe (iframe_ancestors[]). Bloc `signature_options` complémentaire : `signature_mode` (typed/drawn/both), `signer_must_read` (scroll obligatoire avant signature), `user_editable_data`, `timezone` (IANA). Les noms snake_case Scell.io sont mappés en interne sur la convention camelCase de notre partenaire.
À retenir
- 21 champs `ui_config` (sidebar, header, footer, boutons, masquage, iframe)
- Bloc `signature_options` : mode, scroll, timezone
- Mode signature : `typed` / `drawn` / `both`
- `signer_must_read` : oblige le scroll complet avant signature
- `iframe_ancestors[]` : whitelist domaines parents (anti-clickjacking)
- Pas de champs legacy (logo_url, primary_color, company_name)
Exemple de code
import { ScellClient } from '@scell/sdk';
const scell = new ScellClient({ apiKey: process.env.SCELL_SECRET_KEY! });
const sig = await scell.signatures.create({
document: { name: 'cgv.pdf', content_base64: pdfBase64 },
signers: [{ email: 'client@example.com', phone: '+33612345678', first_name: 'Marie', last_name: 'Curie' }],
signature_options: {
signature_mode: 'both',
signer_must_read: true,
timezone: 'Europe/Paris',
},
ui_config: {
sidebar_color: '#1E3A8A',
sidebar_text_color: '#FFFFFF',
sidebar_logo_url: 'https://cdn.example.com/logo.svg',
header_background_color: '#FFFFFF',
button_color: '#1E3A8A',
sign_button_color: '#16A34A',
hide_powered_by: true,
iframe_ancestors: ['https://app.example.com'],
},
});