API

noon API: المنتجات والأسعار وعروض البائعين بصيغة JSON

لا توفر noon واجهة مفتوحة للمطورين؛ برنامجها موجّه للبائعين ويعرض كتالوجك أنت. هذه الواجهة تقرأ ما يعرضه الموقع للعموم: المنتج والسعر والبائع، وتعيده بصيغة JSON. نقطة مهمة من البداية: كل دولة خليجية متجر منفصل بسعره وكتالوجه، لذلك تحديد الدولة ليس تفصيلاً ثانوياً.

نقاط النهاية

endpointما الذي يعودإلزامي
searchالبحث بالكلمة المفتاحية داخل دولة واحدة، مع صفوف المنتجات وأسعارها.query
category/productsتصفح فئة واحدة عبر مسارها داخل دولة واحدة، بالصفوف والمرشحات نفسها.category
product/detailبطاقة المنتج الكاملة عبر المعرّف أو الرابط، داخل دولة واحدة.product_id
product/offersجوهر الأمر: عروض كل البائعين للمنتج نفسه داخل دولة واحدة، مرتبة من الأرخص، مع اسم البائع وسعره.product_id

تُحتسب كل استدعاء بالأرصدة. الاستدعاءات الفاشلة والمحظورة مجانية.

مثال يعمل

السعر الظاهر في نتائج البحث هو عرض صندوق الشراء، وليس أرخص سعر على الصفحة. من يقارن الأسعار فعلياً يطلب product/offers، فهناك فقط يتضح من ينافس من.

الطلب
curl -X POST https://api.reefapi.com/noon/v1/product/offers \
  -H "x-api-key: مفتاحك" \
  -H "content-type: application/json" \
  -d '{"product_id": "...", "country": "ae"}'
الاستجابة (مختصرة)
{
  "ok": true,
  "data": {
    "offers": [
      {
        "seller": "...",
        "price": 349.0,
        "currency": "AED"
      }
    ]
  },
  "meta": { "record_count": 7, "cache_hit": false, "mode": "live" }
}

بدلاً من كتابة أداة استخلاص خاصة بك لموقع noon

كتابة أداة استخلاص لموقع noon تنجح في اليوم الأول. المشكلة تأتي لاحقاً: حين يتغير ترتيب بطاقات المنتجات يعيد المحلل قائمة فارغة بدل أن يرفع خطأ، وحين تعمل الحماية من الروبوتات يُرفض الطلب بصمت. الحالتان تبدوان عندك متطابقتين: «لا توجد منتجات».

هنا الصيانة مسؤوليتنا: إذا تغيّر المخطط نصلح المحرك، وإذا حدث حجب يعود رمز خطأ واضح ولا تُحتسب تلك الاستدعاءة.

لمهمة لمرة واحدة يبقى سكربتك الخاص أرخص، ونقولها بصراحة. أما لمراقبة أسعار تعمل يومياً فالتكلفة ليست في الشيفرة بل في الأعطال التي لا ينتبه إليها أحد.

الحدود وملاحظات صريحة

  • هذه ليست الواجهة الرسمية لـ noon ولا تربطنا بها أي شراكة.
  • كل دولة خليجية متجر مستقل بعملته وكتالوجه؛ من دون تحديد الدولة تحصل على الإعداد الافتراضي لا على نتيجة «موحّدة».
  • السعر في نتائج البحث هو عرض صندوق الشراء؛ بقية العروض تظهر في product/offers فقط.
  • لا توجد ذاكرة مؤقتة: كل استدعاء يعكس الحالة في لحظة الطلب.