Pengembang

Referensi API

Panggil REST API SanDeals dari klien HTTP apa pun. Cari penawaran, telusuri katalog, dan baca metadata situs.

URL dasar
https://www.sandeals.net
  • OpenAPI 3.1.0
  • Versi 1.1.0
  • Autentikasi: tidak ada
  • JSON

Spesifikasiwww.sandeals.net/openapi.json

Ikhtisar

REST API mengembalikan katalog penawaran publik yang sama dengan server MCP. Gunakan searchDeals untuk permintaan dalam bahasa alami dan listDeals untuk menelusuri kategori. Hasil hanya berisi nilai dari katalog; jangan pernah menampilkan kode atau diskon yang tidak ada dalam respons.

Untuk menggunakan API dari ChatGPT, buat Custom GPT, buka Actions, pilih Import from URL, lalu tempel https://www.sandeals.net/openapi.json. Atur Authentication ke None. Operasi yang dipanggil adalah searchDeals.

Autentikasi

Tidak perlu kunci API atau akun. Permintaan bersifat anonim dan API hanya-baca. Respons mengizinkan permintaan lintas asal (Access-Control-Allow-Origin: *).

Batas permintaan

Endpoint pencarian dan server MCP berbagi kuota 60 permintaan per menit per klien serta kuota global per menit. Permintaan yang melebihi kuota mengembalikan 429 Too Many Requests dengan header Retry-After dalam detik. Tunggu selama itu sebelum mencoba lagi.

Kesalahan

Kesalahan menggunakan kode status HTTP standar dan body JSON dengan ok: false.

400Kueri tidak ada atau tidak valid.
413Body permintaan lebih besar dari 16 KB.
429Batas permintaan tercapai. Coba lagi setelah jumlah detik yang tertera di Retry-After.
503Pencarian sementara tidak tersedia. Coba lagi setelah 60 detik.

Cari penawaran di SanDeals.net

GET/api/search-advancedsearchDeals

Mencari kode diskon, voucher, dan penawaran. Gunakan saat pengguna menginginkan penawaran atau kupon dari SanDeals atau platform e-commerce. Mengembalikan JSON terstruktur berisi title, href (tautan penawaran), category, dan summary. Tidak perlu kunci API.

Parameter kueri

NamaTipeDeskripsi
qWajibstringKueri dalam bahasa alami atau kata kunci, misalnya coffee, giày, voucher, ưu đãi cafepanjang min 1
limitintegerJumlah hasil maksimum (1–50). Default 10.1–50 · default 10

Respons

200Hasil pencarian penawaran terstrukturAgentSearchResponse
400Kueri tidak adaErrorResponse

Coba sekarang

Kirim permintaan sungguhan langsung dari browser Anda. Ubah nilainya, lalu pilih Kirim permintaan. Permintaan dihitung dalam batas 60 per menit.

cURL
curl 'https://www.sandeals.net/api/search-advanced?q=coffee&limit=10'
Respons 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
  }
}

Cari penawaran (POST, mode agen)

POST/api/search-advancedsearchDealsPost

Sama dengan GET searchDeals. Kirim mode=agent untuk menerima JSON terstruktur. Untuk ChatGPT Actions, sebaiknya gunakan GET searchDeals.

Body permintaan

NamaTipeDeskripsi
queryWajibstringKueri pencarian
modeenumGunakan agent untuk hasil terstrukturagent · ui · default agent
limitinteger1–50 · default 10

Respons

200Hasil pencarian penawaran terstrukturAgentSearchResponse

Coba sekarang

Kirim permintaan sungguhan langsung dari browser Anda. Ubah nilainya, lalu pilih Kirim permintaan. Permintaan dihitung dalam batas 60 per menit.

cURL
curl -X POST 'https://www.sandeals.net/api/search-advanced' \
  -H "Content-Type: application/json" \
  -d '{"query":"coffee deals","limit":10,"mode":"agent"}'
Respons 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
  }
}

Tampilkan atau filter katalog penawaran

GET/api/dealslistDeals

Menelusuri katalog SanDeals berdasarkan kategori atau kata kunci. Gunakan saat pengguna menginginkan daftar penawaran atau suatu kategori (food, shopping, tech). Untuk pencarian dalam bahasa alami, sebaiknya gunakan searchDeals.

Parameter kueri

NamaTipeDeskripsi
categoryenumall · books · shopping · travel · food · tech · lifestyle · education · default all
searchstringFilter penawaran berdasarkan kata kunci di title/summary
qstringAlias untuk search
limitintegermaks 200 · default 100

Respons

200Katalog penawaranobject

Coba sekarang

Kirim permintaan sungguhan langsung dari browser Anda. Ubah nilainya, lalu pilih Kirim permintaan. Permintaan dihitung dalam batas 60 per menit.

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

Ambil metadata penemuan untuk agen

GET/api/llmsgetSiteMetadata

Mengembalikan kemampuan situs, kategori, petunjuk untuk agen, dan dokumentasi API. Panggil terlebih dahulu jika Anda perlu memahami SanDeals sebelum mencari.

Respons

200Metadata situs dan API untuk agenobject

Coba sekarang

Kirim permintaan sungguhan langsung dari browser Anda. Ubah nilainya, lalu pilih Kirim permintaan. Permintaan dihitung dalam batas 60 per menit.

cURL
curl 'https://www.sandeals.net/api/llms'
Respons 200
{}

Skema

Objek yang dikembalikan oleh endpoint di atas.

DealResult

NamaTipeDeskripsi
titleWajibstring
hrefWajibstring (uri)URL ke penawaran / smart link
categoryWajibstring
summarystring | null
scorenumber
sourceenumdeals · products

Deal

NamaTipeDeskripsi
titlestring
hrefstring
categorystring
summarystring | null

AgentSearchResponse

NamaTipeDeskripsi
okWajibboolean
queryWajibstring
totalWajibinteger
resultsWajibDealResult[]
responsestringRingkasan singkat hasil yang mudah dibaca
metaobject

ErrorResponse

NamaTipeDeskripsi
okboolean
errorobject
resultsobject[]
totalinteger

Langkah berikutnya

Anda sudah mengenal endpoint-nya. Selanjutnya, hubungkan agen atau impor spesifikasi.