Elemente einbetten
Erstellen Sie die Signatur-Benutzeroberfläche in Ihrem React-Produkt mit typisierten Grundelementen – Anbieter-, Status-, Unterzeichner- und Signaturerfassungskomponenten, die Sie in Ihrer eigenen Seiten-Shell rendern.
Elemente in vier Schritten integrieren
- 1
Installieren Sie das Paket
Fügen Sie @endorsed/elements zu Ihrem React 18+-Projekt hinzu. Peer-Deps sind nur React und React DOM – keine Anbieter-„P0“-Ausuferung.
- 2
Erstellen Sie serverseitig ein Signatursitzungstoken
POSTen Sie in Ihrem Backend /api/signing-sessions mit der Umschlag-ID + der E-Mail-Adresse des Unterzeichners. Die Antwort enthält ein kurzlebiges Signatursitzungstoken, das auf diesen Unterzeichner beschränkt ist.
- 3
Schließen Sie Ihre Signaturroute in <EndorsedProvider> ein
Der Anbieter überträgt Ihre API-Konfiguration in die Grundelemente – kein Propellerbohren. Lösen Sie das Sitzungstoken mit useSigningSession() ein und rendern Sie <EnvelopeStatus>, <SignerInfo> und <SignatureField> in Ihrem eigenen Layout.
- 4
Verwaltet die Übermittlung von Signaturen und Statusrückrufen
useSignatureSubmit() sendet die erfasste Signatur an /api/signing-sessions/:id/signature. Achten Sie auf Statusübergänge und leiten Sie den Unterzeichner zu Ihren eigenen Erfolgs-/Ablehnungsseiten weiter, wenn sich der SigningSessionStatus ändert.
Minimales Einbettungsbeispiel
Eine zusammensetzbare Signieroberfläche unter Verwendung der mitgelieferten Grundelemente. Voraussetzungen: React 18+ und ein serverseitig geprägter Signatursitzungstoken. Erwartete Ausgabe: Ein Unterzeichner sieht seinen Umschlagstatus, seine Identität und ein Unterschriftenpad – alles im Chrom Ihres Produkts.
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 liefert zusammensetzbare Grundelemente (Anbieter, Status-/Unterzeichneranzeige, Signaturerfassung). Erstellen Sie die obigen Grundelemente oder betten Sie den gehosteten Unterzeichner über die Signatursitzungs-URL ein.
Was Embed-Handles für Sie tun
Dokumentenrendering
PDF Rendering, Zoom, Scrollen und Seitennavigation – browserübergreifend, einschließlich mobiler Safari.
Signaturerfassung
Signatur zeichnen, eingeben oder hochladen. Konsistentes Erfassungserlebnis auf allen Geräten ohne Browser-Macken.
Identitätsüberprüfung Die
OTP-Prüfung wird innerhalb der Einbettung durchgeführt. In Ihrem Produkt ist keine separate Authentifizierungsoberfläche erforderlich.
Feldnavigation
Geführte Feld-für-Feld-Navigation mit Erzwingung erforderlicher Felder vor der Übermittlung ist zulässig.
Häufige Fragen
Elemente einbetten – in Ihr Produkt
Die Signieroberfläche wird inline auf Ihrer Domain mit Ihrer Marke gerendert. Ihr Produktrahmen, Ihre Kopfzeile, Ihre Navigation – EndorsedSign kümmert sich um die Dokument- und Feldinteraktion.

Probieren Sie Elements in Ihrem eigenen Sandbox-Mandanten aus
Beanspruchen Sie über den Schnellstart eine Sandbox, erstellen Sie ein Signatursitzungstoken von Ihrem Backend und legen Sie die oben genannten Grundelemente in einer beliebigen React 18+-App ab.