المطوّرون

مرجع API

استدعِ واجهة REST API الخاصة بـ SanDeals من أي عميل HTTP. ابحث عن العروض، وتصفّح الكتالوج، واقرأ البيانات الوصفية للموقع.

عنوان URL الأساسي
https://www.sandeals.net
  • OpenAPI 3.1.0
  • الإصدار 1.1.0
  • المصادقة: لا شيء
  • JSON

المواصفةwww.sandeals.net/openapi.json

نظرة عامة

تعيد واجهة REST API كتالوج العروض العام نفسه الذي يعيده خادم MCP. استخدم searchDeals للطلبات باللغة الطبيعية وlistDeals لتصفح فئة معينة. لا تحتوي النتائج إلا على قيم من الكتالوج؛ لا تعرض أبدًا أكواد خصم أو خصومات غير موجودة في الاستجابة.

لاستخدام API من ChatGPT، أنشئ Custom GPT، وافتح Actions، واختر Import from URL، ثم الصق https://www.sandeals.net/openapi.json. اضبط Authentication على None. العملية المطلوب استدعاؤها هي searchDeals.

المصادقة

لا حاجة إلى مفتاح API أو حساب. الطلبات مجهولة الهوية وواجهة API للقراءة فقط. تسمح الاستجابات بالطلبات عبر المصادر (Access-Control-Allow-Origin: *).

حدود المعدل

تتشارك نقاط نهاية البحث وخادم MCP حصة قدرها 60 طلبًا في الدقيقة لكل عميل، إضافة إلى حصة عامة في الدقيقة. يعيد الطلب الذي يتجاوز الحصة 429 Too Many Requests مع ترويسة Retry-After بالثواني. انتظر هذه المدة قبل إعادة المحاولة.

الأخطاء

تستخدم الأخطاء رموز حالة HTTP القياسية ومتن JSON يحتوي على ok: false.

400الاستعلام مفقود أو غير صالح.
413متن الطلب أكبر من 16 KB.
429تم بلوغ حد المعدل. أعد المحاولة بعد عدد الثواني المحدد في Retry-After.
503البحث غير متاح مؤقتًا. أعد المحاولة بعد 60 ثانية.

البحث عن عروض على SanDeals.net

GET/api/search-advancedsearchDeals

يبحث عن أكواد خصم وقسائم وعروض. استخدمه عندما يريد المستخدم عروضًا أو كوبونات من SanDeals أو من منصات التجارة الإلكترونية. يعيد JSON منظمًا يتضمن title وhref (رابط العرض) وcategory وsummary. لا حاجة إلى مفتاح API.

معاملات الاستعلام

الاسمالنوعالوصف
qمطلوبstringاستعلام باللغة الطبيعية أو بكلمة مفتاحية، مثل: coffee أو giày أو voucher أو ưu đãi cafeالطول الأدنى 1
limitintegerالحد الأقصى لعدد النتائج (1–50). الافتراضي 10.1–50 · الافتراضي 10

الاستجابات

200نتائج بحث منظمة عن العروضAgentSearchResponse
400الاستعلام مفقودErrorResponse

جرّب بنفسك

أرسل طلبًا حقيقيًا من متصفحك مباشرة. عدّل القيم ثم اختر إرسال الطلب. تُحتسب الطلبات ضمن حد 60 طلبًا في الدقيقة.

cURL
curl 'https://www.sandeals.net/api/search-advanced?q=coffee&limit=10'
الاستجابة 200
{
  "ok": true,
  "query": "coffee",
  "total": 1,
  "results": [
    {
      "title": "Example Cafe",
      "href": "https://slink.sandeals.net/example",
      "category": "food",
      "summary": "Example cafe deals",
      "score": 13,
      "source": "deals"
    }
  ],
  "response": "Found 1 deal for \"coffee\":\n1. Example Cafe — https://slink.sandeals.net/example",
  "meta": {
    "mode": "agent",
    "language": "en",
    "matched": true
  }
}

البحث عن عروض (POST، وضع الوكيل)

POST/api/search-advancedsearchDealsPost

مطابق لـ GET searchDeals. أرسل mode=agent لتلقي JSON منظم. بالنسبة إلى ChatGPT Actions، يُفضَّل استخدام GET searchDeals.

متن الطلب

الاسمالنوعالوصف
queryمطلوبstringاستعلام البحث
modeenumاستخدم agent للحصول على نتائج منظمةagent · ui · الافتراضي agent
limitinteger1–50 · الافتراضي 10

الاستجابات

200نتائج بحث منظمة عن العروضAgentSearchResponse

جرّب بنفسك

أرسل طلبًا حقيقيًا من متصفحك مباشرة. عدّل القيم ثم اختر إرسال الطلب. تُحتسب الطلبات ضمن حد 60 طلبًا في الدقيقة.

cURL
curl -X POST 'https://www.sandeals.net/api/search-advanced' \
  -H "Content-Type: application/json" \
  -d '{"query":"coffee deals","limit":10,"mode":"agent"}'
الاستجابة 200
{
  "ok": true,
  "query": "string",
  "total": 1,
  "results": [
    {
      "title": "string",
      "href": "https://www.sandeals.net/",
      "category": "string",
      "summary": "string",
      "score": 1,
      "source": "deals"
    }
  ],
  "response": "string",
  "meta": {
    "mode": "string",
    "language": "string",
    "response_time_ms": 1,
    "matched": true,
    "fallback": true
  }
}

سرد كتالوج العروض أو تصفيته

GET/api/dealslistDeals

يتصفح كتالوج SanDeals حسب الفئة أو الكلمة المفتاحية. استخدمه عندما يريد المستخدم قائمة عروض أو فئة معينة (food أو shopping أو tech). للبحث باللغة الطبيعية، يُفضَّل استخدام searchDeals.

معاملات الاستعلام

الاسمالنوعالوصف
categoryenumall · books · shopping · travel · food · tech · lifestyle · education · الافتراضي all
searchstringتصفية العروض حسب كلمة مفتاحية في title/summary
qstringاسم بديل لـ search
limitintegerالحد الأقصى 200 · الافتراضي 100

الاستجابات

200كتالوج العروضobject

جرّب بنفسك

أرسل طلبًا حقيقيًا من متصفحك مباشرة. عدّل القيم ثم اختر إرسال الطلب. تُحتسب الطلبات ضمن حد 60 طلبًا في الدقيقة.

cURL
curl 'https://www.sandeals.net/api/deals?category=all&limit=100'
الاستجابة 200
{
  "ok": true,
  "deals": [
    {
      "title": "string",
      "href": "string",
      "category": "string",
      "summary": "string"
    }
  ],
  "total": 1,
  "categories": [
    "string"
  ]
}

الحصول على بيانات الاكتشاف الوصفية للوكلاء

GET/api/llmsgetSiteMetadata

يعيد إمكانات الموقع والفئات وتعليمات الوكلاء وتوثيق API. استدعِه أولًا إذا كنت بحاجة إلى فهم SanDeals قبل البحث.

الاستجابات

200البيانات الوصفية للموقع وAPI للوكلاءobject

جرّب بنفسك

أرسل طلبًا حقيقيًا من متصفحك مباشرة. عدّل القيم ثم اختر إرسال الطلب. تُحتسب الطلبات ضمن حد 60 طلبًا في الدقيقة.

cURL
curl 'https://www.sandeals.net/api/llms'
الاستجابة 200
{}

المخططات

الكائنات التي تعيدها نقاط النهاية أعلاه.

DealResult

الاسمالنوعالوصف
titleمطلوبstring
hrefمطلوبstring (uri)عنوان URL للعرض / Smart Link
categoryمطلوبstring
summarystring | null
scorenumber
sourceenumdeals · products

Deal

الاسمالنوعالوصف
titlestring
hrefstring
categorystring
summarystring | null

AgentSearchResponse

الاسمالنوعالوصف
okمطلوبboolean
queryمطلوبstring
totalمطلوبinteger
resultsمطلوبDealResult[]
responsestringملخص قصير ومقروء للنتائج
metaobject

ErrorResponse

الاسمالنوعالوصف
okboolean
errorobject
resultsobject[]
totalinteger

الخطوات التالية

صرت تعرف نقاط النهاية. اربط الآن وكيلًا أو استورد المواصفة.