Consultar produto
Retorna o envelope de venda de um produto habilitado para a sua integração: as coberturas ativas com seus espaços de opções, as dependências entre coberturas, os seus valores padrão e a sua faixa de comissão. Com essa resposta você tem tudo o que precisa para montar uma cotação válida.
Request
ENDPOINT
/v1/product_catalog/products/{product_key}MÉTODO
GETPath params
| Parâmetro | Tipo | Obrigatoriedade | Descrição |
|---|---|---|---|
product_key | string | obrigatório | Chave do produto, obtida na listagem de produtos. |
Response
STATUS
200Response Body
{
"product_key": "9d1f8c7a-3b21-4e60-8a2f-1c5d7e9b0a44",
"name": "Prestamista Master",
"product_category": "insurance",
"insurance_class": "credit_life",
"contract_instrument_type": "ticket",
"regulator_registration": "15414.900123/2025-77",
"provider_name": "QI Seguradora",
"commission_bounds": {
"minimum_rate": 0.05,
"maximum_rate": 0.20,
"default_rate": 0.15
},
"services": [
{
"service_key": "0a3c5e7f-2b4d-4a6c-8e0f-1a3b5c7d9e2f",
"service_type": "credit_life",
"service_category": "insurance",
"mandatory": true,
"maximum_insured_amount": 500000.00,
"deductible_options": {
"deductible_type": "monetary_amount",
"options_type": "list",
"options": [0.00, 1500.00, 3000.00]
},
"waiting_period_options": {
"waiting_period_type": "days",
"options_type": "range",
"options": {
"minimum": 0,
"maximum": 90,
"step": 30
}
},
"indemnity_unit_options": null,
"regulator_registration": null,
"dependencies": {
"include": [],
"exclude": []
},
"service_attributes": null,
"default_configuration": {
"insured_amount_basis": "percentage_of_risk_value",
"insured_amount": null,
"insured_amount_percentage": 0.8000,
"unit_amount": null,
"unit_count": null,
"deductible_data": {
"deductible_type": "monetary_amount",
"value": 1500.00
},
"waiting_period_days": 30
}
}
]
}
Atributos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
product_key | string | Chave única do produto. |
name | string | Nome comercial do produto. |
product_category | string | Categoria do produto: insurance, capitalization ou benefit. |
insurance_class | string | Ramo SUSEP do produto. null para produtos não-seguro. |
contract_instrument_type | string | Instrumento contratual do produto: ticket (bilhete) ou policy (apólice). Determina o fluxo de contratação e quais métodos de aceite são válidos — veja Criar pedido. null para produtos não securitários. |
regulator_registration | string | Registro do produto na SUSEP (Código SUSEP). |
provider_name | string | Nome da seguradora parceira. |
commission_bounds | object | A sua faixa de comissão para este produto: minimum_rate, maximum_rate e default_rate (taxas decimais com 4 casas). A comissão da cotação/pedido é validada contra [minimum_rate, maximum_rate]; se omitida, vale default_rate. |
services | array | Coberturas ativas do produto. |
Objeto em services
| Campo | Tipo | Descrição |
|---|---|---|
service_key | string | Chave única da cobertura. Use-a na lista services da cotação e do pedido. |
service_type | string | Tipo da cobertura (ex.: credit_life). |
service_category | string | Categoria da cobertura: insurance, capitalization ou benefit. |
mandatory | boolean | Cobertura obrigatória em toda venda do produto. Uma seleção que a omita é rejeitada com MISSING_MANDATORY_SERVICE. |
maximum_insured_amount | number | Importância segurada máxima aceita. null para coberturas sem importância segurada (benefícios). |
deductible_options | object | Envelope tipado das franquias aceitas (veja abaixo). null indica que a cobertura não tem franquia — enviar deductible_data para ela é rejeitado. |
waiting_period_options | object | Envelope tipado das carências aceitas (veja abaixo). null indica que a cobertura não tem carência. |
indemnity_unit_options | object | Envelope tipado das unidades de indenização aceitas, para coberturas precificadas por unidade (ex.: "R$ 100 por diária, até 60 diárias"). null indica que a cobertura não é precificada por unidade — enviar unit_amount/unit_count para ela é rejeitado com OUT_OF_OPTION_SPACE. |
regulator_registration | string | Registro SUSEP próprio da cobertura. null indica que a cobertura herda o registro do produto. |
dependencies | object | Regras estruturais entre coberturas deste produto: include (chaves de coberturas pré-requisito — toda cobertura listada precisa estar na seleção) e exclude (chaves mutuamente exclusivas — não podem coexistir na seleção). |
service_attributes | object | Atributos fixos da cobertura definidos pela seguradora (ex.: quantidades de um benefício). Ecoados na cotação. |
default_configuration | object | O seu padrão configurado para esta cobertura — o que a cotação preenche automaticamente quando a seleção omite services. Todos os campos de valor são emitidos, com null nos que não se aplicam; insured_amount_basis diz qual está ativo. Os valores vêm na mesma forma que você enviaria na seleção, prontos para reuso. null quando não há padrão configurado. |
Envelopes de opções (deductible_options / waiting_period_options / indemnity_unit_options)
| Campo | Tipo | Descrição |
|---|---|---|
deductible_type | string | Tipo da franquia: monetary_amount, days ou percentage_of_insured_amount. Presente em deductible_options. |
waiting_period_type | string | Tipo da carência: days. Presente em waiting_period_options. |
indemnity_unit_type | string | Tipo da unidade de indenização (ex.: daily). Presente em indemnity_unit_options. |
options_type | string | Forma do espaço de opções: list (lista de valores aceitos) ou range (intervalo {minimum, maximum, step}; step null indica intervalo contínuo). |
options | array / object | Os valores aceitos, na forma indicada por options_type. |
Objeto default_configuration
| Campo | Tipo | Descrição |
|---|---|---|
insured_amount_basis | string | Base da importância segurada: monetary_amount (valor absoluto), percentage_of_risk_value (percentual do valor do objeto de risco) ou unit_amount_times_count (valor por unidade × quantidade de unidades). Diz qual dos campos de valor abaixo está ativo. |
insured_amount | number | Importância segurada em reais. Presente quando a base é monetary_amount; null nas demais. |
insured_amount_percentage | number | Percentual do valor do objeto de risco, em (0, 1] (1.0000 = 100%). Presente quando a base é percentage_of_risk_value; null nas demais. |
unit_amount | number | Valor por unidade de indenização. Presente quando a base é unit_amount_times_count; null nas demais. |
unit_count | integer | Quantidade de unidades de indenização. Presente quando a base é unit_amount_times_count; null nas demais. |
deductible_data | object | Franquia padrão, na mesma forma tipada enviada na seleção: { deductible_type, value }. |
waiting_period_days | integer | Carência padrão, em dias. |
Possíveis erros
Todo erro (non-2xx) retorna o corpo padrão { "title", "description", "translation", "code" } — trate programaticamente apenas o campo code.
| Status | Código | Descrição |
|---|---|---|
401 / 403 | — | Falha de autenticação ou autorização. |
404 | CAT000040 | O produto não existe, está inativo ou não está habilitado para a sua integração — os três casos são indistinguíveis. |
429 | — | Limite de requisições excedido — repita com backoff. |
500 | QIT000500 | Erro interno — seguro repetir a chamada. |
503 | CAT000033 | Serviço indisponível — seguro repetir a chamada. |