# Criar Produto

> Cria um novo produto para a conta autenticada.

`POST https://crm.wavups.com/api/v1/product`

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

## Requisição

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

### Body

- `accountCategoryId` (string, obrigatório, body):
  ID da categoria à qual o produto pertence.

- `name` (string, obrigatório, body):
  Nome do produto.

- `price` (number, obrigatório, body):
  Preço do produto.

- `billingType` (string, body):
  Tipo de cobrança. Valores aceitos: `ONE_TIME`, `WEEKLY`, `MONTHLY`, `YEARLY`. Padrão: `ONE_TIME`.

- `description` (string, body):
  Descrição do produto.

- `images` (array, body):
  Lista de URLs de imagens do produto.

- `hourlyAppointments` (number, body):
  Duração em horas para agendamentos. Usado quando o produto gera um agendamento.

- `status` (string, body):
  Status do produto. Padrão: `active`.

---

## Resposta

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

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

- `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.

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

- `billingType` (string):
  Tipo de cobrança do produto.

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

- `status` (string):
  Status do produto.

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

---

## Exemplos

### Exemplo de requisição

```bash POST /api/v1/product
curl --request POST \
  --url 'https://crm.wavups.com/api/v1/product' \
  --header 'X-Account-Id: acc_123' \
  --header 'Content-Type: application/json' \
  --data '{
  "accountCategoryId": "cat_abc123",
  "name": "Plano Mensal",
  "price": 299.90,
  "billingType": "RECURRING",
  "description": "Acesso completo por 30 dias",
  "status": "active"
  }'
```

### Exemplo de resposta

```json 201
{
  "id": "prod_002",
  "accountCategoryId": "cat_abc123",
  "name": "Plano Mensal",
  "description": "Acesso completo por 30 dias",
  "images": null,
  "price": 299.90,
  "billingType": "RECURRING",
  "hourlyAppointments": null,
  "status": "active",
  "createdAt": "2025-06-20T10:00:00.000Z",
  "updatedAt": "2025-06-20T10:00:00.000Z"
}
```

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