Endpoint
GET /api/hub/catalogs
Parâmetros de query
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
q | string | — | Query de busca (corresponde a nome, descrição, tags) |
category | string | — | Filtrar por slug de categoria (ex.: apparel, electronics) |
sort | string | popular | Ordenação: popular, recent, score |
minScore | number | — | Score mínimo de otimização (0–100) |
price | string | — | Filtrar por precificação: free ou paid |
limit | number | 20 | Resultados por página (máx: 100) |
offset | number | 0 | Offset de paginação |
Resposta
{
"catalogs": [
{
"id": "hub_cat_9x8k2m",
"name": "Coleção Primavera 2026",
"description": "Mais de 500 SKUs de vestuário curado das melhores marcas europeias.",
"publisher": {
"workspaceId": "ws_abc",
"displayName": "EuroFashion Wholesale",
"verified": true
},
"productCount": 512,
"price": { "model": "free" },
"category": "apparel",
"tags": ["primavera", "2026", "europeu"],
"score": 78,
"subscribers": 34,
"publishedAt": "2026-02-01T09:00:00Z",
"version": 5
}
],
"total": 147,
"hasMore": true
}
Exemplos
curl "https://app.alana.shopping/api/hub/catalogs?q=vestuário&category=apparel&sort=score&limit=20"
const params = new URLSearchParams({
q: 'vestuário',
category: 'apparel',
sort: 'score',
limit: '20',
});
const response = await fetch(
`https://app.alana.shopping/api/hub/catalogs?${params}`
);
const { catalogs, total, hasMore } = await response.json();
console.log(`Encontrados ${total} catálogos`);
import requests
response = requests.get(
"https://app.alana.shopping/api/hub/catalogs",
params={"q": "vestuário", "category": "apparel", "sort": "score", "limit": 20}
)
data = response.json()
print(f"Total: {data['total']} catálogos")