التوثيق

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).

bash
curl -X POST https://api.shernova.com/v1/verifications \
  -H "Authorization: Bearer sk_live_…" \
  -d '{"phone_number":"+201012345678"}'
Response 201
{
  "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