Pular para o conteúdo principal

Depósitos

No momento em que um usuário efetuar um depósito, os dados do depósito deverão ser enviados para a QI Tech. Deste modo, será possível realizar uma análise do risco de fraude e Prevenção a Lavagem de Dinheiro envolvido na operação, baseado naquele conjunto de dados.

Definição do Objeto de Depósito

Request Body
{
"id": "082373263",
"amount": 12979,
"deposit_date": "2020-10-07T15:06:25-03:00",
"client": {
"id": "182373263",
"type": "natural_person",
"document_number": "123.456.789-10",
"name": "Benedito Calixto de Jesus",
"email": "benedito@test.com",
"address": {
"street": "Rua José Wasth Rodrigues",
"number": "243",
"neighbourhood": "Vila Maria",
"city": "São Paulo",
"uf": "SP",
"complement": "Apartamento 14B",
"postal_code": "02121-010"
},
"phone": {
"international_dial_code": "55",
"area_code": "11",
"number": "998861708",
"type": "mobile"
},
"sales_channel": "inbound_sales",
"segment": "Personalité"
},
"destination_account": {
"participant": "17315359",
"branch": "0000",
"account_number": "10442",
"account_digit": "6",
"account_type": "CACC",
"opening_date": "2020-01-15T18:00:00-03:00"
},
"terminal": {
"id": "1234566",
"latitude": -45.2753548,
"longitude": -15.24587,
"address": {
"street": "Av. Eng. Luis Carlos Berrini",
"number": "105",
"neighbourhood": "Brooklin",
"city": "São Paulo",
"uf": "SP",
"complement": "Cj 303",
"postal_code": "04501-140"
},
"type": "atm"
},
"authentication": {
"used_password": true,
"used_card": true,
"used_fingerprint": true,
"typed_account_number": false
}
}

Um depósito 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 depósito representa a decisão retornada pelo modelo sobre aquela conta. Os seguintes status são utilizados na flag analysis_status:

  • automatically_approved
  • automatically_reproved

Abaixo estão listados os significados de cada uma das decisões, devolvida na flag analysis_status:

statusdescrição
automatically_approvedRecomenda-se que este depósito seja aprovado.
automatically_reprovedRecomenda-se que este depósito seja reprovado.
nometipodescrição
idstringIdentificador do depósito no sistema do cliente.
É essencial que este número seja único para cada depósito
amountintegerValor do depósito em centavos - conforme descrição da seção "Padrões".
deposit_datedatetimeData e hora da realização do depósito - conforme descrição da seção "Padrões".
clientclientObjeto com os dados do cliente detentor da conta de origem.
destination_accountaccountObjeto que determina a conta de destino do recurso a ser depositado.
terminalterminalObjeto com os dados do terminal onde o depósito está sendo realizado.
authenticationauthenticationObjeto com as informações de autenticação.

Objetos do Depósito

Objeto Terminal

Request Body
{
"id": "1234566",
"latitude": -45.2753548,
"longitude": -15.24587,
"address": {
"street": "Av. Eng. Luis Carlos Berrini",
"number": "105",
"neighbourhood": "Brooklin",
"city": "São Paulo",
"uf": "SP",
"complement": "Cj 303",
"postal_code": "04501-140"
},
"type": "atm"
}

Objeto que representa o terminal que foi utilizado para o depósito.

nometipodescrição
idstringIdentificador do terminal no sistema do cliente
latitudenumberLatitude, em graus, da localização do terminal
longitudenumberLongitude, em graus, da localização do terminal
addressaddressEndereço do terminal
typeenumTipo do terminal, possíveis valores: "atm", "counter"

Objeto Authentication

Request Body
{
"used_password": true,
"used_card": true,
"used_fingerprint": true,
"typed_account_number": false
}

Objeto que define os parâmetros da autenticação utilizada no momento do depósito.

nometipodescrição
used_passwordbooleanDetermina se o usuário utilizou senha
used_cardbooleanDetermina se o usuário está com o cartão presente na autenticação
used_card_chip_and_pinbooleanDetermina se o usuário utilizou o chip e senha do cartão
used_card_magnetic_stripebooleanDetermina se o usuário utilizou a tarja magnética do cartão
used_fingerprintbooleanDetermina se o usuário utilizou fingerprint
typed_account_numberbooleanDetermina se o usuário digitou os dados da conta

Enviar um Depósito

Request Body
  {
"id": "12345",
...
}
Response Body
  {
"id": "082373263",
"analysis_status": "automatically_approved",
"reason": "2019-10-01T10:37:25-03:00"
}

Para realizar a avaliação de um depósito, basta enviar um objeto do tipo deposit ao seguinte endpoint:

POST https://api.caas.qitech.app/deposit/deposit

Recuperar um Depósito

Response Body
  {
"id": "082373263",
"analysis_status": "automatically_approved",
"reason": "2019-10-01T10:37:25-03:00"
}

Para recuperar os dados de um depósito, basta enviar uma requisição ao seguinte endpoint:

GET https://api.caas.qitech.app/deposit/deposit/{deposit_id}

Onde deposit_id é o identificador da transação no sistema do cliente utilizado no envio do depósito.

Atualizar um depósito

Request Body
  {
"deposit_status": "completed",
"event_date": "2020-10-07T15:06:25-03:00"
}
Response Body
  {
"id": "082373263",
"deposit_status": "completed"
}

Após um depósito ser criado e analisado, o dinheiro será disponibilizado ao usuário. Este processo pode ser interrompido por alguma outra regra de negócio. Deste modo, é necessário que seja informada a atualizações de status do saque quando este for finalizado, através do endpoint:

PUT https://api.caas.qitech.app/deposit/deposit/{deposit_id}

Deste modo, garante-se que nossa base de dados seja atualizada e sejamos capazes de identificar os depósitos que estejam realmente sucetíveis a fraude.