Boleto
No momento em que um usuário efetuar ou receber um pagamento por boleto, os dados do pagamento deverão ser enviados para a QI Tech. Deste modo, será possível realizar uma análise do risco envolvido na operação, baseado naquele conjunto de dados.
Definição do Objeto de Boleto
Request Body
{
"id": "082373263",
"bankslip_direction": "received",
"document_amount": 13725,
"discount_amount": 1000,
"other_deduction_amount": 0,
"interest_amount": 254,
"amount": 12979,
"bankslip_payment_date": "2020-10-07T15:06:25-03:00",
"bankslip_due_date": "2020-10-07",
"bankslip_issuing_date": "2020-10-07",
"description": "BOLETO PARA PAGAMENTO DA MENSALIDADE DE SETEMBRO",
"face_recognition_key": "ef39e206-13d5-48de-b368-6c3bbc6f0222",
"validation_key": "69a59de3-0198-4a26-933a-c1de624c147d",
"payer": {
"id": "182373263",
"type": "legal_person",
"document_number": "07.487.735/0001-69",
"name": "Gioconda Pizzaria e Rotisseria LTDA.",
"address": {
"street": "Avenida 13",
"number": "704",
"neighbourhood": "Centro",
"city": "Ituiutaba",
"uf": "MG",
"complement": "Apt 1101",
"postal_code": "38300-140"
},
"phone": {
"international_dial_code": "55",
"area_code": "16",
"number": "981610077",
"type": "mobile"
},
"account": {
"participant": "60701190",
"branch": "3675",
"account_number": "13212",
"account_digit": "5",
"account_type": "CACC"
},
"sales_channel": "inbound_sales",
"segment": "Personalité"
},
"recipient": {
"id": "282373263",
"type": "legal_person",
"document_number": "056.966.649-03",
"name": "Francisco Oliveira Benedetti",
"address": {
"street": "Avenida 13",
"number": "704",
"neighbourhood": "Centro",
"city": "Ituiutaba",
"uf": "MG",
"complement": "Apt 1101",
"postal_code": "38300-140"
},
"phone": {
"international_dial_code": "55",
"area_code": "16",
"number": "981610077",
"type": "mobile"
},
"account": {
"participant": "60701190",
"branch": "3675",
"account_number": "10552",
"account_digit": "6",
"account_type": "CACC"
}
},
"final_recipient": {
"id": "382373263",
"type": "legal_person",
"document_number": "056.966.649-03",
"name": "Francisco Oliveira Benedetti",
"address": {
"street": "Avenida 13",
"number": "704",
"neighbourhood": "Centro",
"city": "Ituiutaba",
"uf": "MG",
"complement": "Apt 1101",
"postal_code": "38300-140"
},
"phone": {
"international_dial_code": "55",
"area_code": "16",
"number": "981610077",
"type": "mobile"
},
"account": {
"participant": "60701190",
"branch": "3675",
"account_number": "10442",
"account_digit": "6",
"account_type": "CACC"
}
},
"source": {
"channel": "internet_banking",
"platform": "android",
"ip": "198.185.056.098",
"session_id": "7839jdqd9a8wd9"
}
}
Um pagamento de boleto deve ser enviado para a API antes de ser encaminhada para o sistema de processamento, a fim de realizar uma validação prévia de fraude.
O status do pagamento representa a decisão retornada pelo modelo sobre aquele boleto. Os seguintes status são utilizados na flag analysis_status:
automatically_approved
automatically_reproved
in_manual_analysis
pending
Abaixo estão listados os significados de cada uma das decisões, devolvida na flag analysis_status:
status | descrição |
---|---|
automatically_approved | Recomenda-se que este pagamento de boleto seja aprovado. |
automatically_reproved | Recomenda-se que este pagamento de boleto seja reprovado. |
in_manual_analysis | Recomenda-se que este pagamento de boleto seja analisado manualmente. |
pending | O pagamento de boleto está sendo processado. |
nome | tipo | descrição |
---|---|---|
id | string | Identificador da transação no sistema do cliente. É essencial que este número seja único para cada pagamento de boleto |
bankslip_direction | enumerador | Modalidade do pagamento do boleto. Define se o cliente está pagando o boleto ou recebendo o pagamento do boleto. |
document_amount | inteiro | Valor do documento em centavos - conforme descrição da seção "Padrões". |
discount_amount | inteiro | Valor do desconto ou abatimento aplicado sobre o valor do documento em centavos - conforme descrição da seção "Padrões". |
other_deduction_amount | inteiro | Valor das outras deduções aplicadas sobre o valor do documento em centavos - conforme descrição da seção "Padrões". |
interest_amount | inteiro | Valor da multa, mora ou juros aplicados sobre o valor do documento em centavos - conforme descrição da seção "Padrões". |
amount | inteiro | Valor final pago no boleto - conforme descrição da seção "Padrões". |
bankslip_payment_date | datetime | A data e hora do pagamento do boleto, com fuso horário. |
bankslip_due_date | date | Data de vencimento do boleto de acordo com a padronização |
description | string | Campo descrição ou observações do boleto. |
face_recognition_key | string | Chave de reconhecimento facial, caso tenha sido feito reconhecimento facial pela nossa API de reconhecimento facial. |
validation_key | string | Chave de validação, caso tenha sido feita algum teste de validação do cliente em nossa API de validações. |
payer | bankslip_payer | Objeto que representa a pessoa física ou pessoa jurídica que pagou o boleto. |
recipient | bankslip_recipient | Objeto que representa a pessoa física ou pessoa jurídica beneficiária do boleto. |
final_recipient | bankslip_recipient | Objeto que representa a pessoa física ou pessoa jurídica beneficiária final do boleto. |
source | source | Objeto do tipo Source que descreve as informações provenientes da aplicação utilizada para o pagamento do boleto. |
Existem os seguintes enumeradores para bankslip_direction: payed
e received
.
Enviar um Pagamento de Boleto
Request Body
{
"id": "12345",
...
}
Response Body
{
"bankslip_key": "13d680ef-4b72-4cb2-a63d-cf3d790abaaf",
"status": "automatically_approved",
"reason": "rule_decision_enum"
}
Para realizar a avaliação de um pagamento de boleto, basta enviar um objeto do tipo Boleto ao seguinte endpoint:
POST https://api.caas.qitech.app/bankslip/bankslip
Recuperar um Pagamento de Boleto
Response Body
{
"id": "082373263",
"bankslip_direction": "received",
...
}
Para recuperar os dados de um pagamento de boleto, basta enviar uma requisição ao seguinte endpoint:
GET https://api.caas.qitech.app/bankslip/bankslip/{bankslip_id}
Onde bankslip_id é o identificador da transação no sistema do cliente utilizado no envio do boleto.
Atualizar um pagamento de boleto
Request Body
{
"bankslip_status": "completed",
"event_date": "2020-10-07T15:06:25-03:00"
}
Response Body
{
"bankslip_key": "13d680ef-4b72-4cb2-a63d-cf3d790abaaf",
"bankslip_status": "completed"
}
Após um pagamento de boleto ser criado e analisado, ela será enviado à câmara de compensação para ser processado. Deste modo, é necessário que seja informada a atualizações de status do pagamento quando este for enviado, através do endpoint:
PUT https://api.caas.qitech.app/bankslip/bankslip/{bankslip_id}
Deste modo, garante-se que nossa base de dados seja atualizada e sejamos capazes de identificar os pagamentos de boleto que estejam realmente sucetíveis a fraude.