Éléments intégrés
Composez l''interface utilisateur de signature dans votre produit React avec des primitives tapées — Fournisseur + statut + signataire + composants de capture de signature que vous restituez dans votre propre shell de page.
Intégrer des éléments en quatre étapes
- 1
Installer le package
Ajoutez @endorsed/elements à votre projet React 18+. Les dépôts homologues sont uniquement React et React DOM – pas de prolifération de fournisseurs SDK.
- 2
Créer un jeton de session de signature côté serveur
Depuis votre backend, POST /api/signing-sessions avec l''identifiant de l''enveloppe + l''e-mail du signataire. La réponse contient un jeton de session de signature de courte durée limité à ce signataire.
- 3
Enveloppez votre itinéraire de signature dans <EndorsedProvider>
Le fournisseur transporte votre configuration API dans les primitives — pas de perçage d''accessoires. Échangez le jeton de session avec useSigningSession() et affichez <EnvelopeStatus>, <SignerInfo> et <SignatureField> dans votre propre mise en page.
- 4
Gérer la soumission de la signature + les rappels de statut
useSignatureSubmit() publie la signature capturée dans /api/signing-sessions/:id/signature. Écoutez les transitions de statut et acheminez le signataire vers vos propres pages de réussite/refus lorsque SigningSessionStatus est inversé.
Exemple d''intégration minimale
Une surface de signature composable utilisant les primitives livrées. Conditions préalables : React 18+ et un jeton de session de signature créé côté serveur. Résultat attendu : un signataire voit le statut de son enveloppe, son identité et un bloc de signature, le tout dans le chrome de votre produit.
import {
EndorsedProvider,
EnvelopeStatus,
SignerInfo,
SignatureField,
useSigningSession,
} from '@endorsed/elements';
// 1. Wrap once at the app root (or per-signing-route).
export function App({ children }: { children: React.ReactNode }) {
return (
<EndorsedProvider
baseUrl={process.env.NEXT_PUBLIC_ENDORSED_BASE_URL}
// No API key in the browser. The provider only holds config.
>
{children}
</EndorsedProvider>
);
}
// 2. Render the signing surface. Compose these primitives into your
// own page shell — headers, footers, and layout stay yours.
export function SigningPage({ sessionToken }: { sessionToken: string }) {
const { status, envelope, signer } = useSigningSession(sessionToken);
if (status === 'loading') return <p>Loading signing session…</p>;
if (status === 'expired' || status === 'revoked') return <p>This link has expired.</p>;
return (
<section>
<EnvelopeStatus value={envelope.status} />
<SignerInfo values={{ name: signer.name, email: signer.email }} />
<SignatureField
onSubmitted={(result) => {
// Advance your product state — redirect, mark task done, etc.
console.log('Signature captured', result.signatureId);
}}
/>
</section>
);
}Elements fournit des primitives composables (Fournisseur, affichage du statut/signataire, capture de signature). Composez les primitives ci-dessus ou intégrez le signataire hébergé via l''URL de la session de signature.
Qu''est-ce que les poignées intégrées pour vous
Rendu de documents Rendu, zoom, défilement et navigation de page
PDF — multi-navigateur, y compris Safari mobile.
Capture de signature
Dessinez, saisissez ou téléchargez une signature. Expérience de capture cohérente sur tous les appareils sans bizarreries de navigateur.
Vérification d''identité La vérification
OTP est gérée à l''intérieur de l''intégration. Aucune interface utilisateur d''authentification distincte n''est requise dans votre produit.
Navigation sur le terrain
La navigation guidée champ par champ avec application des champs obligatoires avant que la soumission ne soit autorisée.
Questions courantes
Éléments intégrés — à l''intérieur de votre produit
La surface de signature s''affiche en ligne sur votre domaine avec votre marque. Votre cadre de produit, votre en-tête, votre navigation — EndorsedSign gère l''interaction du document et du champ.

Essayez Elements dans votre propre locataire sandbox
Réclamez un bac à sable via le démarrage rapide, créez un jeton de session de signature à partir de votre backend et déposez les primitives ci-dessus dans n''importe quelle application React 18+.