Desenvolvedores
Referência da API
Chame a API REST da SanDeals de qualquer cliente HTTP: busque ofertas, navegue pelo catálogo e leia os metadados do site.
https://www.sandeals.netVisão geral
A API REST retorna o mesmo catálogo público de ofertas que o servidor MCP. Use searchDeals para solicitações em linguagem natural e listDeals para navegar por uma categoria. Os resultados contêm apenas valores do catálogo; nunca apresente códigos ou descontos que não estejam na resposta.
https://www.sandeals.net/openapi.json. Defina Authentication como None. A operação a ser chamada é searchDeals.Autenticação
Não é necessária chave de API nem conta. As requisições são anônimas e a API é somente leitura. As respostas permitem requisições cross-origin (Access-Control-Allow-Origin: *).
Limites de requisições
Os endpoints de busca e o servidor MCP compartilham um limite de 60 requisições por minuto por cliente e um limite global por minuto. Uma requisição acima do limite retorna 429 Too Many Requests com um cabeçalho Retry-After em segundos. Aguarde esse tempo antes de tentar novamente.
Erros
Os erros usam códigos de status HTTP padrão e um corpo JSON com ok: false.
| 400 | A consulta está ausente ou é inválida. |
|---|---|
| 413 | O corpo da requisição é maior que 16 KB. |
| 429 | Limite de requisições atingido. Tente novamente após o número de segundos indicado em Retry-After. |
| 503 | A busca está temporariamente indisponível. Tente novamente em 60 segundos. |
Buscar ofertas no SanDeals.net
GET/api/search-advancedsearchDeals
Busca códigos de desconto, cupons e ofertas. Use quando o usuário quiser ofertas ou cupons do SanDeals ou de lojas online. Retorna JSON estruturado com title, href (link da oferta), category e summary. Não exige chave de API.
Parâmetros de consulta
| Nome | Tipo | Descrição |
|---|---|---|
qObrigatório | string | Consulta em linguagem natural ou por palavra-chave, por exemplo: coffee, giày, voucher, ưu đãi cafecomprimento mín. 1 |
limit | integer | Número máximo de resultados (1–50). Padrão 10.1–50 · padrão 10 |
Respostas
| 200 | Resultados estruturados da busca de ofertasAgentSearchResponse |
|---|---|
| 400 | Consulta ausenteErrorResponse |
Experimente
Envie uma requisição real do seu navegador. Edite os valores e selecione Enviar requisição. As requisições contam para o limite de 60 por minuto.
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
}
}Buscar ofertas (POST, modo agente)
POST/api/search-advancedsearchDealsPost
Igual a GET searchDeals. Envie mode=agent para receber JSON estruturado. Para ChatGPT Actions, prefira GET searchDeals.
Corpo da requisição
| Nome | Tipo | Descrição |
|---|---|---|
queryObrigatório | string | Consulta de busca |
mode | enum | Use agent para receber resultados estruturadosagent · ui · padrão agent |
limit | integer | 1–50 · padrão 10 |
Respostas
| 200 | Resultados estruturados da busca de ofertasAgentSearchResponse |
|---|
Experimente
Envie uma requisição real do seu navegador. Edite os valores e selecione Enviar requisição. As requisições contam para o limite de 60 por minuto.
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
}
}Listar ou filtrar o catálogo de ofertas
GET/api/dealslistDeals
Navega pelo catálogo do SanDeals por categoria ou palavra-chave. Use quando o usuário quiser uma lista de ofertas ou uma categoria (food, shopping, tech). Para busca em linguagem natural, prefira searchDeals.
Parâmetros de consulta
| Nome | Tipo | Descrição |
|---|---|---|
category | enum | all · books · shopping · travel · food · tech · lifestyle · education · padrão all |
search | string | Filtrar ofertas por palavra-chave em title/summary |
q | string | Alias de search |
limit | integer | máx. 200 · padrão 100 |
Respostas
| 200 | Catálogo de ofertasobject |
|---|
Experimente
Envie uma requisição real do seu navegador. Edite os valores e selecione Enviar requisição. As requisições contam para o limite de 60 por minuto.
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"
]
}Obter metadados de descoberta para agentes
GET/api/llmsgetSiteMetadata
Retorna as funcionalidades do site, as categorias, as instruções para agentes e a documentação da API. Chame primeiro se precisar entender o SanDeals antes de buscar.
Respostas
| 200 | Metadados do site e da API para agentesobject |
|---|
Experimente
Envie uma requisição real do seu navegador. Edite os valores e selecione Enviar requisição. As requisições contam para o limite de 60 por minuto.
curl 'https://www.sandeals.net/api/llms'
{}Esquemas
Objetos retornados pelos endpoints acima.
DealResult
| Nome | Tipo | Descrição |
|---|---|---|
titleObrigatório | string | |
hrefObrigatório | string (uri) | URL da oferta / smart link |
categoryObrigatório | string | |
summary | string | null | |
score | number | |
source | enum | deals · products |
Deal
| Nome | Tipo | Descrição |
|---|---|---|
title | string | |
href | string | |
category | string | |
summary | string | null |
AgentSearchResponse
| Nome | Tipo | Descrição |
|---|---|---|
okObrigatório | boolean | |
queryObrigatório | string | |
totalObrigatório | integer | |
resultsObrigatório | DealResult[] | |
response | string | Resumo breve e legível dos resultados |
meta | object |
ErrorResponse
| Nome | Tipo | Descrição |
|---|---|---|
ok | boolean | |
error | object | |
results | object[] | |
total | integer |
Próximos passos
Você já conhece os endpoints. Agora conecte um agente ou importe a especificação.