# Pesquisar SKUs (https://docs.pulsarml.com/pt/v1/api-reference/skus/post-skus-filters)

Pesquisa o catálogo de produtos, ou percorre-o página a página com `{}`.

Os filtros são separados, não uma pesquisa combinada: `skus` pesquisa no código do SKU e também aceita `include` / `exclude` por ID, enquanto `names`, `description` e `unit` são cada um o seu próprio filtro aproximado. Os SKUs arquivados fazem parte do catálogo e não são excluídos automaticamente.

## `POST /v1/skus/filters`

Base URLs:
- `https://draco.prod.pulsarml.com` — Produção
- `https://draco.dev.pulsarml.com` — Desenvolvimento (sandbox)

Authentication: send your API key in the `x-api-key` header.

### Request body (`application/json`, required)

Type: object (`GetSkusByFiltersRequestV1`)

- `page` (integer, optional, default `1`, > 0, e.g. `1`) — O número da página
- `limit` (integer, optional, default `10`, > 0, e.g. `10`) — O número de elementos por página
- `skus` (object, optional, nullable) — Critérios de filtro para SKUs
  - `search` (string, optional, nullable) — Termo de pesquisa para SKUs
  - `include` (array of string, optional, nullable) — Elementos a incluir, por ID
  - `exclude` (array of string, optional, nullable) — Elementos a excluir, por ID
- `names` (object, optional, nullable) — Critérios de filtro para nomes
  - `search` (string, optional, nullable) — Termo de pesquisa
- `description` (object, optional, nullable) — Critérios de filtro para a descrição
  - `search` (string, optional, nullable) — Termo de pesquisa
- `unit` (object, optional, nullable) — Critérios de filtro para a unidade
  - `search` (string, optional, nullable) — Termo de pesquisa

### Responses

#### 200 — Uma página de SKUs, com o total de resultados e de páginas

Type: object (`GetSkusByFiltersResponseV1`)

- `totalCount` (integer, optional, default `100`) — O número total de elementos
- `totalPages` (integer, optional, default `10`) — O número total de páginas
- `currentPage` (integer, optional, default `1`) — A página atual
- `skus` (array of object, required)
  - `id` (string (uuid4), required, e.g. `"36f7b519-d93e-4ec8-8245-7f4b8c123456"`) — O identificador único do SKU.
  - `company` (object, required) — A empresa associada ao SKU.
    - `id` (integer, required, e.g. `1`) — O identificador único da empresa.
    - `name` (string, required, e.g. `"company 1"`) — O nome da empresa.
  - `sku` (string, required, e.g. `"sku 1"`) — O código do SKU.
  - `name` (string, required, nullable, e.g. `"sku 1"`) — O nome do SKU.
  - `description` (string, required, nullable, e.g. `"sku 1"`) — A descrição do SKU.
  - `unit` (string, required, nullable, e.g. `"pcs"`) — A unidade do SKU.
  - `archived` (boolean, required, e.g. `false`) — Se o SKU está arquivado.
  - `createdAt` (string (date-time), required, e.g. `"2024-01-01T00:00:00.000Z"`) — A data e hora em que o SKU foi criado.
  - `updatedAt` (string (date-time), required, e.g. `"2024-01-01T00:00:00.000Z"`) — A data e hora da última atualização do SKU.
  - `deletedAt` (string (date-time), optional, nullable, e.g. `"2024-01-02T00:00:00.000Z"`) — A data e hora em que o SKU foi eliminado, se aplicável.

#### 422 — Erro de validação

Type: object (`HTTPValidationError`)

- `detail` (array of object, optional)
  - `loc` (array of string | integer, required)
  - `msg` (string, required)
  - `type` (string, required)
  - `input` (any, optional)
  - `ctx` (object, optional)

### Example request

```bash
curl -X POST 'https://draco.prod.pulsarml.com/v1/skus/filters' \
  -H 'x-api-key: <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "page": 1,
    "limit": 10,
    "skus": {
      "exclude": [
        "9ce2c6b4-a1f4-4bf2-b5c8-10436d1018cc"
      ],
      "include": [
        "9d02ab43-0100-4af6-a73c-e05abbd72648"
      ],
      "search": "sku 1"
    },
    "names": {
      "search": "sku 1"
    },
    "description": {
      "search": "a simple description"
    },
    "unit": {
      "search": "kgs"
    }
  }'
```