Pular para o conteúdo principal

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:

statusdescrição
automatically_approvedRecomenda-se que este pagamento de boleto seja aprovado.
automatically_reprovedRecomenda-se que este pagamento de boleto seja reprovado.
in_manual_analysisRecomenda-se que este pagamento de boleto seja analisado manualmente.
pendingO pagamento de boleto está sendo processado.
nometipodescrição
idstringIdentificador da transação no sistema do cliente.
É essencial que este número seja único para cada pagamento de boleto
bankslip_directionenumeradorModalidade do pagamento do boleto. Define se o cliente está pagando o boleto ou recebendo o pagamento do boleto.
document_amountinteiroValor do documento em centavos - conforme descrição da seção "Padrões".
discount_amountinteiroValor do desconto ou abatimento aplicado sobre o valor do documento em centavos - conforme descrição da seção "Padrões".
other_deduction_amountinteiroValor das outras deduções aplicadas sobre o valor do documento em centavos - conforme descrição da seção "Padrões".
interest_amountinteiroValor da multa, mora ou juros aplicados sobre o valor do documento em centavos - conforme descrição da seção "Padrões".
amountinteiroValor final pago no boleto - conforme descrição da seção "Padrões".
bankslip_payment_datedatetimeA data e hora do pagamento do boleto, com fuso horário.
bankslip_due_datedateData de vencimento do boleto de acordo com a padronização
descriptionstringCampo descrição ou observações do boleto.
face_recognition_keystringChave de reconhecimento facial, caso tenha sido feito reconhecimento facial pela nossa API de reconhecimento facial.
validation_keystringChave de validação, caso tenha sido feita algum teste de validação do cliente em nossa API de validações.
payerbankslip_payerObjeto que representa a pessoa física ou pessoa jurídica que pagou o boleto.
recipientbankslip_recipientObjeto que representa a pessoa física ou pessoa jurídica beneficiária do boleto.
final_recipientbankslip_recipientObjeto que representa a pessoa física ou pessoa jurídica beneficiária final do boleto.
sourcesourceObjeto 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.