هذا مسار يبدأ عبر الواجهة (Wave ترسل رمزًا للمستخدم). وهو يختلف عن
المصادقة الصوتية (أداة اتصال-للموافقة).
التحقّق مُقيّد — اطلب من جهة تواصلك في Wave تفعيله لحسابك.
المصادقة والفئات
كل مسار ضمن/v1/verify يتطلّب مفتاح إنتاج (sk_live_) مع صلاحية
verify:write (أو verify:read للاستعلام). لا تستطيع المفاتيح التجريبية
إرسال رموز تحقّق حقيقية.
إنشاء تحقّق
تُعيد
201 معرّف التحقّق وميعاد انتهاؤه:
النتيجة — الفشل الآمن
يصل التحقّق إلى حالة نهائية واحدةstate:
فحص الرمز
200 تُعيد حالة التحقّق وقيمة منطقية:
state: "awaiting_check" وverified: false؛ يزداد العداد.
بعد خمس محاولات خاطئة، تصبح state هي max_attempts وتفشل الفحوصات اللاحقة.
webhook النتيجة
verify.completed موقّعًا إلى نقطة webhook
الخاصّة بمشروعك. تحقّق من كل تسليم:
X-Wave-Signature—sha256=…، توقيع HMAC-SHA256 للمحتوى الخام بسرّ التوقيع الخاصّ بنقطتك. ارفض أي عدم تطابق.X-Wave-Timestamp— بالثواني (unix)؛ ارفض التسليمات الأقدم من نافذتك (مثلًا 5 دقائق).X-Wave-Event-Id— ثابت عبر إعادات الإرسال؛ استخدمه لمنع التكرار.
الاستعلام عن الحالة
state وعدد المحاولات والقناة والطوابع الزمنية و(عند الانتهاء)
القرار. مقصورة على مؤسّستك فقط.
رمز واحد لكل رقم وانتهاء الرمز والمعرّف الفريد
- رمز واحد لكل رقم —
POST /v1/verifyجديد لنفس الرقم يستبدل الرمز السابق ويلغي التحقّق القديم. - انتهاء الرمز — ينتهي الرمز في
expires_at. فحص بعدها يُعيدstate: "expired"دون زيادة المحاولات. - Idempotency — أرسل
Idempotency-Key؛ تُعيد المحاولة بنفس المفتاح نفس التحقّق ولا ترسل رمز ثانٍ أو رسالة ثانية.
حدود المعدّل ومكافحة الإساءة
- حدود لكل رقم — تحدّد Wave التحقّقات لرقم واحد لكل مفتاح، وتحجب
الأرقام/البادئات المُسيئة، لمنع قصف الرموز والاحتيال. تجاوز →
429. - حد محاولات لكل تحقّق — خمس محاولات خاطئة →
max_attempts. لا فحوصات لاحقة. - حدود الحجم العام — تتبع Wave الحجم الإجمالي لكل مفتاح.
الزيادة المستدامة →
429.

