البدء السريع
١. اعمل مساحة عمل واربط واتساب
- سجّل على otpera.com. الباقة المجانية من غير كارت.
- افتح لوحة التحكم ← واتساب وامسح الـ QR من واتساب على موبايلك (الأجهزة المرتبطة ← ربط جهاز).
٢. اعمل مفتاح API
لوحة التحكم ← مفاتيح API ← إنشاء مفتاح بصلاحية verifications:write. المفتاح (otp_live_…) بيظهر مرة واحدة بس، احفظه في متغيرات البيئة على السيرفر، مثلًا OTPERA_API_KEY.
اتأكد إنه شغال:
bash
curl https://api.otpera.com/api/v1/ping \
-H "Authorization: Bearer $OTPERA_API_KEY"٣. ابعت الرمز
bash
curl -X POST https://api.otpera.com/api/v1/verifications \
-H "Authorization: Bearer $OTPERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{ "to": "+201012345678", "purpose": "signup", "locale": "ar" }'js
const res = await fetch('https://api.otpera.com/api/v1/verifications', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.OTPERA_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({ to: '+201012345678', purpose: 'signup', locale: 'ar' }),
});
const { data } = await res.json(); // احفظ data.id — الرمز نفسه عمره ما بيرجعphp
$res = Http::withToken(config('services.otpera.key'))
->withHeaders(['Idempotency-Key' => (string) Str::uuid()])
->post('https://api.otpera.com/api/v1/verifications', [
'to' => '+201012345678',
'purpose' => 'signup',
'locale' => 'ar',
]);
$verificationId = $res->json('data.id');المستخدم بيستلم رمز من ٦ أرقام على واتساب. احفظ data.id مع جلسة المستخدم.
٤. اتحقق من الرمز
bash
curl -X POST https://api.otpera.com/api/v1/verifications/$VERIFICATION_ID/check \
-H "Authorization: Bearer $OTPERA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "code": "482913" }'json
{ "data": { "id": "8b0c…", "valid": true, "status": "verified", "reason": null, "attemptsRemaining": 4 } }valid: true معناها إن الرقم اتأكد. التفاصيل الكاملة (إعادة الإرسال، الحدود، الحالات) في API التحقق برمز OTP.