Osadzanie elementów
Skomponuj interfejs podpisywania w swoim produkcie React za pomocą wpisywanych elementów podstawowych — Dostawca + status + osoba podpisująca + komponenty do przechwytywania podpisu, które renderujesz wewnątrz własnej powłoki strony.
Integracja elementów w czterech krokach
- 1
Zainstaluj pakiet
Dodaj @endorsed/elements do swojego projektu React 18+. Przedstawiciele równorzędni to wyłącznie React i React DOM — bez rozrostu dostawców SDK.
- 2
Wytwórz token sesji podpisywania po stronie serwera
Ze swojego backendu wyślij POST /api/signing-session z identyfikatorem koperty i adresem e-mail osoby podpisującej. Odpowiedź zawiera krótkotrwały token sesji podpisywania ograniczony do tego podpisującego.
- 3
Zawiń swoją trasę podpisywania w <EndorsedProvider>
Dostawca przenosi twoją konfigurację API do elementów pierwotnych — bez wiercenia podpór. Zrealizuj token sesji za pomocą useSigningSession() i renderuj <EnvelopeStatus>, <SignerInfo> i <SignatureField> we własnym układzie.
- 4
Obsługuj przesyłanie podpisu + wywołania zwrotne statusu
useSignatureSubmit() wysyła przechwycony podpis do /api/signing-sessions/:id/signature. Słuchaj zmian statusu i kieruj podpisującego do własnych stron sukcesu/odrzucenia, gdy zmieni się SigningSessionStatus.
Przykład minimalnego osadzania
Możliwa do komponowania powierzchnia do podpisu przy użyciu dostarczonych prymitywów. Wymagania wstępne: React 18+ i token sesji podpisywania wygenerowany po stronie serwera. Oczekiwany wynik: osoba podpisująca widzi stan swojej koperty, swoją tożsamość i blok do podpisu — a wszystko to w chromowanym produkcie.
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 dostarcza elementy podstawowe, które można komponować (dostawca, wyświetlanie statusu/osoby podpisującej, przechwytywanie podpisu). Utwórz powyższe elementy podstawowe lub osadź hostowaną osobę podpisującą za pośrednictwem adresu URL sesji podpisywania.
Jakie uchwyty do osadzania są dla Ciebie
Renderowanie dokumentu
PDF renderowanie, powiększanie, przewijanie i nawigacja po stronach — w różnych przeglądarkach, w tym w mobilnym Safari.
Przechwytywanie podpisu
Narysuj, wpisz lub prześlij podpis. Spójne wrażenia z przechwytywania na różnych urządzeniach, bez dziwactw przeglądarki.
Weryfikacja tożsamości Sprawdzanie
OTP odbywa się wewnątrz elementu osadzonego. W Twoim produkcie nie jest wymagany oddzielny interfejs uwierzytelniania.
Nawigacja w terenie
Nawigacja z przewodnikiem pole po polu z egzekwowaniem wymaganych pól przed zezwoleniem na przesłanie.
Częste pytania
Osadzanie elementów — wewnątrz produktu
Powierzchnia do podpisu jest wyświetlana w Twojej domenie wraz z Twoją marką. Twoja ramka produktu, nagłówek, nawigacja — EndorsedSign obsługuje interakcję z dokumentem i polem.

Wypróbuj elementy w swoim własnym dzierżawie piaskownicy
Wybierz piaskownicę za pomocą szybkiego startu, utwórz token sesji podpisywania ze swojego backendu i upuść powyższe elementy podstawowe do dowolnej aplikacji React 18+.