# Obter Produto

> Retorna os detalhes de um produto específico pelo ID.

`GET https://crm.wavups.com/api/v1/product/{id}`

Página: https://crm.wavups.com/docs/api/produtos/obter

## Requisição

- `Token` (string, obrigatório, header):
  Seu token de autenticação.

### Path Parameters

- `id` (string, obrigatório, path):
  ID do produto a ser recuperado.

---

## Resposta

Retorna o objeto do produto. Os campos `accountId` e `updatedAt` são omitidos.

- `id` (string):
  Identificador único do produto.

- `accountCategoryId` (string):
  ID da categoria do produto.

- `name` (string):
  Nome do produto.

- `description` (string | null):
  Descrição do produto.

- `images` (array | null):
  Lista de URLs de imagens do produto.

- `price` (number):
  Preço do produto.

- `billingType` (string):
  Tipo de cobrança. Valores: `ONE_TIME`, `WEEKLY`, `MONTHLY`, `YEARLY`.

- `hourlyAppointments` (number | null):
  Duração em horas para agendamentos.

- `status` (string):
  Status do produto (ex: `active`, `inactive`).

- `createdAt` (string):
  Data de criação (ISO 8601).

---

## Exemplos

### Exemplo de requisição

```bash GET /api/v1/product/{id}
curl --request GET \
  --url 'https://crm.wavups.com/api/v1/product/prod_001' \
  --header 'X-Account-Id: acc_123'
```

### Exemplo de resposta

```json 200
{
  "id": "prod_001",
  "accountCategoryId": "cat_abc123",
  "name": "Consulta Inicial",
  "description": "Consulta de 1 hora para novos clientes",
  "images": null,
  "price": 150.00,
  "billingType": "ONE_TIME",
  "hourlyAppointments": 1,
  "status": "active",
  "createdAt": "2025-05-10T09:00:00.000Z"
}
```

```json 404
{
  "error": "Product not found"
}
```

```json 500
{
  "error": "Error to get product"
}
```
