المطوّرون
مرجع API
استدعِ واجهة REST API الخاصة بـ SanDeals من أي عميل HTTP. ابحث عن العروض، وتصفّح الكتالوج، واقرأ البيانات الوصفية للموقع.
https://www.sandeals.netنظرة عامة
تعيد واجهة REST API كتالوج العروض العام نفسه الذي يعيده خادم MCP. استخدم searchDeals للطلبات باللغة الطبيعية وlistDeals لتصفح فئة معينة. لا تحتوي النتائج إلا على قيم من الكتالوج؛ لا تعرض أبدًا أكواد خصم أو خصومات غير موجودة في الاستجابة.
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 |
limit | integer | الحد الأقصى لعدد النتائج (1–50). الافتراضي 10.1–50 · الافتراضي 10 |
الاستجابات
| 200 | نتائج بحث منظمة عن العروضAgentSearchResponse |
|---|---|
| 400 | الاستعلام مفقودErrorResponse |
جرّب بنفسك
أرسل طلبًا حقيقيًا من متصفحك مباشرة. عدّل القيم ثم اختر إرسال الطلب. تُحتسب الطلبات ضمن حد 60 طلبًا في الدقيقة.
curl 'https://www.sandeals.net/api/search-advanced?q=coffee&limit=10'
{
"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 | استعلام البحث |
mode | enum | استخدم agent للحصول على نتائج منظمةagent · ui · الافتراضي agent |
limit | integer | 1–50 · الافتراضي 10 |
الاستجابات
| 200 | نتائج بحث منظمة عن العروضAgentSearchResponse |
|---|
جرّب بنفسك
أرسل طلبًا حقيقيًا من متصفحك مباشرة. عدّل القيم ثم اختر إرسال الطلب. تُحتسب الطلبات ضمن حد 60 طلبًا في الدقيقة.
curl -X POST 'https://www.sandeals.net/api/search-advanced' \
-H "Content-Type: application/json" \
-d '{"query":"coffee deals","limit":10,"mode":"agent"}'
{
"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.
معاملات الاستعلام
| الاسم | النوع | الوصف |
|---|---|---|
category | enum | all · books · shopping · travel · food · tech · lifestyle · education · الافتراضي all |
search | string | تصفية العروض حسب كلمة مفتاحية في title/summary |
q | string | اسم بديل لـ search |
limit | integer | الحد الأقصى 200 · الافتراضي 100 |
الاستجابات
| 200 | كتالوج العروضobject |
|---|
جرّب بنفسك
أرسل طلبًا حقيقيًا من متصفحك مباشرة. عدّل القيم ثم اختر إرسال الطلب. تُحتسب الطلبات ضمن حد 60 طلبًا في الدقيقة.
curl 'https://www.sandeals.net/api/deals?category=all&limit=100'
{
"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 'https://www.sandeals.net/api/llms'
{}المخططات
الكائنات التي تعيدها نقاط النهاية أعلاه.
DealResult
| الاسم | النوع | الوصف |
|---|---|---|
titleمطلوب | string | |
hrefمطلوب | string (uri) | عنوان URL للعرض / Smart Link |
categoryمطلوب | string | |
summary | string | null | |
score | number | |
source | enum | deals · products |
Deal
| الاسم | النوع | الوصف |
|---|---|---|
title | string | |
href | string | |
category | string | |
summary | string | null |
AgentSearchResponse
| الاسم | النوع | الوصف |
|---|---|---|
okمطلوب | boolean | |
queryمطلوب | string | |
totalمطلوب | integer | |
resultsمطلوب | DealResult[] | |
response | string | ملخص قصير ومقروء للنتائج |
meta | object |
ErrorResponse
| الاسم | النوع | الوصف |
|---|---|---|
ok | boolean | |
error | object | |
results | object[] | |
total | integer |
الخطوات التالية
صرت تعرف نقاط النهاية. اربط الآن وكيلًا أو استورد المواصفة.