Skip to main content

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_approved
  • automatically_reproved
  • in_manual_analysis
  • pending

Below are the meanings of each decision returned in the analysis_status flag:

statusdescription
automatically_approvedIt is recommended that this wire transfer be approved.
automatically_reprovedIt is recommended that this wire transfer be reproved.
in_manual_analysisIt is recommended that the wire transfer be analyzed manually by an analyst.
pendingThe wire transfer is being processed.
nametypedescription
idstringTransaction identifier in the client's system.
It is essential that this number is unique for each wire transfer
wire_transfer_directionenumeratorRegistered wire transfer modality. Defines whether the client is receiving or sending money.
wire_transfer_typeenumeratorType of wire transfer performed, which can be a TED, a DOC, or an internal transfer between accounts of the same institution.
amountintegerThe wire transfer amount in cents - as described in the "Standards" section.
wire_transfer_datedatetimeThe wire transfer start date and time, with time zone.
face_recognition_keystringFacial recognition key, if facial recognition was performed by our facial recognition API.
validation_keystringValidation key, if any client validation test was performed in our validation API.
clientclientObject representing the client's data, whether they are the client making the wire transfer or the receiver.
source_accountsource_accountObject representing the debited account data.
destination_accountdestination_accountObject representing the credited account data.
sourcesourceSource 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.