Base URL: https://api.shernova.com · الأخطاء: { error, message, error_code, doc_url, request_id } · Swagger UI معطّل على الإنتاج.
المصادقة
| Header | يُستخدم لـ |
|---|---|
| Authorization: Bearer {jwt} | لوحة التحكم والمنظمات |
| Authorization: Bearer sk_live_… | تحقق الإنتاج من الخادم |
| Authorization: Bearer sk_test_… | Test server verification API |
| Authorization: Bearer {sdk_jwt} | استدعاءات SDK |
| Authorization: Bearer pk_live_… | POST /v1/sdk/token فقط |
| X-Shernova-Organization-Id | مسارات المنظمة |
| X-Shernova-Gateway-Token | أجهزة البوابة فقط |
Health
GET /health/live
الغرض: فحص حية. بدون مصادقة.
GET /health/ready
الغرض: جاهزية (DB + Redis).
Auth
POST /v1/auth/register
إنشاء حساب مطور.
POST /v1/auth/login
POST /v1/auth/refresh
GET /v1/auth/me
ملف المستخدم الحالي. JWT.
التطبيقات
GET /v1/apps
POST /v1/apps
PATCH /v1/apps/:id
POST /v1/apps/:id/test-webhook
POST rotate-api-key · rotate-webhook-secret
Verifications
POST /v1/verifications
بدء جلسة تحقق. مفتاح API (sk_live_ أو SDK JWT).
curl -X POST https://api.shernova.com/v1/verifications \
-H "Authorization: Bearer sk_live_…" \
-d '{"phone_number":"+201012345678"}'{
"session_id": "uuid",
"status": "waiting",
"gateway_phone_number": "+201140774187",
"expires_at": "2026-07-21T12:00:00.000Z"
}GET /v1/verifications/:id
DELETE /v1/verifications/:id
GET /v1/dashboard/sessions
SDK Token
POST /v1/sdk/token
تبادل pk_live_ بـ JWT قصير. Bearer pk_live_…
مفاتيح test (pk_test_ / sk_test_)
مفاتيح test تنشئ جلسات على بوابات حقيقية. أكمل بمكالمة فائتة إلى gateway_phone_number من هاتف المستخدم. يُستهلك الرصيد كما في live.
Receipts
POST /v1/verifications/:id/receipt
إصدار JWT receipt لجلسة verified.
POST /v1/receipts/verify
التحقق من receipt على الخادم. إعادة الاستخدام → 409 SH_014.
الفوترة (المطور)
GET /v1/apps/:id/billing
GET /v1/apps/:id/billing/ledger
POST /v1/apps/:id/android-signatures
المنظمات
مسارات /v1/organizations/* للأعضاء والدعوات والتحليلات.
Admin (المنصة)
مسارات /v1/admin/* لمشغلي المنصة.
Gateway (داخلي)
لتطبيق Shernova Gateway Android — ليس للمطورين.
قيم حالة الجلسة
created, waiting, verified, expired, failed, cancelled, completed
