Simular nova condição
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Post, RequestUri = new Uri("https://ms-credit-api-az.kemosoft.com.br/v1/credit/qualification/qualification-request-1/simulate"), Headers = { { "api-key", "<api-key>" }, }, Content = new StringContent("{ \"opportunityReference\": \"qopp:v1:Qk7example\", \"installment\": 350, \"term\": 72 }") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } }};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://ms-credit-api-az.kemosoft.com.br/v1/credit/qualification/qualification-request-1/simulate"
payload := strings.NewReader("{ \"opportunityReference\": \"qopp:v1:Qk7example\", \"installment\": 350, \"term\": 72 }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<api-key>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://ms-credit-api-az.kemosoft.com.br/v1/credit/qualification/qualification-request-1/simulate")) .header("api-key", "<api-key>") .header("Content-Type", "application/json") .method("POST", HttpRequest.BodyPublishers.ofString("{ \"opportunityReference\": \"qopp:v1:Qk7example\", \"installment\": 350, \"term\": 72 }")) .build();HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());const url = 'https://ms-credit-api-az.kemosoft.com.br/v1/credit/qualification/qualification-request-1/simulate';const options = { method: 'POST', headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'}, body: '{"opportunityReference":"qopp:v1:Qk7example","installment":350,"term":72}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://ms-credit-api-az.kemosoft.com.br/v1/credit/qualification/qualification-request-1/simulate \ --header 'Content-Type: application/json' \ --header 'api-key: <api-key>' \ --data '{ "opportunityReference": "qopp:v1:Qk7example", "installment": 350, "term": 72 }'Calcula uma nova condição para uma oportunidade de uma qualificação já realizada. Os dados do cliente, o banco e o produto são os da qualificação original.
Informe em opportunityReference o valor de simulationAction.opportunityReference da simulação escolhida, e só os campos listados em simulationAction.editableFields. Uma simulação sem simulationAction não aceita nova condição.
Operação tarifável: quando a cobrança está ativa para a sua rede parceira, cada execução processada consome créditos da carteira do parceiro.
Autorizações
Seção intitulada “Autorizações”Parâmetros
Seção intitulada “Parâmetros”Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”Exemplo
qualification-request-1ID da qualificação, retornado em qualification.id por Qualificar cliente.
Corpo da requisiçãoobrigatório
Seção intitulada “Corpo da requisiçãoobrigatório”Parâmetros da nova condição. requestedAmount e installment não podem ser enviados juntos.
object
Valor líquido solicitado. Não pode ser enviado junto com installment.
Parcela solicitada. Não pode ser enviada junto com requestedAmount.
Novo prazo em meses/parcelas.
Referência da condição original, obtida em simulationAction.opportunityReference na qualificação.
Exemplo
{ "opportunityReference": "qopp:v1:Qk7example", "installment": 350, "term": 72}Respostas
Seção intitulada “Respostas”A nova condição calculada e a visão atualizada da qualificação, com a nova simulação em requestedSimulations.
object
Sempre true: indica que uma nova condição foi calculada com sucesso.
A nova condição calculada; o comando retorna exatamente uma.
object
Identificador da simulação. Pode ser nulo quando a condição foi calculada offline.
Visão atualizada da qualificação, com a solicitação no histórico separado.
object
Soma de availableCredits.totalAmount. Representa o total comercial das ofertas principais na resposta.
Créditos disponíveis agrupados por categoria e, quando aplicável, por matrícula.
object
Categoria do bloco de crédito: paycheck para créditos vinculados a matrícula/folha; other para créditos pessoais ou sem matrícula.
Matrícula/benefício associado quando category=paycheck.
Soma dos productAmount das ofertas principais das oportunidades deste bloco.
Oportunidades de crédito específicas desta categoria/matrícula.
object
Tipo da oportunidade: margin para crédito por margem livre; contract para crédito derivado de contrato original.
Nome legível do produto de crédito.
Slug do produto de crédito.
Valor comercial da oferta principal da oportunidade. Em fluxos governados por regras, corresponde à primeira simulação priorizada; nos demais fluxos, mantém a seleção financeira compatível.
Contrato original associado à oportunidade quando type=contract.
object
Simulações/ofertas desta oportunidade na ordem definida pelo produtor. No fluxo governado por regras, a primeira é a oferta priorizada; sources sem essa semântica mantêm sua seleção financeira.
object
Identificador da simulação retornado pelo banco/integrador.
Data em que a simulação foi gerada.
Slug do banco que gerou a oferta.
Nome legível do banco que gerou a oferta.
URL do logo do banco que gerou a oferta.
Valor financiado/bruto da operação antes de abatimentos.
Valor bruto total usado na simulação.
Valor de IOF embutido na operação.
Valor de TAC embutido na operação, quando houver.
Valor de seguro embutido na operação, quando houver.
Valor de crédito liberado antes de saldo devedor.
Saldo devedor abatido na operação, quando aplicável.
Valor líquido estimado para o cliente.
Valor da parcela simulada.
Prazo da simulação em meses/parcelas.
Carência da primeira parcela, em dias, quando informada.
Limite que o cartão precisa suportar para esta condição. Não representa limite disponível do cliente.
Taxa de juros mensal da simulação.
Custo Efetivo Total mensal da simulação.
Tipo/estratégia de simulação usada pelo banco.
Aviso comercial associado à condição simulada.
Código da tabela de juros usada na simulação.
Nome ou código comercial da tabela de juros.
Data prevista do primeiro pagamento.
Data prevista do último pagamento.
Comissão associada à simulação, quando disponível.
Teto de taxa usado em refin da portabilidade quando há cálculo ponderado.
Ação contextual disponível para esta condição. Ausência significa somente leitura.
object
Referência desta condição. Envie em Simular nova condição.
Campos que podem ser informados para uma nova simulação.
Novas simulações solicitadas após a qualificação original, na ordem de append.
object
Identificador UUID da solicitação de nova simulação.
Referência da oportunidade original que originou o pedido.
Parâmetros efetivamente informados pelo usuário.
object
Valor líquido solicitado. Não pode ser enviado junto com installment.
Parcela solicitada. Não pode ser enviada junto com requestedAmount.
Novo prazo em meses/parcelas.
Resultado canônico da nova simulação.
object
Identificador da simulação retornado pelo banco/integrador.
Data em que a simulação foi gerada.
Slug do banco que gerou a oferta.
Nome legível do banco que gerou a oferta.
URL do logo do banco que gerou a oferta.
Valor financiado/bruto da operação antes de abatimentos.
Valor bruto total usado na simulação.
Valor de IOF embutido na operação.
Valor de TAC embutido na operação, quando houver.
Valor de seguro embutido na operação, quando houver.
Valor de crédito liberado antes de saldo devedor.
Saldo devedor abatido na operação, quando aplicável.
Valor líquido estimado para o cliente.
Valor da parcela simulada.
Prazo da simulação em meses/parcelas.
Carência da primeira parcela, em dias, quando informada.
Limite que o cartão precisa suportar para esta condição. Não representa limite disponível do cliente.
Taxa de juros mensal da simulação.
Custo Efetivo Total mensal da simulação.
Tipo/estratégia de simulação usada pelo banco.
Aviso comercial associado à condição simulada.
Código da tabela de juros usada na simulação.
Nome ou código comercial da tabela de juros.
Data prevista do primeiro pagamento.
Data prevista do último pagamento.
Comissão associada à simulação, quando disponível.
Teto de taxa usado em refin da portabilidade quando há cálculo ponderado.
Ação contextual disponível para esta condição. Ausência significa somente leitura.
object
Referência desta condição. Envie em Simular nova condição.
Campos que podem ser informados para uma nova simulação.
Exemplo
{ "success": true, "creditDetail": { "creditAmount": 16278.54, "availableCredits": [ { "category": "paycheck", "enrollment": "123456789", "totalAmount": 12278.54, "opportunities": [ { "type": "margin", "productName": "Refin da Portabilidade", "productSlug": "consignado_refin_port", "productAmount": 9278.54, "originalContract": { "contractNumber": "55123095", "bankNo": "999", "bankName": "Banco Exemplo S.A.", "installment": 424.2, "term": 84, "paidInstallments": 43, "remainingInstallments": 41, "balanceDue": 10092.18, "balanceDuePort": 12127.3, "installmentPort": 353.01, "interest": 2.92, "startDate": "2022-10-18" }, "simulations": [ { "simulationId": "sim-123", "simulationDate": "2026-06-15", "bankSlug": "banco-exemplo", "bankName": "Banco Exemplo", "bankLogo": "https://exemplo.com.br/logos/banco-exemplo.png", "loanAmount": 19681.06, "grossAmount": 45813.6, "iofFee": 310.34, "tacFee": 0, "insuranceFee": 0, "creditAmount": 19370.72, "balanceDue": 10092.18, "netAmount": 9278.54, "installment": 424.2, "term": 108, "simulationGracePeriod": 5, "requiredCardLimit": 2229.3, "interest": 1.85, "cet": 1.85, "simulationType": "taxa-de-juros", "message": "Cotação indicativa. A aprovação final ocorre após o envio da proposta ao banco.", "interestCode": null, "interestTable": null, "firstPayment": "2026-07-07", "lastPayment": "2035-06-07", "commission": 0, "maxRefinInterestRate": 1.85, "simulationAction": { "opportunityReference": "qopp:v1:Qk7example", "editableFields": [ "installment", "term" ] } } ], "requestedSimulations": [ { "id": "00000000-0000-4000-8000-000000000001", "sourceOpportunityReference": "qopp:v1:Qk7example", "params": { "requestedAmount": 8500, "installment": 350, "term": 72 }, "result": { "simulationId": "sim-123", "simulationDate": "2026-06-15", "bankSlug": "banco-exemplo", "bankName": "Banco Exemplo", "bankLogo": "https://exemplo.com.br/logos/banco-exemplo.png", "loanAmount": 19681.06, "grossAmount": 45813.6, "iofFee": 310.34, "tacFee": 0, "insuranceFee": 0, "creditAmount": 19370.72, "balanceDue": 10092.18, "netAmount": 9278.54, "installment": 424.2, "term": 108, "simulationGracePeriod": 5, "requiredCardLimit": 2229.3, "interest": 1.85, "cet": 1.85, "simulationType": "taxa-de-juros", "message": "Cotação indicativa. A aprovação final ocorre após o envio da proposta ao banco.", "interestCode": null, "interestTable": null, "firstPayment": "2026-07-07", "lastPayment": "2035-06-07", "commission": 0, "maxRefinInterestRate": 1.85, "simulationAction": { "opportunityReference": "qopp:v1:Qk7example", "editableFields": [ "installment", "term" ] } } } ] } ] } ] }}