Solicitar Cotação CLT
Requisição
Endpoint
- Método: POST
- Endpoint:
/v2/quotes
Parâmetros (Body)
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| productCode | string | ✅ | Código do produto de seguro |
| loanAmount | number | ✅ | Valor do crédito tomado pelo cliente |
| loanPeriodInMonths | integer (1–600) | ✅ | Duração do empréstimo em meses |
| nominalRate | number (0,0001–1,0) | ✅ | Taxa nominal mensal do contrato (ex.: 0.02 para 2% a.m.) |
| premiumPaymentMethod | "DiscountedFromDisbursement" | "Financed" | ✅ | Como o prêmio é cobrado: descontado do valor liberado ou financiado |
| iofPaymentMethod | "DiscountedFromDisbursement" | "Financed" | ✅ | Como o IOF é cobrado: descontado do valor liberado ou financiado |
| loanPmtAmount | number | ❌ | Valor da parcela do crédito (não do seguro). Persistido na cotação e reaproveitado na criação da proposta. Default quando omitido: null — a proposta deverá enviá-lo posteriormente. |
| firstPmtDueDate | string (date-time) | ❌ | Data de vencimento da primeira parcela. Quando informada, o motor de CET considera o intervalo entre o desembolso e a primeira parcela ("carência") na precificação do teto de prêmio. Default quando omitido: intervalo padrão de 1 mês — equivalente a desconsiderar a carência. |
| disbursementDate | string (date-time) | ❌ | Data de desembolso, usada como âncora do cálculo da carência junto a firstPmtDueDate. Default quando omitido: UtcNow (instante de criação da cotação). |
| iofAmount | number | ❌ | IOF total a ser aplicado, quando o parceiro já o calcula em sua memória. Default quando omitido: cálculo interno simplificado — alíquota fixa de 0,38% + 0,0082% ao dia × loanPeriodInMonths × 30, com o componente diário limitado a 3% do principal. |
Exemplo de body
{
"productCode": "mock-product-code",
"loanAmount": 10000.0,
"loanPeriodInMonths": 24,
"nominalRate": 0.02,
"premiumPaymentMethod": "DiscountedFromDisbursement",
"iofPaymentMethod": "Financed",
"firstPmtDueDate": "2026-08-01T00:00:00Z",
"disbursementDate": "2026-04-27T00:00:00Z",
"iofAmount": 52.2
}
Resposta
Campos da resposta (200)
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | string (uuid) | Identificador da cotação |
| partnerId | string (uuid) | Identificador do parceiro que efetuou a cotação |
| loan.loanAmount | number | Valor do crédito |
| loan.periodInMonths | integer | Duração do empréstimo |
| loan.nominalRate | number | Taxa nominal mensal informada |
| loan.pmtAmount | number | null | Valor da parcela do crédito, quando informado na requisição |
| loan.firstPmtDueDate | string (date-time) | null | Data da primeira parcela, quando informada |
| premium | number | Prêmio do seguro respeitando o teto de CET |
| createdAt | string (date-time) | Data de criação |
| updatedAt | string (date-time) | Data da última atualização |
Exemplo (200)
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"partnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"premium": 830.18,
"loan": {
"loanAmount": 10000.0,
"periodInMonths": 24,
"firstPmtDueDate": "2026-08-01T00:00:00Z",
"nominalRate": 0.02
},
"createdAt": "2026-04-25T14:22:31Z",
"updatedAt": "2026-04-25T14:22:31Z"
}
Erros
| Código HTTP | code | Quando ocorre |
|---|---|---|
| 404 | NOT_FOUND | productCode não corresponde a nenhum produto disponível para o parceiro |
| 422 | NO_RATE_CONFIG | A combinação de nominalRate × loanPeriodInMonths não cai em nenhuma faixa da tabela de comissão do produto |
| 422 | CET_BUDGET_EXCEEDED | Os custos não-prêmio (IOF + tarifas futuras) já consomem todo o orçamento de 1pp; impossível precificar seguro |
| 422 | INVALID_FIRST_PMT_DATE | firstPmtDueDate informada é anterior ou igual ao instante atual |
Exemplo (422 – NO_RATE_CONFIG)
{
"code": "NO_RATE_CONFIG",
"message": "No commission band matches rate 0.001 and period 24 for product mock-product-code"
}