التوثيق

نظرة عامة

تربط Shernova تطبيقك وSDK الجوال أو API الخادم ورصيد الفوترة وهواتف البوابة الفعلية وWebhooks الاختيارية في مسار تحقق واحد.

المكوّنات

المكوّنالدور
لوحة المطورإدارة التطبيقات والمفاتيح والفوترة والجلسات
REST APIإنشاء واستعلام جلسات التحقق
Flutter SDKتبادل الرمز + واجهة + استطلاع
محرك الفوترةHold → Capture/Release لكل جلسة
تطبيق Gateway Androidاستقبال المكالمات وإرسال أحداث ring
توصيل WebhookPOST موقّع إلى endpoint HTTPS

دورة حياة الجلسة

طبقات المصادقة

  • JWT لوحة التحكم — جلسات المتصفح لإدارة المنظمة
  • المفتاح السري (sk_live_ / sk_test_)API التحقق؛ test يستخدم بوابات حقيقية ويستهلك رصيداً
  • المفتاح القابل للنشر (pk_live_ / pk_test_) — تبادل رمز SDK فقط
  • SDK JWT — قصير (~180 ث) يُستخدم كالمفتاح السري
  • رمز البوابةX-Shernova-Gateway-Token لأجهزة البوابة فقط

تدفق بيانات التحقق

  1. يطلب التطبيق تحققاً برقم E.164
  2. API يتحقق من الفوترة ويحجز رصيداً واحداً
  3. API يختار بوابة متصلة ويعيد gateway_phone_number
  4. المستخدم يتصل من نفس الرقم
  5. تطبيق البوابة يرسل ring؛ API يطابق ذيل المتصل
  6. تصبح الحالة verified؛ يلتقط الرصيد؛ يُجدول Webhook

TTL الجلسة الافتراضي 300 ثانية. يجب أن ترسل البوابة heartbeat خلال 120 ثانية لتبقى online.

مفاتيح test مقابل live

مفاتيح test (pk_test_/sk_test_) تستخدم بوابات Android حقيقية وتستهلك رصيداً — نفس تدفق live. صفحة الجلسات تعرض نوع المفتاح (test/live) وحالة الجلسة.

Receipts (إثبات على الخادم)

بعد verified: إصدار receipt ثم التحقق مرة واحدة على الخادم عبر POST /v1/receipts/verify. إعادة الاستخدام → SH_014.