Pular para o conteúdo principal

Produtos

Gerenciamento de produtos de crédito na Catalisa Platform.

Endpoints

MétodoEndpointDescriçãoPermissão
POST/api/v1/productsCriar produtoPRODUCTS_CREATE
GET/api/v1/productsListar produtosPRODUCTS_READ
GET/api/v1/products/:idObter produtoPRODUCTS_READ
PATCH/api/v1/products/:idAtualizar produtoPRODUCTS_UPDATE
DELETE/api/v1/products/:idExcluir produtoPRODUCTS_DELETE

Criar Produto

POST /api/v1/products

Cria um novo produto de crédito.

Request

CampoTipoObrigatórioDescrição
namestringSimNome do produto (1-100 chars)
productTypestringSimTipo do produto
descriptionstringSimDescrição (1-5000 chars)
minAmountobjectSimValor mínimo
maxAmountobjectSimValor máximo
minInterestRatenumberSimTaxa juros mínima (0-1)
maxInterestRatenumberSimTaxa juros máxima (0-1)
minInstallmentsintegerSimParcelas mínimas (1-360)
maxInstallmentsintegerSimParcelas máximas (1-360)
registrationTariffRatenumberNãoTaxa de cadastro
insuranceRatenumberNãoTaxa de seguro
iofAdditionalRatenumberNãoIOF adicional
iofDailyRatenumberNãoIOF diário
amortizationMethodstringNãoMétodo de amortização (ver tabela)
amortizationConfigobjectCondicionalConfiguração do método (ver index)
gracePeriodMonthsintegerNãoMeses de carência (≥0)
metadataobjectNãoDados customizados
minLtvnumberNãoLTV mínimo (0-1, apenas MORTGAGE)
maxLtvnumberNãoLTV máximo (0-1, apenas MORTGAGE)
curl -X POST 'https://products.stg.catalisa.app/api/v1/products' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"type": "products",
"attributes": {
"name": "Empréstimo Pessoal Standard",
"productType": "PERSONAL_LOAN",
"description": "Empréstimo pessoal para clientes com renda comprovada",
"minAmount": { "amount": 1000, "currency": "BRL" },
"maxAmount": { "amount": 50000, "currency": "BRL" },
"minInterestRate": 0.0199,
"maxInterestRate": 0.0599,
"minInstallments": 6,
"maxInstallments": 48,
"registrationTariffRate": 0.02,
"insuranceRate": 0.003,
"iofAdditionalRate": 0.0038,
"iofDailyRate": 0.000082,
"amortizationMethod": "PRICE"
}
}
}'

Response (201 Created)

{
"data": {
"type": "products",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"name": "Empréstimo Pessoal Standard",
"productType": "PERSONAL_LOAN",
"description": "Empréstimo pessoal para clientes com renda comprovada",
"active": true,
"minAmount": { "amount": 1000, "currency": "BRL" },
"maxAmount": { "amount": 50000, "currency": "BRL" },
"minInterestRate": 0.0199,
"maxInterestRate": 0.0599,
"minInstallments": 6,
"maxInstallments": 48,
"registrationTariffRate": 0.02,
"insuranceRate": 0.003,
"iofAdditionalRate": 0.0038,
"iofDailyRate": 0.000082,
"amortizationMethod": "PRICE",
"createdAt": "2024-01-15T10:30:00Z"
},
"links": {
"self": "/api/v1/products/550e8400-e29b-41d4-a716-446655440000"
}
}
}

Listar Produtos

GET /api/v1/products

Lista produtos com suporte a paginação e filtros.

Query Parameters

ParâmetroTipoDescrição
page[number]integerNúmero da página
page[size]integerItens por página
filter[active]booleanFiltrar por status ativo
filter[productType]stringFiltrar por tipo
curl 'https://products.stg.catalisa.app/api/v1/products?filter[active]=true&filter[productType]=PERSONAL_LOAN' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": [
{
"type": "products",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"name": "Empréstimo Pessoal Standard",
"productType": "PERSONAL_LOAN",
"active": true,
"minInterestRate": 0.0199,
"maxInterestRate": 0.0599
}
}
],
"meta": {
"totalItems": 5,
"totalPages": 1,
"currentPage": 1
}
}

Obter Produto

GET /api/v1/products/:productId

Obtém detalhes de um produto específico.

curl 'https://products.stg.catalisa.app/api/v1/products/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer SEU_TOKEN'

Atualizar Produto

PATCH /api/v1/products/:productId

Atualiza dados de um produto.

informação

Apenas os campos description e active podem ser atualizados.

Request

CampoTipoObrigatórioDescrição
descriptionstringNãoNova descrição
activebooleanNãoStatus ativo
curl -X PATCH 'https://products.stg.catalisa.app/api/v1/products/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"description": "Empréstimo pessoal - promocao de verao",
"active": false
}'

Response (200 OK)

{
"data": {
"type": "products",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"name": "Empréstimo Pessoal Standard",
"description": "Empréstimo pessoal - promocao de verao",
"active": false,
"updatedAt": "2024-01-15T11:00:00Z"
}
}
}

Excluir Produto

DELETE /api/v1/products/:productId

Remove um produto do sistema.

curl -X DELETE 'https://products.stg.catalisa.app/api/v1/products/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (204 No Content)

Sem corpo de resposta.



Exemplos Detalhados

Veja os guias completos com simulações e comparativos:


Erros Comuns

CódigoErroDescrição
400VALIDATIONCampos inválidos (taxa fora do range, etc.)
400VALIDATIONLTV só permitido para MORTGAGE
400VALIDATIONamortizationConfig incompatível com amortizationMethod
404NOT_FOUNDProduto não encontrado
409CONFLICTNome de produto duplicado