API & MCP

Propostas

GET/api/v1/proposals

Lista as propostas da sua conta, das mais recentes para as mais antigas. Serve para o seu CRM puxar o que foi gerado pela API, pela página de captação e pelo painel, tudo na mesma lista. Chave viva apenas.

curl "https://app.ionluz.com.br/api/v1/proposals?limit=20&origem=api" \
  -H "Authorization: Bearer ilz_sua_chave"
ParâmetroTipoDescrição
limitintegerItens por página, de 1 a 100. Padrão 20. Fora da faixa devolve 400 parametro-invalido.
cursorstringO nextCursor da página anterior. Sem ele, você recebe a primeira página.
origemstringmanual (feita no painel), api (gravada pela API ou pelo MCP) ou lead (página pública de captação).

A lista depois da gravação do exemplo de Cotação:

{
  "ok": true,
  "items": [
    {
      "id": "clx8h2k9a0001abcd",
      "numero": 1,
      "origem": "api",
      "criadaEm": "2026-09-25T14:05:00.000Z",
      "abertaEm": null,
      "potenciaKwp": 5.72,
      "valorFinal": 14296.8,
      "paybackAnos": 2.1406530441031313,
      "cliente": {
        "nome": "Cliente Exemplo",
        "email": "cliente@exemplo.com.br",
        "telefone": "(15) 99999-0000",
        "cidade": "Sorocaba",
        "uf": "SP"
      },
      "links": {
        "proposta": "https://app.ionluz.com.br/p/clx8h2k9a0001abcd?t=...",
        "pdf": "https://app.ionluz.com.br/api/pub/clx8h2k9a0001abcd/pdf?t=..."
      }
    }
  ],
  "nextCursor": null,
  "limit": 20,
  "requestId": "req_9f2c1a7b3d4e5f6a90"
}

Pagine enquanto nextCursor vier preenchido; null significa fim da lista. Os links já vêm assinados e podem ir direto ao cliente final. A lista traz preço de venda e dados do lead, nunca custo, margem ou a composição interna do kit. No painel, a mesma proposta aparece em Propostas com a origem "API".

GET/api/v1/proposals/{id}

Mesma estrutura de item, agora sob a chave proposta. Um id que não seja da sua conta responde 404 proposta-nao-encontrada, o mesmo de um id que não existe: a API não confirma a existência de proposta alheia.

curl https://app.ionluz.com.br/api/v1/proposals/clx8h2k9a0001abcd -H "Authorization: Bearer ilz_sua_chave"

Contas com o motor novo

O item ganha aprovacao (na proposta que passou por "eu aprovo antes": pendente, aprovada ou recusada) e publicacao (como o preço foi publicado ao cliente: exato, faixa ou contato). Enquanto o cliente não vê o preço (pendente, recusada ou publicação por contato), valorFinal e paybackAnos vêm null. Em faixa, valorFinal é o centro da faixa que o cliente viu: não repasse como valor exato.

{
  "items": [
    {
      "id": "clx8h2k9a0001abcd",
      "origem": "api",
      "potenciaKwp": 5.72,
      "valorFinal": null,
      "paybackAnos": null,
      "aprovacao": "pendente",
      "publicacao": "faixa",
      "...": "..."
    }
  ],
  "...": "..."
}
API v1 · ionluz, propostas solares honestas. Dúvidas? Cite o requestId ao escrever para suporte@ionluz.com.br.
Propostas, GET /api/v1/proposals · API ionluz