Développeurs

É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. 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. 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. 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. 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.

tsx
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.

Liste des documents du signataire dans le portail client avec les statuts et les actions renseignés
Elements intégrés rendus dans un produit SaaS fictif. La surface de signature se trouve à l''intérieur du chrome du produit : aucune redirection, aucune iframe, aucune marque EndorsedSign visible.

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+.