تخطَّ إلى المحتوى
العودة إلى المدونة
هندسة

تحقّق من رقم هاتف باستدعاءين فقط للـ API

6 دقيقة قراءة

إضافة التحقق من الهاتف إلى منتجك هي حرفيًا طلبا HTTPS فقط. لا توجد حزمة SDK لتثبيتها ولا مكتبة عميل تحتاج لتحديثها — أي شيء يستطيع إرسال JSON عبر HTTPS يمكنه التكامل مع Authevo. يتناول هذا المقال الرحلة الكاملة ذهابًا وإيابًا.

الخطوة الأولى — إرسال الرمز

استدعِ POST https://api.authevo.dev/v1/otp/send من خادمك ومرّر رقم هاتف المستخدم بصيغة E.164. وثّق الطلب بمفتاحك السري كـ bearer token عبر Authorization: Bearer sk_live_…. جسم الطلب هو ببساطة { "phone": "+201234567890" }.

يولّد Authevo رمزًا لمرة واحدة، ويسلّمه عبر WhatsApp، ثم يردّ بمعرّف رسالة وحالة. تبدو الاستجابة الناجحة هكذا { "data": { "id": "msg_…", "status": "sent", "expires_in": 300 } }. لا تخزّن شيئًا في جهة العميل — يكتفي المستخدم بقراءة الرمز من WhatsApp.

الخطوة الثانية — التحقق من الرمز

عندما يُدخل المستخدم الرمز في تطبيقك، أرسله إلى POST https://api.authevo.dev/v1/otp/verify بالرقم ذاته: { "phone": "+201234567890", "code": "123456" }. يعيد التطابق { "data": { "verified": true } }؛ أما الرمز الخاطئ أو المنتهي فيعود ضمن غلاف خطأ يحمل error.code قابلًا للقراءة آليًا.

بعض التفاصيل التي يجدر إعدادها منذ اليوم الأول:

  • تفرّع بناءً على رمز حالة HTTP وعلى error.code، لا على الرسالة المقروءة للبشر — فالرسائل قد تتغير، أما الرموز فلا.
  • أبقِ المفتاح السري على الخادم. فهو يستطيع الإرسال والتحقق على حسابك، لذا يجب ألّا يُشحن أبدًا داخل المتصفح أو حزمة تطبيق الجوال.
  • تدفع فقط عند تسليم الرمز والتحقق منه — أما عمليات الإرسال الفاشلة والتخمينات الخاطئة فلا تكلّف شيئًا.

هذا هو التكامل بأكمله. يتحوّل التسليم تلقائيًا إلى Telegram عند تعذّر الوصول عبر WhatsApp، ويبقى استدعاؤك دون تغيير.