元素嵌入
使用类型化原语将签名 UI 组合到您的 React 产品中 - 您在自己的页面 shell 中呈现的提供者 + 状态 + 签名者 + 签名捕获组件。
四步整合元素
- 1
安装包
将 @endorsed/elements 添加到您的 React 18+ 项目中。对等部门仅是 React 和 React DOM——没有供应商SDK蔓延。
- 2
在服务器端创建签名会话令牌
从您的后端,使用信封 ID + 签名者电子邮件 POST /api/signing-sessions。响应包含一个仅限于该签名者的短期签名会话令牌。
- 3
将您的签名路由包裹在 <EndorsedProvider> 中
提供商将您的API配置携带到基元中 - 无需进行道具钻探。使用 useSigningSession() 兑换会话令牌并在您自己的布局中渲染 <EnvelopeStatus>、<SignerInfo> 和 <SignatureField>。
- 4
处理签名提交+状态回调
useSignatureSubmit() 将捕获的签名发布到 /api/signing-sessions/:id/signature。侦听状态转换,并在 SigningSessionStatus 翻转时将签名者路由到您自己的成功/拒绝页面。
最小嵌入示例
使用附带原语的可组合签名表面。先决条件:React 18+ 和服务器端铸造的签名会话令牌。预期输出:签名者可以看到他们的信封状态、身份和签名板——所有这些都在您的产品 Chrome 中。
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 提供可组合原语(提供者、状态/签名者显示、签名捕获)。编写上述原语或通过签名会话 URL 嵌入托管签名者。
什么嵌入手柄适合您
文档渲染
PDF 渲染、缩放、滚动和页面导航 - 跨浏览器,包括移动 Safari。
签名捕捉
绘制、输入或上传签名。跨设备的一致捕获体验,没有浏览器怪癖。
身份验证
OTP 检查在嵌入内部处理。您的产品中不需要单独的身份验证 UI。
字段导航
在允许提交之前,通过必填字段强制执行引导式逐字段导航。
常见问题
元素嵌入到您的产品中
签名表面与您的品牌一起呈现在您的域中。您的产品框架、标题、导航 - EndorsedSign 处理文档和字段交互。
