SOBRE A "API COTAÇÃO"
Características Gerais
Esta "API Cotação" é a porta de entrada para execução do fluxo operacional de um "Produto de Crédito".
A "API Cotação" tem o objetivo de criar uma cotação para determinado usuário ("borrower"). Criar uma cotação significa processar as informações recebidas a fim de devolver o resultado de uma análise de crédito, a qual pode incluir análises antifraude, de prevenção à lavagem de dinheiro ("PLD") e de "know you customer" ("KYC"), dentre outras ("Resultado da Cotação").
Esse resultado a ser retornado pode assumir diferentes valores e formatos. Destacamos os seguintes "response_type":
- (i) "RETORNO_COTACAO_APROVADA";
- (ii) "RETORNO_COTACAO_REPROVADA";
- (iii) "RETORNO_COTACAO_PENDENTE"; ou
- (iv) RETORNO_COTACAO_RECEBIDA".
O retornos RETORNO_COTACAO_APROVADA e RETORNO_COTACAO_REPROVADA naturalmente indicam operações aprovadas e reprovadas, respectivamente.
Para um "RETORNO_COTACAO_APROVADA", também são enviadas as "opções de parcela" aprovadas, por meio da seção "installments_options".
O RETORNO_COTACAO_PENDENTE, por sua vez, indica uma operação que tem "Motor de Crédito" ativo, porém, cuja análise de crédito, com base na política parametrizada, foi direcionada para a mesa de crédito, sem alcançar uma aprovação automática instantânea.
O RETORNO_COTACAO_RECEBIDA, por fim, indica que uma operação foi devidamente recebida e, conforme configuração do produto, não tem "Motor de Crédito" ativo e, portanto, o retorno será efetivado posteriormente.
Tipos de Resposta
A devolução dos resultados da Cotação pode ser realizada de forma Síncrona (resposta online) ou Assíncrona (via Callback, doravante também referido como Webhook). Para ambos os casos o conteúdo retornado é similar.
Para receber essa resposta Síncrona, basta enviar essa configuração por meio do parâmetro "sync" no Header da Chamada, indicando "true" no respectivo valor do header. Caso seja indicado "false" ou suprimido o header em pauta, será considerada a configuração Assíncrona para a chamada.
Assim, o sistema MOVA permite a configuração do tipo de resposta em função da necessidade do Cliente consumidor da API ("Requisitante"). Conforme pode ser observado, essa configuração pode variar por chamada, característica que permite, por exemplo, enviar um lote de Cotações a fim de derivar uma "Pré-Aprovação" Assíncrona em lote, ao mesmo tempo em que o mesmo "Produto de Crédito" roda no formato Síncrono quando as chamadas chegam diretamente pelo fluxo do solicitante de crédito.
Vale notar que a opção de retorno via Webhook não significa que o mesmo vá demorar. Ou seja, o SLA (“Service Level Agreement”) via Webhook pode ser similar ao retorno Síncrono. Com isso, reforçamos que a definição do "tipo de resposta" depende de outras variáveis, tais como a infraestrutura do "Requisitante", custos esperados, bem como volumes e picos de consumo esperados. Por fim, esclarecemos que a opção pela resposta Síncrona não impede de retornarmos, também, a resposta via Webhook concomitantemente, caso faça sentido no contexto.
Motor de Crédito
Para executar a análise referida nos parágrafos acima e retornar o "Resultado da Cotação", a MOVA conta com uma ferramenta proprietária de automação de Esteira de Crédito e Motor de Crédito ("Motor de Crédito"). Essa ferramenta permite a implementação de regras e critérios de decisão e pode executar uma "Árvore de Decisão", bem como derivar o Score e Rating de uma Cotação.
O Motor de Crédito está conectado a diversas bases e birôs de Crédito, tais como Serasa e SCR do Banco Central, incluindo diversas ferramentas antifraude, de PLD e de KYC.
As variáveis e critérios a serem analisados e processados a fim de definir a aprovação ou reprovação de uma Cotação ("Política de Crédito") podem ser parametrizados de forma customizada, conforme contexto de cada "Produto de Crédito".
Esse sistema MOVA permite a inclusão de bases externas customizadas no Motor de Crédito, permitindo que informações em posse do originador possam ser analisadas de forma automática, no âmbito da "Política de Crédito" automatizada, desde que coletada a devida autorização por parte do usuário em análise.
Por fim, acrescentamos que no processo de "Árvore de Decisão" podem ser integradas análises externas. Ou seja, o Motor de Crédito interno MOVA pode ser compatibilizado com motores ou scores de crédito externos, trabalhando de forma combinada com a análise ou aprovação de terceiros. Para essa eventual atuação em conjunto pode ser necessário um trabalho prévio de integração junto a essas partes terceiras, a ser acordado previamente junto à MOVA.
Função "Retorno de Consulta" para recebimento de informações de birôs e bases de crédito
Outra função disponível por meio desta "API Cotação" é de "Retorno de Consulta", que trata de retornar ao Requisitante as informações e dados relativos aos birôs e bases consultados em determinada Cotação. Esse retorno se dá por meio da ativação de webhooks relativos às consultas desejadas. Desta forma, por exemplo, para consultar o SCR de um usuário, basta ativarmos o webhook de "Retorno de Consulta de SCR" para o Requisitante em pauta. Com isso, uma vez feita a consulta, se para aquele determinado Requisitante o webhook de "Retorno de Consulta de SCR" estiver ativo, o mesmo receberá o payload com as respectivas informações.
É imprescindível considerar que, para que essas informações possam ser consultadas e retornadas, deverá ser previamente coletada a devida autorização e consentimento por parte do usuário em análise. A coleta do consentimento pode ser realizada, por exemplo, por meio de procedimentos e mecanismos customizados para determinado "Produto de Crédito" conforme forem acordados junto ao Requisitante, desde que aprovados pela MOVA ou, ainda, o fluxo do "Produto de Crédito" pode prever a coleta dessa devida autorização e consentimento por meio de mecanismos padronizados e disponibilizados pela MOVA, tais como envio de links ou disponibilização de páginas específicas para coleta de autorizações e consentimentos.
Conforme ilustra esta função de "Retorno de Consulta", o conceito de "Cotação", além da análise de crédito, abrange a simples coleta de informações e sua disponibilização ao Requisitante para análise posterior, desde que com a prévia autorização do usuário objeto da análise.
Como consumir ?
Segue um exemplo de requisição para consumir essa API, ou clique aqui para seguir a documentação com exemplos.
- Payload
- curl
- PHP
- Java
- Node.js
- C#
- Python
{- "request_info": {
- "product_id": 987,
- "external_id": "9184931Aa2Bb3Cc"
}, - "financial_info": {
- "operation_net_amount": 15000.55,
- "installments_number": 10,
- "grace_period_number": 1,
- "interest_monthly_rate": 0.02111,
- "borrower_credit_limit": 30000.55,
- "score_number": 850,
- "rating": "AA+",
- "settlement_deadline_date": "2023-02-13",
- "anniversary_day": 15
}, - "financial_complement_info": {
- "other_services": true
}, - "borrower_info": {
- "person_type": "pf",
- "cpf_cnpj": "11122233344",
- "birth_opening_date": "1990-05-30",
- "name": "João Alegre da Silva",
- "cell_phone": "11955551111",
- "terms_agreement": true,
- "address": {
- "postal_code": "05400222",
- "street": "Rua da Alegria",
- "number": "77",
- "complement": "casa",
- "neighborhood": "Pinheiros",
- "city": "São Paulo",
- "state": "SP"
}
}, - "natural_borrower_complement_info": {
- "gender": "Masculino",
- "mother_name": "Maria da Alegria",
- "father_name": "José Silva",
- "nationality": "Brasileiro",
- "place_birth": "São Paulo",
- "profession": "Empresário",
- "marital_status": "Casado(a)",
- "separation_of_goods": true,
- "spouse_name": "Joana Ferreira Gomes",
- "pep": false,
- "resident_abroad": false,
- "monthly_income": 10000.55,
- "net_worth": 500000.11,
- "id_document": {
- "document_type": "RG",
- "document_number": "22457845X",
- "date_issue": "1999-06-30",
- "document_authority": "SSP",
- "document_uf": "SP"
}
}, - "legal_borrower_complement_info": {
- "foundation_date": "1990-06-25",
- "company_type": "LTDA",
- "cnae_code": 649999,
- "estate_code": "4.82757-8",
- "city_code": "123456789-10",
- "trade_name": "Pizzaria do João",
- "annual_revenue": 1000000.55
}, - "legal_borrower_representatives": {
- "natural_representative_one": {
- "person_type": "pf",
- "cpf_cnpj": "11122233344",
- "birth_opening_date": "1990-05-30",
- "name": "João Alegre da Silva",
- "cell_phone": "11955551111",
- "terms_agreement": true,
- "address": {
- "postal_code": "05400222",
- "street": "Rua da Alegria",
- "number": "77",
- "complement": "casa",
- "neighborhood": "Pinheiros",
- "city": "São Paulo",
- "state": "SP"
}, - "gender": "Masculino",
- "mother_name": "Maria da Alegria",
- "father_name": "José Silva",
- "nationality": "Brasileiro",
- "place_birth": "São Paulo",
- "profession": "Empresário",
- "marital_status": "Casado(a)",
- "separation_of_goods": true,
- "spouse_name": "Joana Ferreira Gomes",
- "pep": false,
- "resident_abroad": false,
- "monthly_income": 10000.55,
- "net_worth": 500000.11,
- "id_document": {
- "document_type": "RG",
- "document_number": "22457845X",
- "date_issue": "1999-06-30",
- "document_authority": "SSP",
- "document_uf": "SP"
}
}, - "natural_representative_two": {
- "person_type": "pf",
- "cpf_cnpj": "11122233344",
- "birth_opening_date": "1990-05-30",
- "name": "José Alegre da Silva",
- "cell_phone": "11955551111",
- "terms_agreement": true,
- "address": {
- "postal_code": "05400222",
- "street": "Rua da Alegria",
- "number": "78",
- "complement": "casa",
- "neighborhood": "Pinheiros",
- "city": "São Paulo",
- "state": "SP"
}, - "gender": "Masculino",
- "mother_name": "Maria da Alegria",
- "father_name": "José Silva",
- "nationality": "Brasileiro",
- "place_birth": "São Paulo",
- "profession": "Empresário",
- "marital_status": "Casado(a)",
- "separation_of_goods": true,
- "spouse_name": "Ana Ferreira Gomes",
- "pep": false,
- "resident_abroad": false,
- "monthly_income": 10000.55,
- "net_worth": 500000.11,
- "id_document": {
- "document_type": "RG",
- "document_number": "22457845X",
- "date_issue": "1999-06-30",
- "document_authority": "SSP",
- "document_uf": "SP"
}
}
}, - "natural_guarantors_info": [
- {
- "person_type": "pf",
- "cpf_cnpj": "11122233344",
- "birth_opening_date": "1990-05-30",
- "name": "João Alegre da Silva",
- "cell_phone": "11955551111",
- "terms_agreement": true,
- "address": {
- "postal_code": "05400222",
- "street": "Rua da Alegria",
- "number": "77",
- "complement": "casa",
- "neighborhood": "Pinheiros",
- "city": "São Paulo",
- "state": "SP"
}, - "gender": "Masculino",
- "mother_name": "Maria da Alegria",
- "father_name": "José Silva",
- "nationality": "Brasileiro",
- "place_birth": "São Paulo",
- "profession": "Empresário",
- "marital_status": "Casado(a)",
- "separation_of_goods": true,
- "spouse_name": "Joana Ferreira Gomes",
- "pep": false,
- "resident_abroad": false,
- "monthly_income": 10000.55,
- "net_worth": 500000.11,
- "id_document": {
- "document_type": "RG",
- "document_number": "22457845X",
- "date_issue": "1999-06-30",
- "document_authority": "SSP",
- "document_uf": "SP"
}, - "spouse": {
- "person_type": "pf",
- "cpf_cnpj": "55522233344",
- "birth_opening_date": "string",
- "name": "Joana Ferreira Gomes",
- "cell_phone": "11955552222",
- "terms_agreement": true,
- "address": {
- "postal_code": "05400222",
- "street": "Rua da Alegria",
- "number": "77",
- "complement": "casa",
- "neighborhood": "Pinheiros",
- "city": "São Paulo",
- "state": "SP"
}, - "gender": "Feminino",
- "mother_name": "Juliana Maria Silva",
- "father_name": "Rodrigo Gomes",
- "nationality": "Brasileiro",
- "place_birth": "Jundiaí",
- "profession": "professora",
- "marital_status": "Casado(a)",
- "spouse_name": "João Alegre da Silva",
- "pep": false,
- "resident_abroad": false,
- "monthly_income": 5000.22,
- "net_worth": 200000.55,
- "id_document": {
- "document_type": "CNH",
- "document_number": "012445785245632",
- "date_issue": "2007-06-30",
- "document_authority": "DETRAN",
- "document_uf": "RS"
}
}
}
], - "disbursement_info": {
- "beneficiary_type": "BORROWER",
- "name": "João Alegre da Silva",
- "cpf_cnpj": "11122233344",
- "bank_code": "077",
- "branch_number": "001",
- "account_number": "7299004",
- "account_digit": "5",
- "account_type": "corrente",
- "pix_key": "00020101021227790014br.gov.bcb.pix2557invoice.xbank.com/v2/b96053853d388d09b87808ea63dac2ab5204000053039865802BR5924marketplace6753Sao Paulo62070503***55546539",
- "disbursement_type": "PIX_ALEATORIA",
- "use_type": "conta_desembolso_credito"
}, - "documents": {
- "person_documents": [
- {
- "person_type": "pf",
- "cpf_cnpj": "11122233344",
- "document_type": "rg ou cnh (frente)",
- "document_complement_info": "cnh",
- "document_subtype": "documento",
}
], - "operation_documents": [
- {
- "document_type": "documento_veiculo",
- "document_subtype": "documento",
}
]
}, - "operation_tag_identifiers": [
- "28b5f901-1ab5-4b02-9237-b5a7364419b7",
- "7a692c78-0553-49e8-9f9f-31728785e866",
- "bcedc20e-cf8b-4ba0-b742-441f4a02c097",
- "af4741c5-b033-47a5-9f07-cdb5fce5a030",
- "8cc91321-5c7e-4c6d-830b-bd39096b5263"
], - "operator_id": "Nzc4eGZmNE9DTmpRQlI4Sk5VdlFqQT09OjpOBjKhVe2OrluTHv855+9I",
- "additional_fields": {
- "operation_costs_amount_stakeholder": {
- "value": 200.55
}, - "operation_costs_net_share_stakeholder": {
- "value": 0.01511
}, - "rent_contract_amount": {
- "value": 5000.55
}, - "rent_contract_sign_date": {
- "value": "2022-04-16"
}, - "rent_contract_id": {
- "value": "676418941698"
}, - "rent_contract_property_id": {
- "value": "45421134"
}, - "rent_address_street": {
- "value": "Rua da Alegria"
}, - "rent_address_number": {
- "value": "89"
}, - "rent_address_complement": {
- "value": "casa"
}, - "rent_address_neighborhood": {
- "value": "Pinheiros"
}, - "rent_address_city": {
- "value": "São Paulo"
}, - "rent_address_region": {
- "value": "SP"
}, - "rent_address_postal_code": {
- "value": "05401000"
}
}, - "device_info": "{ \"device\": { \"id\": \"DEVICE_ID2010101010101\", \"ip_address\": \"00.00.0.000\", \"headers\": [ { \"name\": \"Connection\", \"value\": \"Keep-Alive\" }, { \"name\": \"X-Forwarded-For\", \"value\": \"00.00.0.001, 00.00.0.002, 00.00.0.003\" }, { \"name\": \"Via\", \"value\": \"1.1 google\" }, { \"name\": \"X-Cloud-Trace-Context\", \"value\": \"000000000000001/0000000000002\" }, { \"name\": \"Cf-Connecting-Ip\", \"value\": \"00.00.0.000\" }, { \"name\": \"Content-Type\", \"value\": \"application/json\" }, { \"name\": \"User-Agent\", \"value\": \"GuzzleHttp/7\" }, { \"name\": \"Cf-Visitor\", \"value\": \"{\\\"scheme\\\":\\\"https\\\"}\" }, { \"name\": \"X-Forwarded-Proto\", \"value\": \"https\" }, { \"name\": \"Content-Length\", \"value\": \"0000\" }, { \"name\": \"Cf-Ray\", \"value\": \"000000000000-ABC\" }, { \"name\": \"Accept-Encoding\", \"value\": \"gzip, br\" }, { \"name\": \"Cf-Ipcountry\", \"value\": \"BR\" }, { \"name\": \"Cdn-Loop\", \"value\": \"any\" }, { \"name\": \"Host\", \"value\": \"website.com\" } ], \"user_identity_cookies\": [], \"jsc\": \"abc20ska-2maba-X\", \"hdim\": { \"payload\": \"abc123-H\" } } }"
}
Histórico de edições
Version | Data | Notes |
---|---|---|
1.15 | 2023-05-29 | Inclusão de quotation_id e costs_percentage_share em endpoints e webhooks (costs_percentage_share somente em Cotação Aprovada) |
1.16 | 2023-06-13 | Inclusão de response_type_reason de cancelamento/reprovação em endpoints e webhooks correspondentes |