Entwickler
API-Referenz
Rufen Sie die REST-API von SanDeals aus jedem HTTP-Client auf. Suchen Sie Angebote, durchsuchen Sie den Katalog und lesen Sie die Metadaten der Website.
https://www.sandeals.netÜbersicht
Die REST-API liefert denselben öffentlichen Angebotskatalog wie der MCP-Server. Verwenden Sie searchDeals für Anfragen in natürlicher Sprache und listDeals, um eine Kategorie zu durchsuchen. Die Ergebnisse enthalten nur Werte aus dem Katalog; geben Sie niemals Codes oder Rabatte an, die nicht in der Antwort enthalten sind.
https://www.sandeals.net/openapi.json ein. Setzen Sie Authentication auf None. Die aufzurufende Operation ist searchDeals.Authentifizierung
Es sind weder API-Schlüssel noch Konto erforderlich. Anfragen sind anonym, und die API ist schreibgeschützt. Antworten erlauben Cross-Origin-Anfragen (Access-Control-Allow-Origin: *).
Rate-Limits
Die Such-Endpunkte und der MCP-Server teilen sich ein Kontingent von 60 Anfragen pro Minute und Client sowie ein globales Kontingent pro Minute. Eine Anfrage über dem Kontingent erhält 429 Too Many Requests mit einem Retry-After-Header in Sekunden. Warten Sie diese Zeit ab, bevor Sie es erneut versuchen.
Fehler
Fehler verwenden Standard-HTTP-Statuscodes und einen JSON-Body mit ok: false.
| 400 | Die Abfrage fehlt oder ist ungültig. |
|---|---|
| 413 | Der Anfrage-Body ist größer als 16 KB. |
| 429 | Rate-Limit erreicht. Versuchen Sie es nach der in Retry-After angegebenen Anzahl von Sekunden erneut. |
| 503 | Die Suche ist vorübergehend nicht verfügbar. Versuchen Sie es nach 60 Sekunden erneut. |
Angebote auf SanDeals.net suchen
GET/api/search-advancedsearchDeals
Sucht Rabattcodes, Gutscheine und Angebote. Verwenden Sie diese Operation, wenn Nutzer Angebote oder Coupons von SanDeals oder Online-Shops möchten. Gibt strukturiertes JSON mit title, href (Link zum Angebot), category und summary zurück. Kein API-Schlüssel erforderlich.
Query-Parameter
| Name | Typ | Beschreibung |
|---|---|---|
qErforderlich | string | Suchanfrage in natürlicher Sprache oder als Stichwort, z. B. coffee, giày, voucher, ưu đãi cafemin. Länge 1 |
limit | integer | Maximale Anzahl Ergebnisse (1–50). Standard 10.1–50 · Standard 10 |
Antworten
| 200 | Strukturierte Suchergebnisse für AngeboteAgentSearchResponse |
|---|---|
| 400 | Abfrage fehltErrorResponse |
Ausprobieren
Senden Sie eine echte Anfrage direkt aus Ihrem Browser. Bearbeiten Sie die Werte und wählen Sie dann Anfrage senden. Anfragen zählen zum Limit von 60 pro Minute.
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
}
}Angebote suchen (POST, Agent-Modus)
POST/api/search-advancedsearchDealsPost
Identisch mit GET searchDeals. Senden Sie mode=agent, um strukturiertes JSON zu erhalten. Für ChatGPT Actions empfiehlt sich GET searchDeals.
Anfrage-Body
| Name | Typ | Beschreibung |
|---|---|---|
queryErforderlich | string | Suchanfrage |
mode | enum | Verwenden Sie agent für strukturierte Ergebnisseagent · ui · Standard agent |
limit | integer | 1–50 · Standard 10 |
Antworten
| 200 | Strukturierte Suchergebnisse für AngeboteAgentSearchResponse |
|---|
Ausprobieren
Senden Sie eine echte Anfrage direkt aus Ihrem Browser. Bearbeiten Sie die Werte und wählen Sie dann Anfrage senden. Anfragen zählen zum Limit von 60 pro Minute.
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
}
}Angebotskatalog auflisten oder filtern
GET/api/dealslistDeals
Durchsucht den SanDeals-Katalog nach Kategorie oder Stichwort. Verwenden Sie diese Operation, wenn Nutzer eine Liste von Angeboten oder eine Kategorie (food, shopping, tech) möchten. Für die Suche in natürlicher Sprache empfiehlt sich searchDeals.
Query-Parameter
| Name | Typ | Beschreibung |
|---|---|---|
category | enum | all · books · shopping · travel · food · tech · lifestyle · education · Standard all |
search | string | Angebote nach Stichwort in title/summary filtern |
q | string | Alias für search |
limit | integer | max. 200 · Standard 100 |
Antworten
| 200 | Angebotskatalogobject |
|---|
Ausprobieren
Senden Sie eine echte Anfrage direkt aus Ihrem Browser. Bearbeiten Sie die Werte und wählen Sie dann Anfrage senden. Anfragen zählen zum Limit von 60 pro Minute.
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"
]
}Discovery-Metadaten für Agenten abrufen
GET/api/llmsgetSiteMetadata
Gibt Funktionen der Site, Kategorien, Anweisungen für Agenten und die API-Dokumentation zurück. Rufen Sie diese Operation zuerst auf, wenn Sie SanDeals vor der Suche verstehen müssen.
Antworten
| 200 | Site- und API-Metadaten für Agentenobject |
|---|
Ausprobieren
Senden Sie eine echte Anfrage direkt aus Ihrem Browser. Bearbeiten Sie die Werte und wählen Sie dann Anfrage senden. Anfragen zählen zum Limit von 60 pro Minute.
curl 'https://www.sandeals.net/api/llms'
{}Schemas
Objekte, die von den obigen Endpunkten zurückgegeben werden.
DealResult
| Name | Typ | Beschreibung |
|---|---|---|
titleErforderlich | string | |
hrefErforderlich | string (uri) | URL zum Angebot / Smart Link |
categoryErforderlich | string | |
summary | string | null | |
score | number | |
source | enum | deals · products |
Deal
| Name | Typ | Beschreibung |
|---|---|---|
title | string | |
href | string | |
category | string | |
summary | string | null |
AgentSearchResponse
| Name | Typ | Beschreibung |
|---|---|---|
okErforderlich | boolean | |
queryErforderlich | string | |
totalErforderlich | integer | |
resultsErforderlich | DealResult[] | |
response | string | Kurze, lesbare Zusammenfassung der Ergebnisse |
meta | object |
ErrorResponse
| Name | Typ | Beschreibung |
|---|---|---|
ok | boolean | |
error | object | |
results | object[] | |
total | integer |
Nächste Schritte
Sie kennen die Endpunkte. Verbinden Sie jetzt einen Agenten oder importieren Sie die Spezifikation.