واجهة المطورين تعليمات ربط API

وثائق API عامة لربط نبيه مع أنظمة التجار.

استخدم هذه الصفحة لفهم طريقة ربط موقعك أو متجرك مع نبيه لإرسال رسائل واتساب وأكواد التحقق. التوكن الحقيقي لا يظهر هنا، ويمكن للعميل الحصول عليه من لوحة التحكم بعد تسجيل الدخول.

طريقة المصادقة

استخدم التوكن من نظام التاجر فقط.

كل طلب يجب أن يحتوي على `Authorization` و`Content-Type`. لا تضع التوكن الحقيقي في صفحة عامة أو داخل كود JavaScript يعمل في متصفح الزائر.

Headers
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json

إرسال رسالة واتساب

POST /api/send-message

يستخدم لإرسال رسالة نصية إلى رقم واتساب. `project_name` اختياري ويساعد التاجر في تمييز مصدر الطلب داخل السجلات.

Request Body
{
  "to": "966501234567",
  "message": "مرحباً! هذه رسالة تجريبية.",
  "project_name": "My CRM"
}

إرسال OTP

POST /api/v1/otp/send

نبيه يرسل الكود الذي يولده نظام التاجر فقط. لا يوجد توليد، تخزين، انتهاء صلاحية، أو تحقق من الكود داخل نبيه.

Basic Body
{
  "phone": "966501234567",
  "code": "123456"
}
Optional Body
{
  "phone": "966501234567",
  "code": "123456",
  "message": "رمز التحقق الخاص بك هو: 123456"
}

مسؤولية نظام التاجر

  • إنشاء كود التحقق.
  • حفظ الكود في نظام التاجر.
  • تحديد مدة صلاحية الكود.
  • التحقق من الكود الذي يدخله العميل.

مسؤولية نبيه

  • استقبال رقم الجوال والكود من نظام التاجر.
  • إرسال رسالة واتساب من الرقم المرتبط بحساب العميل في نبيه.
  • نبيه لا ينشئ أكواد التحقق ولا يحفظها ولا يتحقق منها.

أمثلة الربط

أمثلة جاهزة للربط الآمن.

استبدل `YOUR_API_TOKEN` داخل نظام موقعك أو متجرك فقط. لا تضع هذه الأمثلة في صفحة عامة أو في كود يعمل على جهاز الزائر.

curl
curl -X POST https://naabih.com/api/send-message \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "966501234567",
    "message": "مرحباً! هذه رسالة تجريبية.",
    "project_name": "My CRM"
  }'

curl -X POST https://naabih.com/api/v1/otp/send \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "966501234567",
    "code": "123456"
  }'
JavaScript fetch - داخل نظام الموقع

استخدم هذا المثال في نظام موقعك أو متجرك فقط، ولا تضع التوكن في صفحة يراها الزائر.

const response = await fetch('https://naabih.com/api/send-message', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.NAABIH_API_TOKEN}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    to: '966501234567',
    message: 'مرحباً! هذه رسالة تجريبية.',
    project_name: 'My CRM'
  })
});

const otpResponse = await fetch('https://naabih.com/api/v1/otp/send', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.NAABIH_API_TOKEN}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    phone: '966501234567',
    code: '123456'
  })
});
PHP cURL
<?php
$token = getenv('NAABIH_API_TOKEN');

$payload = [
    'to' => '966501234567',
    'message' => 'مرحباً! هذه رسالة تجريبية.',
    'project_name' => 'My CRM',
];

$ch = curl_init('https://naabih.com/api/send-message');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $token,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
]);

$response = curl_exec($ch);
curl_close($ch);

$otpPayload = [
    'phone' => '966501234567',
    'code' => '123456',
];

$otp = curl_init('https://naabih.com/api/v1/otp/send');
curl_setopt_array($otp, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $token,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode($otpPayload, JSON_UNESCAPED_UNICODE),
]);

$otpResponse = curl_exec($otp);
curl_close($otp);

أكواد الأخطاء العامة

جدول مختصر للردود المتوقعة.

الكود المعنى
200تم تنفيذ الطلب بنجاح
400البيانات المرسلة غير صحيحة
401التوكن غير صحيح أو غير موجود
403حساب العميل غير مفعل
429طلبات كثيرة خلال وقت قصير
503واتساب غير متصل
500خطأ مؤقت في النظام

ملاحظات الأمان

لا تضع API Token داخل JavaScript في المتصفح.

استخدم API Token داخل نظام موقعك أو متجرك فقط.

التوكن الحقيقي يظهر فقط داخل لوحة تحكم العميل بعد تسجيل الدخول.

هذه الصفحة لا تعرض بيانات الحساب أو بيانات الجلسة أو أي مفاتيح حقيقية.

جاهز للربط؟

أنشئ حسابك أو ادخل للوحة العميل للحصول على التوكن الحقيقي.