Wire Transfers
At the moment a user makes or receives a wire transfer, the wire transfer data must be sent to QI Tech. This enables a risk analysis of the transaction based on that dataset.
Wire Transfer Object Definition
Request Body
{
"id": "082373263",
"wire_transfer_direction": "received",
"wire_transfer_type": "ted",
"amount": 13725,
"wire_transfer_date": "2020-10-07T15:06:25-03:00",
"face_recognition_key": "ef39e206-13d5-48de-b368-6c3bbc6f0222",
"validation_key": "69a59de3-0198-4a26-933a-c1de624c147d",
"client": {
"type": "natural_person",
"id": "123456",
"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"
},
"email": "mailto@qitech.com.br",
"sales_channel": "inbound_sales",
"segment": "Personalité"
},
"source_account": {
"participant": "17315359",
"branch": "0000",
"account_number": "10442",
"account_digit": "6",
"owner": {
"type": "legal_person",
"document_number": "07.487.735/0001-69",
"name": "Gioconda Pizzaria e Rotisseria LTDA."
},
"account_type": "CACC",
"opening_date": "2020-01-15T18:00:00-03:00"
},
"destination_account": {
"participant": "60701190",
"branch": "3675",
"account_number": "10442",
"account_digit": "6",
"owner": {
"type": "natural_person",
"document_number": "056.966.649-03",
"name": "Francisco Oliveira Benedetti"
},
"account_type": "SLRY",
"opening_date": "2020-01-15T18:00:00-03:00"
},
"source": {
"channel": "internet_banking",
"platform": "android",
"ip": "198.185.065.098",
"session_id": "7839jdqd9a8wd9"
}
}
A wire transfer must be sent to the API for preliminary fraud validation before being forwarded to the processing system.
The wire transfer status represents the decision returned by the model regarding that wire transfer. The following statuses are used in the analysis_status flag:
automatically_approvedautomatically_reprovedin_manual_analysispending
Below are the meanings of each decision returned in the analysis_status flag:
| status | description |
|---|---|
| automatically_approved | It is recommended that this wire transfer be approved. |
| automatically_reproved | It is recommended that this wire transfer be reproved. |
| in_manual_analysis | It is recommended that the wire transfer be analyzed manually by an analyst. |
| pending | The wire transfer is being processed. |
| name | type | description |
|---|---|---|
| id | string | Transaction identifier in the client's system. It is essential that this number is unique for each wire transfer |
| wire_transfer_direction | enumerator | Registered wire transfer modality. Defines whether the client is receiving or sending money. |
| wire_transfer_type | enumerator | Type of wire transfer performed, which can be a TED, a DOC, or an internal transfer between accounts of the same institution. |
| amount | integer | The wire transfer amount in cents - as described in the "Standards" section. |
| wire_transfer_date | datetime | The wire transfer start date and time, with time zone. |
| face_recognition_key | string | Facial recognition key, if facial recognition was performed by our facial recognition API. |
| validation_key | string | Validation key, if any client validation test was performed in our validation API. |
| client | client | Object representing the client's data, whether they are the client making the wire transfer or the receiver. |
| source_account | source_account | Object representing the debited account data. |
| destination_account | destination_account | Object representing the credited account data. |
| source | source | Source type object describing information coming from the application used for sending the wire transfer. |
The following enumerators exist for wire_transfer_direction: sent and received.
The following enumerators exist for wire_transfer_type: ted, doc, internal_transfer.
Send a Wire Transfer
Request Body
{
"id": "12345",
...
}
Response Body
{
"wire_transfer_key": "13d680ef-4b72-4cb2-a63d-cf3d790abaaf",
"status": "automatically_approved",
"reason": "rule_decision_enum"
}
To perform the evaluation of a wire transfer, simply send a Wire Transfer object to the following endpoint:
POST https://api.caas.qitech.app/wire_transfer/wire_transfer
Retrieve a Wire Transfer
Response Body
{
"id": "082373263",
"wire_transfer_direction": "received",
...
}
To retrieve data from a wire transfer, simply send a request to the following endpoint:
GET https://api.caas.qitech.app/wire_transfer/wire_transfer/{wire_transfer_id}
Where wire_transfer_id is the transaction identifier in the client's system used when sending the wire transfer.
Update a Wire Transfer
Request Body
{
"wire_transfer_status": "completed",
"event_date": "2020-10-07T15:06:25-03:00"
}
Response Body
{
"wire_transfer_key": "13d680ef-4b72-4cb2-a63d-cf3d790abaaf",
"wire_transfer_status": "completed"
}
After a wire transfer is created and analyzed, it is sent to the clearing house for processing. Thus, it is necessary to report wire transfer status updates when it is sent, via the endpoint:
PUT https://api.caas.qitech.app/wire_transfer/wire_transfer/{wire_transfer_id}
This ensures that our database remains updated, allowing us to accurately identify wire transfers that are genuinely susceptible to fraud.