# Produto

> Rotas da API para listar os cursos da sua plataforma e consultar um curso específico.

Na API, os cursos da sua plataforma são chamados de **produtos**. Use estas rotas para descobrir o ID de cada curso, que é pedido em outras rotas, como a de progresso do aluno e a de aulas.

Base: `https://<sua-plataforma>/api/v1` · Autenticação: cabeçalho `Authorization` com sua chave (veja [API](/configuracoes/api)).

## Listar produtos

```
GET /produto
```

Lista todos os cursos da plataforma, em ordem de criação, **15 por página**.

| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
| `cursor` | query | Não | Cursor da próxima página (já vem pronto em `next_page_url`) |

```bash
curl https://escola.asalahub.com/api/v1/produto \
  -H "Authorization: ash_sua_chave_aqui"
```

```json
{
  "success": true,
  "code": 200,
  "data": {
    "paginator": {
      "perPage": 15,
      "next_page_url": "https://escola.asalahub.com/api/v1/produto?cursor=eyJpZCI6MjAs...",
      "prev_page_url": null
    },
    "produto": [
      { "id": 12, "ordem": 1, "nome": "Atendimento que Encanta" },
      { "id": 15, "ordem": 2, "nome": "Comercial que Vende" }
    ]
  },
  "profiler": { "start": 1789737057.12, "finish": 1789737057.13, "process": 0.01 }
}
```

| Campo | Descrição |
|---|---|
| `id` | ID do curso |
| `ordem` | Posição do curso definida no painel |
| `nome` | Nome do curso |

## Buscar um produto

```
GET /produto/{id}
```

| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
| `id` | caminho | Sim | ID do curso |

```bash
curl https://escola.asalahub.com/api/v1/produto/12 \
  -H "Authorization: ash_sua_chave_aqui"
```

```json
{
  "success": true,
  "code": 200,
  "data": {
    "produto": {
      "id": 12,
      "ordem": 1,
      "nome": "Atendimento que Encanta",
      "vitrine": { "id": 4, "ordem": 1, "nome": "Treinamentos" }
    }
  },
  "profiler": { "start": 1789737057.12, "finish": 1789737057.13, "process": 0.01 }
}
```

`vitrine` é a vitrine em que o curso aparece na área do aluno, ou `null` se ele não estiver em nenhuma. Se o curso não existir, a resposta é `409` com a mensagem "Produto não encontrado.".

:::dica
Para ver as aulas de um curso, use a rota `GET /item/lista_por_produto/{id}`, descrita em [Aula](/configuracoes/api-aula).
:::
