# API do AgendAI (leitura) — Metas

Guia de uso (login, convenções, erros): https://api-docs.agendai.pro/md/guia.md


Metas comerciais e o realizado contra elas.

- `GET /metas` — Lista as metas (objetivos) de vendas de um ano
- `GET /metas/realizados` — Vendas realizadas que contam para as metas (lista paginada)
- `GET /metas/dashboard` — Painel anual de metas x realizado, por produto e classe

### GET /metas

**Lista as metas (objetivos) de vendas de um ano** · operationId `listarMetas`

Autenticação: `Authorization: Bearer <token>`.

Devolve as **metas cadastradas** do tenant para um ano. Uma meta é um **objetivo mensal por produto e classe**: a combinação
(`produtoId`, `classe`, `ano`, `mes`) é única no tenant. **Não há meta por vendedor ou por equipe**: as metas são globais ao tenant.

- `classe`: `NOVO` (venda nova) ou `ADITIVO` (aditivo a cliente existente). É a classificação do tipo de projeto da venda: `ADITIVO` = tipo
  "Aditivo"; `NOVO` = "Implantação e Consultoria" ou "CS" (nomes comparados sem acento, sem diferenciar maiúsculas e sem espaços nas pontas).
  Qualquer outro tipo (ex.: "Serviço de base") nunca entra no realizado.
- `quantidadeMeta`: número inteiro de vendas desejadas no mês. No dashboard, vale tanto para MRR quanto para serviço.
- `valorSaasMeta`: meta de **MRR** (receita recorrente mensal do SaaS) do mês, em **reais**, número JSON (não string, não centavos).
- `valorServicoMeta`: meta de **valor de serviço** (implantação/setup, receita não recorrente) do mês, em **reais**, número JSON.
- `mes`: 1 a 12. Só existem linhas para os meses efetivamente cadastrados (meses sem meta não aparecem aqui).
- Ordem: nome do produto, depois `classe`, depois `mes`. O corpo é um **array simples** (sem paginação).

Esta rota traz só os **objetivos**; o **realizado** vem de `GET /metas/dashboard` (agregado) e `GET /metas/realizados` (vendas uma a uma).
Escopo de dados: metas não são filtradas por vendedor.

## Permissão
Qualquer usuário autenticado do tenant: o código não aplica checagem de capacidade nem de tela nesta rota (a leitura dos *realizados* é que é
restrita ao Comercial/Administração). Não há `403` específico.

#### Parâmetros

| Nome | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
| `ano` | query | integer; mín. 1 | sim | Ano das metas (inteiro maior ou igual a 1). Ex.: `2026` |
| `produtoId` | query | string (uuid) | não | Restringe a um produto (UUID; o mesmo `produto.id` dos itens de `GET /oportunidades`). Ex.: `5a1e9c47-2b60-4f8d-8e13-6d0a4b92c7f1` |
| `classe` | query | string — um de: `ADITIVO`, `NOVO` | não | Restringe a uma classe de meta. Ex.: `NOVO` |

#### Resposta 200

Metas do ano (array, possivelmente vazio).

Tipo da raiz: MetasMeta[]

| Campo | Tipo | Sempre presente | Descrição |
|---|---|---|---|
| `[].id` | string (uuid) | sim |  |
| `[].produtoId` | string (uuid) | sim |  |
| `[].produtoNome` | string | sim | Vazio se o produto não tem nome. |
| `[].classe` | string — um de: `ADITIVO`, `NOVO` | sim |  |
| `[].ano` | integer | sim |  |
| `[].mes` | integer | sim |  |
| `[].quantidadeMeta` | integer | sim | Nº de vendas desejadas no mês. |
| `[].valorSaasMeta` | number | sim | Meta de MRR do mês, em reais. |
| `[].valorServicoMeta` | number | sim | Meta de valor de serviço do mês, em reais. |

Exemplo (dados fictícios):

```json
[
  {
    "id": "a3e5c7b9-1d20-4f46-8b68-0c2e4a6d8f10",
    "produtoId": "5a1e9c47-2b60-4f8d-8e13-6d0a4b92c7f1",
    "produtoNome": "Produto Exemplo",
    "classe": "NOVO",
    "ano": 2026,
    "mes": 1,
    "quantidadeMeta": 2,
    "valorSaasMeta": 3000,
    "valorServicoMeta": 10000
  },
  {
    "id": "b4f6d8ca-2e31-4057-9c79-1d3f5b7e9a21",
    "produtoId": "5a1e9c47-2b60-4f8d-8e13-6d0a4b92c7f1",
    "produtoNome": "Produto Exemplo",
    "classe": "NOVO",
    "ano": 2026,
    "mes": 2,
    "quantidadeMeta": 2,
    "valorSaasMeta": 3000,
    "valorServicoMeta": 10000
  }
]
```

#### Erros

- **400**: Parâmetros inválidos. `message` é uma lista com um item por problema, no formato `campo: motivo`.
- **401**: Token ausente, inválido, expirado ou de usuário desativado. Faça login de novo.

---

### GET /metas/realizados

**Vendas realizadas que contam para as metas (lista paginada)** · operationId `listarMetasRealizados`

Autenticação: `Authorization: Bearer <token>`.

Lista, uma a uma, as **vendas realizadas** que alimentam o "realizado" das metas. É o detalhe do que `GET /metas/dashboard` soma, com os mesmos filtros
e a mesma regra, de modo que os totais reconciliam.

## De onde vem o realizado
Fonte exclusiva: os **formulários comerciais** (`formulario_comercial`). Um formulário entra quando:
- está `CONCLUIDO`;
- é **venda do Comercial** (foto gravada na conclusão; sem foto, vale o cadastro atual do vendedor: vendedor não comissionado fica de fora);
- tem **produto principal** (o produto marcado como principal; ele define `produtoId`/`produtoNome`);
- o tipo de projeto o classifica como `ADITIVO` (tipo "Aditivo") ou `NOVO` ("Implantação e Consultoria" ou "CS"; nomes comparados sem acento,
  sem diferenciar maiúsculas e sem espaços nas pontas). Formulário sem classe (ex.: "Serviço de base") nunca entra, mesmo sem filtro de `classe`.

Cada formulário pode gerar até **dois eventos**, conforme `metrica`: `MRR` (usa a data de assinatura do SaaS e o valor mensal do SaaS, `valorSaasMensal` > 0)
e `SERVICO` (usa a data de assinatura do serviço e o valor de serviço, `valorServico` > 0). O evento só existe se o valor correspondente for positivo.
O ano/mês é o da **data de assinatura de cada evento** (janela UTC `[início, fim)`), não da data de criação.
Nesta lista, um formulário com os dois eventos aparece **uma única vez** (o evento de data mais recente; em empate, `MRR`).
`total` conta formulários distintos. No dashboard, os mesmos formulários são contados em cada métrica (podem entrar em MRR e em serviço).

## Unidades
`valorSaasMensal`, `valorServico`, `valorComissao` e `os.valorTotal` são **números JSON em reais**, `null` quando ausentes. As datas são instantes ISO 8601 em UTC
(datas de assinatura normalmente à meia-noite UTC). `dataVenda` e `dataAssinatura` são iguais e correspondem à data de referência do evento exibido.
`os` é a primeira ordem de serviço paga ligada à comissão da venda (`null` se não houver); `os.pagamentoStatus`: `PAGA`, `PARCIAL`, `PENDENTE` ou `SEM_RECEBIVEL`.

## Filtros e paginação
`ano` obrigatório; `mes`, `vendedorId`, `produtoId`, `classe`, `metrica` opcionais. Ordenação fixa: `dataVenda` desc, `id` desc. `page` a partir de 1, `pageSize` padrão 20, máximo 200;
`pagination.totalPages = ceil(total / pageSize)`.

## Permissão e escopo
Exige a capacidade **`LER_METAS`**: na regra legada, `type` do usuário igual a `ADMIN` ou `COMERCIAL` (papel de dono/admin ou gestor de outro setor não basta); com o acesso por setor ligado, dono/administrador ou membro/gestor do setor Comercial.
Sem ela: `403`. Além disso, o **escopo de dados** (`META`) restringe as linhas: escopo total vê todos os vendedores; usuário vinculado a um vendedor vê **somente as vendas dele**
(`vendedorId` do filtro só reduz ainda mais); sem escopo, a lista vem vazia.
Escopo total: administrador, gestor e qualquer usuário fora do Comercial (com `ESCOPO_COMERCIAL` desligado, o padrão); só o usuário do Comercial que não é
gestor fica restrito ao seu vendedor. Com `ACESSO_POR_SETOR` e `ESCOPO_COMERCIAL` ligados: Dono/Admin e gestor do Comercial veem tudo; membro do Comercial
vê só o seu vendedor.

#### Parâmetros

| Nome | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
| `ano` | query | integer; mín. 1 | sim | Ano das assinaturas (inteiro maior ou igual a 1). Ex.: `2026` |
| `mes` | query | integer; mín. 1; máx. 12 | não | Mês das assinaturas (1 a 12). Sem ele, o ano inteiro. Ex.: `11` |
| `vendedorId` | query | string (uuid) | não | UUID do vendedor da venda. Ex.: `0b8f6a52-3c41-4d0e-9a77-5f2d1c6e8a10` |
| `produtoId` | query | string (uuid) | não | UUID do produto principal da venda. Ex.: `5a1e9c47-2b60-4f8d-8e13-6d0a4b92c7f1` |
| `classe` | query | string — um de: `ADITIVO`, `NOVO` | não | Classe da venda. Ex.: `NOVO` |
| `metrica` | query | string — um de: `MRR`, `SERVICO` | não | Só eventos desta métrica: `MRR` (recorrente) ou `SERVICO` (implantação/serviço). Ex.: `MRR` |
| `page` | query | integer; padrão `1`; mín. 1 | não | Número da página, a partir de 1. Ex.: `1` |
| `pageSize` | query | integer; padrão `20`; mín. 1; máx. 200 | não | Itens por página (1 a 200). Ex.: `20` |

#### Resposta 200

Página de vendas realizadas.

Tipo da raiz: MetasRealizadosLista

| Campo | Tipo | Sempre presente | Descrição |
|---|---|---|---|
| `data` | MetasRealizadoVenda[] | sim |  |
| `data[].id` | string (uuid) | sim | Id do formulário comercial. |
| `data[].origem` | string — um de: `FORMULARIO` | sim |  |
| `data[].status` | string — um de: `CONCLUIDO` | sim |  |
| `data[].classe` | string — um de: `ADITIVO`, `NOVO` | sim |  |
| `data[].vendedorId` | string (uuid) | sim |  |
| `data[].vendedorNome` | string \| null | sim |  |
| `data[].clienteNome` | string \| null | sim |  |
| `data[].projetoId` | string (uuid) \| null | sim |  |
| `data[].projetoNome` | string \| null | sim |  |
| `data[].produtoId` | string (uuid) | sim | Produto principal. |
| `data[].produtoNome` | string \| null | sim |  |
| `data[].tipoProjetoId` | string (uuid) \| null | sim |  |
| `data[].tipoProjetoNome` | string \| null | sim |  |
| `data[].metrica` | string — um de: `MRR`, `SERVICO` | sim | Evento exibido (o de data mais recente quando o formulário tem os dois). |
| `data[].dataVenda` | string (date-time) | sim | Data de referência do evento (igual a `dataAssinatura`). |
| `data[].dataAssinatura` | string (date-time) | sim |  |
| `data[].dataAssinaturaSaas` | string (date-time) \| null | sim |  |
| `data[].dataAssinaturaServico` | string (date-time) \| null | sim |  |
| `data[].valorSaasMensal` | number \| null | sim | MRR do SaaS, em reais. |
| `data[].valorServico` | number \| null | sim | Valor de serviço, em reais. |
| `data[].valorComissao` | number \| null | sim | Comissão da venda, em reais. |
| `data[].os` | MetasRealizadoOs \| qualquer \| null | sim | Primeira OS paga ligada à comissão. |
| `pagination` | object | sim |  |
| `pagination.page` | integer | sim |  |
| `pagination.pageSize` | integer | sim |  |
| `pagination.total` | integer | sim |  |
| `pagination.totalPages` | integer | sim |  |

Exemplo (dados fictícios):

```json
{
  "data": [
    {
      "id": "c5a7e9d1-3f42-4168-8a8a-2e4c6b8d0f32",
      "origem": "FORMULARIO",
      "status": "CONCLUIDO",
      "classe": "NOVO",
      "vendedorId": "0b8f6a52-3c41-4d0e-9a77-5f2d1c6e8a10",
      "vendedorNome": "Vendedor Exemplo",
      "clienteNome": "Empresa Alfa Ltda",
      "projetoId": "4f0a8c36-1e92-4d7b-8c05-9a3e6b1d2f70",
      "projetoNome": "Implantação Alfa",
      "produtoId": "5a1e9c47-2b60-4f8d-8e13-6d0a4b92c7f1",
      "produtoNome": "Produto Exemplo",
      "tipoProjetoId": "8e2d4a60-9b13-4c75-a0f8-1b6c3d7e9f42",
      "tipoProjetoNome": "Implantação",
      "metrica": "MRR",
      "dataVenda": "2026-11-05T00:00:00.000Z",
      "dataAssinatura": "2026-11-05T00:00:00.000Z",
      "dataAssinaturaSaas": "2026-11-05T00:00:00.000Z",
      "dataAssinaturaServico": "2026-11-03T00:00:00.000Z",
      "valorSaasMensal": 1500,
      "valorServico": 8000,
      "valorComissao": 450.75,
      "os": {
        "id": 1234,
        "numOs": "000123",
        "valorTotal": 8000,
        "dataFaturamento": "2026-11-10T00:00:00.000Z",
        "dataVencimento": "2026-11-25T00:00:00.000Z",
        "pagamentoStatus": "PENDENTE",
        "dataPagamento": null
      }
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 20,
    "total": 1,
    "totalPages": 1
  }
}
```

#### Erros

- **400**: Parâmetros inválidos. `message` é uma lista com um item por problema, no formato `campo: motivo`.
- **401**: Token ausente, inválido, expirado ou de usuário desativado. Faça login de novo.
- **403**: O usuário do token não tem a permissão exigida pela rota.

---

### GET /metas/dashboard

**Painel anual de metas x realizado, por produto e classe** · operationId `obterMetasDashboard`

Autenticação: `Authorization: Bearer <token>`.

Para um ano, cruza as **metas** cadastradas com o **realizado** e devolve uma linha por (produto, classe), cada uma com os 12 meses e os 4 trimestres. É a
pergunta "estamos batendo as metas?".

## Como é calculado
- **Meta** (por mês): de `GET /metas`. `quantidadeMrr` e `quantidadeServico` recebem a mesma `quantidadeMeta`; `saas` = `valorSaasMeta` (MRR em reais); `servico` = `valorServicoMeta`
  (reais). Mês sem meta cadastrada = tudo 0.
- **Realizado** (por mês): mesma fonte e regras de `GET /metas/realizados` (formulários comerciais concluídos, venda do Comercial, produto principal, classe ADITIVO/NOVO; ver aquela rota).
  `quantidadeMrr` = nº de vendas com assinatura SaaS no mês e MRR positivo; `saas` = soma do MRR mensal dessas vendas (reais); `quantidadeServico` = nº de vendas com assinatura de serviço no mês e valor
  de serviço positivo; `servico` = soma desses valores (reais). O mês é o da data de assinatura (UTC). Não há ligação com faturamento ou pagamento: venda assinada e não paga também conta.
- **`atingimento`**: percentual **de 0 a 100 ou mais** (não é fração 0-1) = `realizado / meta × 100`, arredondado a 1 casa decimal, em cada uma das 4 medidas. **Meta 0 resulta em 0** (não nulo, não infinito),
  mesmo que haja realizado.
- **Trimestres** (`tri` 1 a 4 = jan-mar, abr-jun, jul-set, out-dez): soma dos 3 meses de meta e de realizado; o `atingimento` é recalculado sobre as somas (não é média dos meses).
- Só aparecem linhas (produto, classe) que tenham meta **ou** realizado no ano; cada linha sempre traz os 12 meses e 4 trimestres (zerados quando vazios). Ordenação: nome do produto, depois classe.
  Realizado de formulário sem classe ou sem produto principal não aparece.

## Permissão e escopo
Qualquer usuário autenticado: não há checagem de capacidade nesta rota (diferente de `/metas/realizados`, que dá `403`). As **metas** são globais do tenant e aparecem para todos; o **realizado** respeita
o escopo de dados `META`: escopo total soma todos os vendedores; usuário vinculado a um vendedor soma só as vendas dele; sem escopo, o realizado vem zerado (não há erro). Dois usuários podem, portanto, ver
o mesmo `meta` com `realizado` e `atingimento` diferentes.

Escopo total do realizado: administrador, gestor e qualquer usuário fora do Comercial (com `ESCOPO_COMERCIAL` desligado, o padrão). Só o usuário do
Comercial que não é gestor fica restrito ao seu vendedor. Com `ACESSO_POR_SETOR` e `ESCOPO_COMERCIAL` ligados: Dono/Admin e gestor do Comercial veem
tudo; membro do Comercial vê só o seu vendedor; os demais, nada.

#### Parâmetros

| Nome | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
| `ano` | query | integer; mín. 1 | sim | Ano do painel (inteiro maior ou igual a 1). Ex.: `2026` |

#### Resposta 200

Painel do ano.

Tipo da raiz: MetasDashboard

| Campo | Tipo | Sempre presente | Descrição |
|---|---|---|---|
| `ano` | integer | sim |  |
| `linhas` | object[] | sim |  |
| `linhas[].produtoId` | string (uuid) | sim |  |
| `linhas[].produtoNome` | string | sim | Vazio se o produto não tem nome. |
| `linhas[].classe` | string — um de: `ADITIVO`, `NOVO` | sim |  |
| `linhas[].meses` | MetasDashboardMes[] | sim |  |
| `linhas[].meses[].mes` | integer | sim |  |
| `linhas[].meses[].meta` | MetasDashboardValores | sim | Quatro medidas. Em `meta` e `realizado` são quantidades e reais; em `atingimento` são percentuais (0 a 100 ou mais, 1 casa decimal; 0 quando a meta é 0). |
| `linhas[].meses[].meta.quantidadeMrr` | number | sim | Nº de vendas com MRR (inteiro em meta/realizado). |
| `linhas[].meses[].meta.saas` | number | sim | MRR em reais. |
| `linhas[].meses[].meta.quantidadeServico` | number | sim | Nº de vendas com valor de serviço. |
| `linhas[].meses[].meta.servico` | number | sim | Valor de serviço em reais. |
| `linhas[].meses[].realizado` | MetasDashboardValores | sim | Quatro medidas. Em `meta` e `realizado` são quantidades e reais; em `atingimento` são percentuais (0 a 100 ou mais, 1 casa decimal; 0 quando a meta é 0). |
| `linhas[].meses[].realizado.quantidadeMrr` | number | sim | Nº de vendas com MRR (inteiro em meta/realizado). |
| `linhas[].meses[].realizado.saas` | number | sim | MRR em reais. |
| `linhas[].meses[].realizado.quantidadeServico` | number | sim | Nº de vendas com valor de serviço. |
| `linhas[].meses[].realizado.servico` | number | sim | Valor de serviço em reais. |
| `linhas[].meses[].atingimento` | MetasDashboardValores | sim | Quatro medidas. Em `meta` e `realizado` são quantidades e reais; em `atingimento` são percentuais (0 a 100 ou mais, 1 casa decimal; 0 quando a meta é 0). |
| `linhas[].meses[].atingimento.quantidadeMrr` | number | sim | Nº de vendas com MRR (inteiro em meta/realizado). |
| `linhas[].meses[].atingimento.saas` | number | sim | MRR em reais. |
| `linhas[].meses[].atingimento.quantidadeServico` | number | sim | Nº de vendas com valor de serviço. |
| `linhas[].meses[].atingimento.servico` | number | sim | Valor de serviço em reais. |
| `linhas[].trimestres` | MetasDashboardTrimestre[] | sim |  |
| `linhas[].trimestres[].tri` | integer | sim |  |
| `linhas[].trimestres[].meta` | MetasDashboardValores | sim | Quatro medidas. Em `meta` e `realizado` são quantidades e reais; em `atingimento` são percentuais (0 a 100 ou mais, 1 casa decimal; 0 quando a meta é 0). |
| `linhas[].trimestres[].meta.quantidadeMrr` | number | sim | Nº de vendas com MRR (inteiro em meta/realizado). |
| `linhas[].trimestres[].meta.saas` | number | sim | MRR em reais. |
| `linhas[].trimestres[].meta.quantidadeServico` | number | sim | Nº de vendas com valor de serviço. |
| `linhas[].trimestres[].meta.servico` | number | sim | Valor de serviço em reais. |
| `linhas[].trimestres[].realizado` | MetasDashboardValores | sim | Quatro medidas. Em `meta` e `realizado` são quantidades e reais; em `atingimento` são percentuais (0 a 100 ou mais, 1 casa decimal; 0 quando a meta é 0). |
| `linhas[].trimestres[].realizado.quantidadeMrr` | number | sim | Nº de vendas com MRR (inteiro em meta/realizado). |
| `linhas[].trimestres[].realizado.saas` | number | sim | MRR em reais. |
| `linhas[].trimestres[].realizado.quantidadeServico` | number | sim | Nº de vendas com valor de serviço. |
| `linhas[].trimestres[].realizado.servico` | number | sim | Valor de serviço em reais. |
| `linhas[].trimestres[].atingimento` | MetasDashboardValores | sim | Quatro medidas. Em `meta` e `realizado` são quantidades e reais; em `atingimento` são percentuais (0 a 100 ou mais, 1 casa decimal; 0 quando a meta é 0). |
| `linhas[].trimestres[].atingimento.quantidadeMrr` | number | sim | Nº de vendas com MRR (inteiro em meta/realizado). |
| `linhas[].trimestres[].atingimento.saas` | number | sim | MRR em reais. |
| `linhas[].trimestres[].atingimento.quantidadeServico` | number | sim | Nº de vendas com valor de serviço. |
| `linhas[].trimestres[].atingimento.servico` | number | sim | Valor de serviço em reais. |

Exemplo (dados fictícios):

```json
{
  "ano": 2026,
  "linhas": [
    {
      "produtoId": "5a1e9c47-2b60-4f8d-8e13-6d0a4b92c7f1",
      "produtoNome": "Produto Exemplo",
      "classe": "NOVO",
      "meses": [
        {
          "mes": 1,
          "meta": {
            "quantidadeMrr": 2,
            "saas": 3000,
            "quantidadeServico": 2,
            "servico": 10000
          },
          "realizado": {
            "quantidadeMrr": 2,
            "saas": 3200,
            "quantidadeServico": 1,
            "servico": 9000
          },
          "atingimento": {
            "quantidadeMrr": 100,
            "saas": 106.7,
            "quantidadeServico": 50,
            "servico": 90
          }
        },
        {
          "mes": 2,
          "meta": {
            "quantidadeMrr": 2,
            "saas": 3000,
            "quantidadeServico": 2,
            "servico": 10000
          },
          "realizado": {
            "quantidadeMrr": 1,
            "saas": 1500,
            "quantidadeServico": 2,
            "servico": 12000
          },
          "atingimento": {
            "quantidadeMrr": 50,
            "saas": 50,
            "quantidadeServico": 100,
            "servico": 120
          }
        },
        {
          "mes": 3,
          "meta": {
            "quantidadeMrr": 2,
            "saas": 3000,
            "quantidadeServico": 2,
            "servico": 10000
          },
          "realizado": {
            "quantidadeMrr": 3,
            "saas": 4500,
            "quantidadeServico": 3,
            "servico": 15000
          },
          "atingimento": {
            "quantidadeMrr": 150,
            "saas": 150,
            "quantidadeServico": 150,
            "servico": 150
          }
        },
        {
          "mes": 4,
          "meta": {
            "quantidadeMrr": 2,
            "saas": 3000,
            "quantidadeServico": 2,
            "servico": 10000
          },
          "realizado": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          },
          "atingimento": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          }
        },
        {
          "mes": 5,
          "meta": {
            "quantidadeMrr": 2,
            "saas": 3000,
            "quantidadeServico": 2,
            "servico": 10000
          },
          "realizado": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          },
          "atingimento": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          }
        },
        {
          "mes": 6,
          "meta": {
            "quantidadeMrr": 2,
            "saas": 3000,
            "quantidadeServico": 2,
            "servico": 10000
          },
          "realizado": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          },
          "atingimento": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          }
        },
        {
          "mes": 7,
          "meta": {
            "quantidadeMrr": 2,
            "saas": 3000,
            "quantidadeServico": 2,
            "servico": 10000
          },
          "realizado": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          },
          "atingimento": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          }
        },
        {
          "mes": 8,
          "meta": {
            "quantidadeMrr": 2,
            "saas": 3000,
            "quantidadeServico": 2,
            "servico": 10000
          },
          "realizado": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          },
          "atingimento": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          }
        },
        {
          "mes": 9,
          "meta": {
            "quantidadeMrr": 2,
            "saas": 3000,
            "quantidadeServico": 2,
            "servico": 10000
          },
          "realizado": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          },
          "atingimento": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          }
        },
        {
          "mes": 10,
          "meta": {
            "quantidadeMrr": 2,
            "saas": 3000,
            "quantidadeServico": 2,
            "servico": 10000
          },
          "realizado": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          },
          "atingimento": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          }
        },
        {
          "mes": 11,
          "meta": {
            "quantidadeMrr": 2,
            "saas": 3000,
            "quantidadeServico": 2,
            "servico": 10000
          },
          "realizado": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          },
          "atingimento": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          }
        },
        {
          "mes": 12,
          "meta": {
            "quantidadeMrr": 2,
            "saas": 3000,
            "quantidadeServico": 2,
            "servico": 10000
          },
          "realizado": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          },
          "atingimento": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          }
        }
      ],
      "trimestres": [
        {
          "tri": 1,
          "meta": {
            "quantidadeMrr": 6,
            "saas": 9000,
            "quantidadeServico": 6,
            "servico": 30000
          },
          "realizado": {
            "quantidadeMrr": 6,
            "saas": 9200,
            "quantidadeServico": 6,
            "servico": 36000
          },
          "atingimento": {
            "quantidadeMrr": 100,
            "saas": 102.2,
            "quantidadeServico": 100,
            "servico": 120
          }
        },
        {
          "tri": 2,
          "meta": {
            "quantidadeMrr": 6,
            "saas": 9000,
            "quantidadeServico": 6,
            "servico": 30000
          },
          "realizado": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          },
          "atingimento": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          }
        },
        {
          "tri": 3,
          "meta": {
            "quantidadeMrr": 6,
            "saas": 9000,
            "quantidadeServico": 6,
            "servico": 30000
          },
          "realizado": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          },
          "atingimento": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          }
        },
        {
          "tri": 4,
          "meta": {
            "quantidadeMrr": 6,
            "saas": 9000,
            "quantidadeServico": 6,
            "servico": 30000
          },
          "realizado": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          },
          "atingimento": {
            "quantidadeMrr": 0,
            "saas": 0,
            "quantidadeServico": 0,
            "servico": 0
          }
        }
      ]
    }
  ]
}
```

#### Erros

- **400**: Parâmetros inválidos. `message` é uma lista com um item por problema, no formato `campo: motivo`.
- **401**: Token ausente, inválido, expirado ou de usuário desativado. Faça login de novo.
