> For the complete documentation index, see [llms.txt](https://apidoc.toplojas.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidoc.toplojas.com.br/produtos/listar-produtos.md).

# Listar e Filtrar Produtos

Retorna a **listagem de produtos** da loja, com suporte a filtros e paginação.

```
GET /produtos/
```

{% hint style="info" %}
A listagem de produtos usa o wrapper **`Retorno`** (e não `Dados`, como em outros módulos), acompanhado de `Paginacao`.
{% endhint %}

## 🔎 Filtros disponíveis

Os filtros são enviados na **Query** da requisição. Todos são opcionais e podem ser combinados.

| Parâmetro          | Tipo    | Descrição                                                        |
| ------------------ | ------- | ---------------------------------------------------------------- |
| `Pagina`           | inteiro | Página desejada (paginação)                                      |
| `QtdPorPagina`     | inteiro | Registros por página (máx. **100**)                              |
| `Status`           | texto   | Filtra pelo status do produto: `A` (Ativado) ou `D` (Desativado) |
| `CodigoImportacao` | texto   | Código importado de sistemas terceiros                           |
| `SKU`              | texto   | SKU do produto                                                   |
| `Nome`             | texto   | Nome do produto (o sistema também busca por nomes parciais)      |

## 📥 Exemplo de requisição

Buscando produtos ativos que contenham "Teste" no nome, 50 por página:

```bash
curl -X GET "https://api.toplojas.com.br/produtos/?Status=A&Nome=Teste&QtdPorPagina=50" \
  -H "Authorization: Bearer [Token]" \
  -H "Loja: [Identificador de Sua Loja]"
```

## 📤 Exemplo de resposta

A resposta traz os produtos em `Retorno` e os dados de paginação em `Paginacao`:

```json
{
  "Retorno": [
    {
      "Codigo": 1287407,
      "DataCadastro": "2023-03-21 16:48:47",
      "DataModificacao": "2023-03-21 17:01:06",
      "Nome": "Teste1",
      "SKU": "T1",
      "GTIN": "TesteGTIN1",
      "EAN": "TesteEAN1",
      "CodigoImportacao": "IMP100",
      "LinkSlug": "https://www.teste.com.br/conjuntos/teste1/",
      "Tags": "Teste1 Teste1 Teste1 Teste1 Teste1",
      "Peso": 12.34,
      "Dim_Comprimento": 4.323,
      "Dim_Largura": 2.323,
      "Dim_Altura": 1.548,
      "PrecoPromocional": 120.2,
      "PrecoNormal": 234.56,
      "PrecoCusto": 100.96,
      "Status": "A",
      "Fabricante": "TesteFabricante1",
      "Marca": "TesteMarca1",
      "DepartamentoPrincipal": "Livros > Aventura",
      "Departamentos": [
        "Livros",
        "Livros > Aventura",
        "Livros > Romance",
        "Escolar",
        "Escolar > Livros"
      ],
      "Descricao": {
        "Titulo": "Descrição",
        "Texto": "TesteDescricao1"
      },
      "Estoque": {
        "Tipo": "P",
        "Disponivel": 125
      },
      "Variacoes": {
        "CampoAIs": false,
        "CampoA": "",
        "CampoBIs": false,
        "CampoB": "",
        "Listagem": []
      },
      "Fotos": [
        {
          "Foto": "Produtos/1287407/Fotos/G_990ec2a14c2bc8010e03aec0cff058.png",
          "IsCapa": true
        }
      ],
      "Relacionados": [],
      "Atributos": [
        {
          "Grupo": "Composicao",
          "Item": "Exemplo de Composicao 1"
        },
        {
          "Grupo": "Genero",
          "Item": "Exemplo de Genero 1"
        },
        {
          "Grupo": "Mataria Prima",
          "Item": "Exemplo de Mataria Prima 1"
        }
      ]
    }
  ],
  "Paginacao": {
    "PaginaAtual": 1,
    "QtdPaginas": 1,
    "QtdRegistros": 1
  }
}
```

{% hint style="info" %}
Produtos **com variação** trazem o campo `Estoque.Tipo` como `V` e a lista de variações em `Variacoes.Listagem`. Consulte a descrição de cada campo na referência:

{% embed url="<https://api.toplojas.com.br/doc/#/Produtos>" %}
{% endhint %}

Para entender o funcionamento da paginação, veja:

{% content-ref url="/pages/-MObwaEfNJbBvr8ZSK0U" %}
[Paginação](/funcionamento/paginacao.md)
{% endcontent-ref %}
