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:
status | descrição |
---|---|
automatically_approved | Recomenda-se que este depósito seja aprovado. |
automatically_reproved | Recomenda-se que este depósito seja reprovado. |
nome | tipo | descrição |
---|---|---|
id | string | Identificador do depósito no sistema do cliente. É essencial que este número seja único para cada depósito |
amount | integer | Valor do depósito em centavos - conforme descrição da seção "Padrões". |
deposit_date | datetime | Data e hora da realização do depósito - conforme descrição da seção "Padrões". |
client | client | Objeto com os dados do cliente detentor da conta de origem. |
destination_account | account | Objeto que determina a conta de destino do recurso a ser depositado. |
terminal | terminal | Objeto com os dados do terminal onde o depósito está sendo realizado. |
authentication | authentication | Objeto com as informações de autenticação. |
Objetos do Depósito
Object 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.
nome | tipo | descrição |
---|---|---|
id | string | Identificador do terminal no sistema do cliente |
latitude | number | Latitude, em graus, da localização do terminal |
longitude | number | Longitude, em graus, da localização do terminal |
address | address | Endereço do terminal |
type | enum | Tipo do terminal, possíveis valores: "atm", "counter" |
Object 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.
nome | tipo | descrição |
---|---|---|
used_password | boolean | Determina se o usuário utilizou senha |
used_card | boolean | Determina se o usuário está com o cartão presente na autenticação |
used_card_chip_and_pin | boolean | Determina se o usuário utilizou o chip e senha do cartão |
used_card_magnetic_stripe | boolean | Determina se o usuário utilizou a tarja magnética do cartão |
used_fingerprint | boolean | Determina se o usuário utilizou fingerprint |
typed_account_number | boolean | Determina 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.