Qualificar cliente
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"), Headers = { { "api-key", "<api-key>" }, }, Content = new StringContent("{ \"creditGroup\": \"inss\", \"type\": \"full\", \"clientInfo\": { \"federalId\": \"12345678909\" } }") { 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"
payload := strings.NewReader("{ \"creditGroup\": \"inss\", \"type\": \"full\", \"clientInfo\": { \"federalId\": \"12345678909\" } }")
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")) .header("api-key", "<api-key>") .header("Content-Type", "application/json") .method("POST", HttpRequest.BodyPublishers.ofString("{ \"creditGroup\": \"inss\", \"type\": \"full\", \"clientInfo\": { \"federalId\": \"12345678909\" } }")) .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';const options = { method: 'POST', headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'}, body: '{"creditGroup":"inss","type":"full","clientInfo":{"federalId":"12345678909"}}'};
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 \ --header 'Content-Type: application/json' \ --header 'api-key: <api-key>' \ --data '{ "creditGroup": "inss", "type": "full", "clientInfo": { "federalId": "12345678909" } }'Consulta o cliente por CPF em um convênio e retorna as oportunidades de crédito com as condições simuladas.
Use creditDetail para montar a visão comercial. Ele agrupa os créditos por categoria e matrícula, as oportunidades por produto ou contrato e as simulações de cada oportunidade, com a oferta priorizada em primeiro lugar. O campo opportunities é mantido apenas por compatibilidade.
O ID da qualificação, usado em Simular nova condição, vem em qualification.id.
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”Corpo da requisiçãoobrigatório
Seção intitulada “Corpo da requisiçãoobrigatório”object
Slug do convênio ativo no catálogo. A disponibilidade é resolvida pela aplicação.
Slug semântico do produto a ser qualificado.
Tipo da qualificação. Use full para a qualificação completa, a mesma feita pelo painel. simple calcula somente oportunidades de margem livre.
object
Identificador informado pelo cliente para o contexto do produto, como UC ou número da fatura.
Informa se o cliente não consegue assinar a documentação da operação. O fato é válido somente para esta requisição; quando omitido, assume false.
object
object
URL do arquivo, retornada por Enviar extrato de consignações.
Tipo do arquivo. Para o extrato enviado em Enviar extrato de consignações, use statement.
object
object
object
Atestação JWS do consentimento para qualificação INSS externa
Exemplo
{ "creditGroup": "inss", "type": "full", "clientInfo": { "federalId": "12345678909" }}Respostas
Seção intitulada “Respostas”Resultado da qualificação.
object
Indica se a requisição foi processada.
object
object
ID da qualificação. Usado como qualificationRequestId em POST /v1/credit/qualification/:qualificationRequestId/simulate.
Resultado da qualificação no convênio.
Mensagem complementar sobre o resultado, quando houver.
True quando o cliente foi qualificado no convênio.
object
object
object
object
object
object
Lista bruta de oportunidades/simulações mantida por compatibilidade.
object
Identificador da simulação. Pode ser nulo quando a condição foi calculada offline.
Visão estruturada e recomendada das oportunidades de crédito. Agrupa totais, categorias, produtos, contratos e simulações sem adicionar campos derivados em clientData.paychecks[].
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
{ "qualification": { "status": "qualificado" }, "clientData": { "unableToSign": false, "docInfo": { "type": "RG" } }, "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" ] } } } ] } ] } ] }}