وثائق API
كل ما تحتاجه لدمج خدمة OTP في تطبيقك. واجهة RESTful بسيطة وأمثلة جاهزة.
البداية السريعة
ابدأ بإرسال رموز OTP خلال دقائق. اتبع الخطوات التالية:
1
إنشاء حساب
سجل حساباً جديداً في صفحة التسجيل
2
الحصول على API Key
من لوحة التحكم، أنشئ مفتاح API جديد
3
إرسال أول OTP
استخدم المثال أدناه لإرسال رمز التحقق
المصادقة
جميع طلبات API تتطلب مفتاح API صالح. أضف المفتاح في ترويسة الطلب:
Authorization: Bearer YOUR_API_KEYتنبيه أمني
لا تشارك مفتاح API أو تضعه في الكود المصدري العام. استخدم متغيرات البيئة.
إرسال OTP
أرسل رمز تحقق إلى رقم هاتف أردني.
POST
/api/v1/otp/{ brandSlug }/sendالمتطلبات
| الحقل | النوع | الوصف |
|---|---|---|
| phone | string | رقم الهاتف بصيغة 962XXXXXXXXX |
مثال cURL
curl -X POST https://otp.nashmi.org/api/v1/otp/myapp/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone": "962790000000"}'مثال Node.js
const response = await fetch('https://otp.nashmi.org/api/v1/otp/myapp/send', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ phone: '962790000000' }),
});
const data = await response.json();
console.log(data);مثال Python
import requests
response = requests.post(
'https://otp.nashmi.org/api/v1/otp/myapp/send',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
json={'phone': '962790000000'}
)
print(response.json())التحقق من OTP
تحقق من صحة رمز OTP المُدخل من المستخدم.
POST
/api/v1/otp/{ brandSlug }/verifyالمتطلبات
| الحقل | النوع | الوصف |
|---|---|---|
| phone | string | رقم الهاتف بصيغة 962XXXXXXXXX |
| code | string | رمز OTP المكون من 6 أرقام |
مثال
curl -X POST https://otp.nashmi.org/api/v1/otp/myapp/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone": "962790000000", "code": "123456"}'الاستجابة
{
"success": true,
"message": "تم التحقق بنجاح"
}الأخطاء
جميع الأخطاء تُرجع بتنسيق JSON موحد:
| الكود | الوصف |
|---|---|
| 400 | طلب غير صالح - تحقق من البيانات المرسلة |
| 401 | غير مصرح - مفتاح API غير صالح أو مفقود |
| 404 | غير موجود - تحقق من عنوان الـ API |
| 429 | تجاوز الحد - انتظر قبل إعادة المحاولة |
| 500 | خطأ في الخادم - حاول لاحقاً أو تواصل معنا |
حدود الاستخدام
لحماية الخدمة، هناك حدود على عدد الطلبات:
| الباقة | طلبات/دقيقة | OTP/رقم/ساعة |
|---|---|---|
| مجاني | 10 | 3 |
| المبتدئ | 30 | 5 |
| الأعمال | 100 | 10 |
| المؤسسات | مخصص | مخصص |
Webhooks
استقبل إشعارات فورية عند تغير حالة الرسائل. قم بإعداد Webhook URL من لوحة التحكم.
صيغة الإشعار
{
"event": "message.delivered",
"data": {
"messageId": "msg_abc123",
"phone": "962790000000",
"status": "delivered",
"timestamp": "2024-01-15T10:30:00Z"
},
"signature": "sha256=..."
}التحقق من التوقيع
تحقق دائماً من توقيع Webhook باستخدام المفتاح السري لضمان صحة الإشعار.