Endpoints públicos para parceiros realizarem busca textual e navegação por categoria/loja no catálogo.
Base URL
https://{sua-loja}/api/v2/public/
Autenticação
Endpoints públicos — não exigem autenticação. Filtros padrão aplicados em todos os resultados:
has_stock_b:true
status_s:2
telesales_exclusive_b:false
Parâmetros comuns
| Parâmetro | Tipo | Descrição |
|---|---|---|
fl | string (CSV) | Campos que devem ser retornados. |
fq | string (CSV ou repetível) | Filtros no formato campo:valor. Prefixe com ! para negar. |
sort | string (CSV) | Ordenação campo direcao com direção asc ou desc. Ex.: sale_price asc. |
products_ids | string (CSV) | Restringe o resultado a IDs numéricos específicos. |
Campos disponíveis em fl / fq / sort
fl / fq / sort| Alias público | Campo de resposta |
|---|---|
id | id |
name | name |
title | title |
image | image |
images / gallery | images |
unit_price | unit_price |
sale_price / price_f | sale_price |
absolute_url | absolute_url |
descont_percentage | descont_percentage |
seals | seals |
brand | brand |
rating | rating |
loyalty_price | loyalty_price |
modals | modals |
specifications | specifications |
has_stock | has_stock |
ean_13 | ean_13 |
pbmpag_active | pbmpag_active |
sku_default | sku_default |
Exemplos de filtros (fq)
fq)fq=brand:Nike
fq=!has_stock:false
fq=rating:5
fq=sale_price:[50 TO 200]Múltiplos fq podem ser enviados repetindo o parâmetro: ?fq=brand:Nike&fq=rating:5.
Limites e validações
fq: máximo de 20 filtros por requisição; cada filtro com até 50 caracteres.fl: apenas caracteresA-Z a-z 0-9 _ . *são aceitos.sort: campos devem bater com^[A-Za-z0-9_.]+$; direçãoascoudesc.products_ids: somente IDs numéricos.- Em
fq, valores numéricos emid:...recebem automaticamente o prefixosku_.
GET /search/
GET /search/Busca textual no catálogo.
Query params
| Nome | Tipo | Descrição |
|---|---|---|
q | string | Termo a ser buscado. |
query | string | Template Solr customizado com {0} para interpolar q. Opcional. |
fl | string | Campos a retornar. |
fq | string | Filtros (repetível). |
sort | string | Ordenação. Default: score desc. |
products_ids | string | Restringe a produtos específicos. |
group.field | string | Campo para agrupamento de resultados. |
data | string (base64) | JSON codificado em base64 com qualquer parâmetro acima. Params explícitos na URL têm prioridade. |
Exemplo — Request
curl "https://sua-loja.com/api/v2/public/search/?q=camiseta&fl=id,name,sale_price&sort=sale_price%20asc"Exemplo — Response 200 OK
200 OK{
"count": 128,
"next": "https://sua-loja.com/api/v2/public/search/?q=camiseta&page=2",
"previous": null,
"results": [
{ "id": "sku_1", "name": "camiseta-preta-p", "sale_price": 59.90 },
{ "id": "sku_2", "name": "camiseta-preta-m", "sale_price": 59.90 }
]
}GET /search/{slug}/
GET /search/{slug}/Navegação por categoria ou loja. Retorna listagem paginada, com metadados de facetas, ordenação disponível e breadcrumb.
Path params
| Nome | Tipo | Descrição |
|---|---|---|
slug | string | Caminho da categoria/loja. Pode conter subníveis, ex.: roupas/camisetas. |
Query params
| Nome | Tipo | Descrição |
|---|---|---|
fl | string | Campos a retornar. |
fq | string | Filtros. Repetível. |
sort | string | Ordenação. |
products_ids | string | Restringe a IDs específicos. |
p | int | Número da página (default 1, tamanho configurado pela loja). |
Exemplo — Request
curl "https://sua-loja.com/api/v2/public/search/roupas/camisetas/?fq=brand:Acme&sort=sale_price%20desc&p=2"Exemplo — Response 200 OK
200 OK{
"count": 42,
"previous": "https://sua-loja.com/api/v2/public/search/roupas/camisetas/?p=1",
"next": null,
"results": [
{
"id": "sku_99",
"name": "camiseta-acme-g",
"title": "Camiseta Acme G",
"sale_price": 129.90,
"unit_price": 149.90,
"brand": "Acme",
"has_stock": true
}
],
"term": "camisetas",
"query": "roupas/camisetas",
"sort_options": [ "..." ],
"map_list": { "...": "..." }
}Observações
- Quando o slug bate com a página promocional configurada (
SHOP_SEARCH_PAGE_PROMOTION), o endpoint automaticamente usa o engine promocional. - Os campos
idenamesão sempre incluídos, mesmo se omitidos emfl.
Códigos de resposta
| Código | Significado |
|---|---|
200 | Sucesso. |
5xx | Falha interna — retente com backoff exponencial. |