المطورين

تضمين العناصر

أنشئ واجهة مستخدم للتوقيع في منتج React الخاص بك باستخدام العناصر الأولية المكتوبة - الموفر + الحالة + المُوقع + مكونات التقاط التوقيع التي تعرضها داخل غلاف الصفحة الخاص بك.

دمج العناصر في أربع خطوات

  1. 1

    قم بتثبيت الحزمة

    أضف @endorsed/elements إلى مشروع React 18+ الخاص بك. إن أقسام النظير هي React وReact DOM فقط - لا يوجد بائع SDK.

  2. 2

    اصنع رمزًا مميزًا لجلسة التوقيع من جانب الخادم

    من الواجهة الخلفية لديك، يمكنك نشر جلسات POST /api/signing باستخدام معرف المغلف + البريد الإلكتروني للمُوقع. تحتوي الاستجابة على رمز مميز لجلسة التوقيع قصير الأمد مخصص لذلك المُوقع.

  3. 3

    قم بلف مسار التوقيع الخاص بك في <EndorsedProvider>

    يحمل الموفر تكوين API الخاص بك إلى البدائيات - بدون حفر الدعامات. استرد رمز الجلسة باستخدام useSigningSession() وقم بعرض <EnvelopeStatus> و<SignerInfo> و<SignatureField> داخل تخطيطك الخاص.

  4. 4

    التعامل مع إرسال التوقيع + عمليات الاسترجاعات للحالة

    useSignatureSubmit() ينشر التوقيع الملتقط إلى /api/signing-sessions/:id/signature. استمع إلى انتقالات الحالة وقم بتوجيه المُوقع إلى صفحات النجاح/الرفض الخاصة بك عندما تنقلب SigningSessionStatus.

الحد الأدنى من الأمثلة المضمنة

سطح توقيع قابل للتركيب باستخدام البدائيات المشحونة. المتطلبات الأساسية: React 18+ ورمز مميز لجلسة التوقيع تم سكه من جانب الخادم. المخرجات المتوقعة: يرى المُوقع حالة المظروف الخاص به وهويته ولوحة التوقيع - كل ذلك داخل كروم المنتج الخاص بك.

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 تشحن العناصر الأولية القابلة للتركيب (الموفر، عرض الحالة/الموقع، التقاط التوقيع). قم بتأليف العناصر الأولية أعلاه أو قم بتضمين الموقّع المستضاف عبر عنوان URL لجلسة التوقيع.

ما هي المقابض المضمنة لك

📄

تقديم الوثيقة

PDF العرض والتكبير/التصغير والتمرير والتنقل بين الصفحات - عبر المتصفحات، بما في ذلك Safari على الأجهزة المحمولة.

✍️

التقاط التوقيع

ارسم التوقيع أو اكتبه أو قم بتحميله. تجربة التقاط متسقة عبر الأجهزة دون مراوغات المتصفح.

🔐

التحقق من الهوية تتم معالجة فحص

OTP داخل التضمين. لا توجد واجهة مستخدم منفصلة للمصادقة مطلوبة في منتجك.

📋

التنقل الميداني

التنقل الموجه ميدانيًا مع تطبيق الحقل المطلوب قبل السماح بالإرسال.

الأسئلة الشائعة

تضمين العناصر — داخل منتجك

يظهر سطح التوقيع مضمنًا في المجال الخاص بك مع علامتك التجارية. إطار المنتج الخاص بك، ورأسك، والتنقل الخاص بك - EndorsedSign يتعامل مع المستند والتفاعل الميداني.

قائمة مستندات المُوقع في بوابة العميل مع الحالات والإجراءات المملوءة
العناصر المضمنة داخل منتج SaaS خيالي. يوجد سطح التوقيع داخل كروم المنتج - لا توجد إعادة توجيه، ولا إطار iframe، ولا توجد علامة تجارية EndorsedSign مرئية.

جرب العناصر الموجودة في مستأجر وضع الحماية الخاص بك

احصل على وضع الحماية عبر التشغيل السريع، واستخرج رمزًا مميزًا لجلسة التوقيع من الواجهة الخلفية لديك، وأفلت العناصر الأولية أعلاه في أي تطبيق React 18+.