RFI Examples
This guide walks through how clients respond to RFIs. For a list of RFI types and definitions, see Transaction RFI Types.
Step 1: Review webhook
The client is expected to consume the Transaction Compliance Status event to figure out if there is any change in thecomplianceStatus of the transaction.
Step 2: Fetch the transaction
The client is expected to call the Get Transaction API after receiving the webhook event.
Next, the client must review the complianceStatus field of the event to figure out the current compliance status of the transaction.
If complianceStatus returns RFI_REQUESTED, then the client should consume the information contained in rfiDetails field in the Fetch Transaction response.
Step 3: Review rfiDetails
The rfiDetails field is an array of objects, each containing the details of the RFI request. The client should review the details inside these objects:
- The RFI's unique identifiers (
rfiHashId,rfiIdandrfiStatus) help identify the RFIs. descriptionandremarksparameters help identify why an RFI was raised.transactionEntityTypeparameter helps identify who the RFI is for -DEBTORorCREDITOR.- Use the
type,documentType&requiredDatafield to respond to the RFI.
Response Example
{
"rfiDetails": [
{
"rfiHashId": "9d6676fb-e6b9-435f-9c4b-f47f7f72b9a0",
"rfiId": "ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975",
"rfiStatus": "RFI_REQUESTED",
"description": "address",
"mandatory": true,
"type": "data",
"documentType": "NA",
"remarks": "Please provide the remitter's address as we couldn't locate the one submitted during the payout request",
"transactionEntityType": "DEBTOR",
"requiredData": [
{
"label": "Post Code",
"value": "postcode",
"type": "data"
},
{
"label": "Country",
"value": "country",
"type": "data"
},
{
"label": "State",
"value": "state",
"type": "data"
},
{
"label": "City",
"value": "city",
"type": "data"
},
{
"label": "Address Line2",
"value": "addressLine2",
"type": "data"
},
{
"label": "Address Line1",
"value": "addressLine1",
"type": "data"
}
]
},
{
"rfiHashId": "42306dfe-32e8-49db-b33a-ba3718be1b85",
"rfiId": "ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975",
"rfiStatus": "RFI_REQUESTED",
"description": "bankName",
"mandatory": true,
"type": "data",
"documentType": "NA",
"remarks": "Please provide the name of the remitter's bank",
"transactionEntityType": "DEBTOR",
"requiredData": [
{
"label": "Bank Name",
"value": "bankName",
"type": "data"
}
]
},
{
"rfiHashId": "29eb2280-a52a-418b-8749-bdc29f9c0623",
"rfiId": "ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975",
"rfiStatus": "RFI_RESPONDED",
"description": "dateOfBirth",
"mandatory": true,
"type": "data",
"documentType": "NA",
"remarks": "Please provide the date of birth for the remitter since the dob submitted earlier doesn't match with the govt. records",
"transactionEntityType": "DEBTOR",
"requiredData": [
{
"label": "Date Of Birth",
"value": "dateOfBirth",
"type": "data"
}
]
}
]
}
Based on the above Get Transaction response snippet, we can identify that,
- The RFIs with the following unique IDs needs a response:
rfiId=ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975rfiHashId=9d6676fb-e6b9-435f-9c4b-f47f7f72b9a0and42306dfe-32e8-49db-b33a-ba3718be1b85rfiStatus=RFI_REQUESTED
- The RFIs with the following unique IDs have already been responded to and doesn't need further action from the client. This is detailed in the
rfiStatusfield with the response returningRFI_RESPONDED.rfiId=ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975rfiHashId=29eb2280-a52a-418b-8749-bdc29f9c0623
- The RFI with
rfiHashId=9d6676fb-e6b9-435f-9c4b-f47f7f72b9a0has been raised to collect the debtor's address (remitter in case of a Payout Transaction) because the compliance agent found an inconsistency. - While responding to the RFI with
rfiId=ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975&rfiHashId=9d6676fb-e6b9-435f-9c4b-f47f7f72b9a0the information should be a piece of data; no documentation is required. This is detailed in thetypefield with the response returningdata.
Data Based RFIs
ADDRESS
Response with RFI
{
"rfiDetails": [
{
"rfiHashId": "9d6676fb-e6b9-435f-9c4b-f47f7f72b9a0",
"rfiId": "ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975",
"rfiStatus": "RFI_REQUESTED",
"description": "address",
"mandatory": true,
"type": "data",
"documentType": "NA",
"remarks": "r",
"transactionEntityType": "DEBTOR",
"requiredData": [
{
"label": "Post Code",
"value": "postcode",
"type": "data"
},
{
"label": "Country",
"value": "country",
"type": "data"
},
{
"label": "State",
"value": "state",
"type": "data"
},
{
"label": "City",
"value": "city",
"type": "data"
},
{
"label": "Address Line2",
"value": "addressLine2",
"type": "data"
},
{
"label": "Address Line1",
"value": "addressLine1",
"type": "data"
}
]
}
]
}
Request to answer RFI
{
"rfiResponseRequest": [
{
"rfiResponseInfo": {
"address":{
"addressLine1": "High Street 101, 56th Avenue",
"addressLine2": "Hyung County",
"state":null,
"city": "Singapore",
"country": "SG",
"postcode": "28046"
},
"rfiHashId": "52a3c254-0efd-444d-a144-f0075eca0722"
}
]
}
BANK_NAME
Similar response structures can be used for other RFIs like:
FIRST_NAMEMIDDLE_NAMELAST_NAMEINDUSTRY_TYPEIS_PEPNATIONALITY
Response with RFI
{
"rfiDetails": [
{
"rfiHashId": "42306dfe-32e8-49db-b33a-ba3718be1b85",
"rfiId": "ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975",
"rfiStatus": "RFI_REQUESTED",
"description": "bankName",
"mandatory": true,
"type": "data",
"documentType": "NA",
"remarks": "r",
"transactionEntityType": "DEBTOR",
"requiredData": [
{
"label": "Bank Name",
"value": "bankName",
"type": "data"
}
]
}
]
}
Request to answer RFI
{
"rfiResponseRequest": [
{
"rfiResponseInfo": {
"bankName": "State Bank of Mauritius"
},
"rfiHashId": "52a3c254-0efd-444d-a144-f0075eca0722"
}
]
}
DATE_OF_BIRTH
Response with RFI
{
"rfiDetails": [
{
"rfiHashId": "29eb2280-a52a-418b-8749-bdc29f9c0623",
"rfiId": "ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975",
"rfiStatus": "RFI_REQUESTED",
"description": "dateOfBirth",
"mandatory": true,
"type": "data",
"documentType": "NA",
"remarks": "r",
"transactionEntityType": "DEBTOR",
"requiredData": [
{
"label": "Date Of Birth",
"value": "dateOfBirth",
"type": "data"
}
]
}
]
}
Request to answer RFI
{
"rfiResponseRequest": [
{
"rfiResponseInfo": {
"dateOfBirth": "1986-10-24"
},
"rfiHashId": "52a3c254-0efd-444d-a144-f0075eca0722"
}
]
}
EMPLOYMENT_STATUS
Similar response structures can be used for other RFIs like:
POSITIONREASON_FOR_TRANSFERREMITTER_BENEFICIARY_RELATIONSHIPSOURCE_OF_FUNDSTHIRD_PARTY_FUNDING
Response with RFI
{
"rfiDetails": [
{
"rfiHashId": "2bd9f61e-444e-4f9b-ab38-a32589f5a62c",
"rfiId": "ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975",
"rfiStatus": "RFI_REQUESTED",
"description": "employmentStatus",
"mandatory": true,
"type": "data",
"documentType": "NA",
"remarks": "r",
"transactionEntityType": "DEBTOR",
"requiredData": [
{
"label": "Employment Status",
"value": "employmentStatus",
"type": "data"
}
]
}
]
}
Request to answer RFI
{
"rfiResponseRequest": [
{
"rfiResponseInfo": {
"employmentStatus": "Salaried"
},
"rfiHashId": "52a3c254-0efd-444d-a144-f0075eca0722"
}
]
}
TM_OTHER_DATA
Response with RFI
{
"rfiDetails": [
{
"rfiHashId": "2bd9f61e-444e-4f9b-ab38-a32589f5a62c",
"rfiId": "ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975",
"rfiStatus": "RFI_REQUESTED",
"description": "otherData",
"mandatory": true,
"type": "data",
"documentType": "NA",
"remarks": "Please mention the relation of your organization with the US Govt. Agency",
"transactionEntityType": "DEBTOR",
"requiredData": [
{
"label": "Other Data",
"value": "otherData",
"type": "data"
}
]
}
]
}
Request to answer RFI
{
"rfiResponseRequest": [
{
"rfiResponseInfo": {
"additionalInfo": {
"otherData": "Our organization is a subsidiary of the US Govt. Agency"
},
"rfiHashId": "52a3c254-0efd-444d-a144-f0075eca0722"
}
]
}
Document based RFIs
DRIVER_LICENSE
A similar response structure can also be used for other RFIs, including:
PASSPORTSALARY_STATEMENTBANK_STATEMENT
Response with RFI
{
"rfiDetails": [
{
"rfiHashId": "2ee641b9-1a58-440b-b25b-a01e7e09c7c2",
"rfiId": "ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975",
"rfiStatus": "RFI_REQUESTED",
"description": "driverLicense",
"mandatory": true,
"type": "document",
"documentType": "POA",
"remarks": "r",
"transactionEntityType": "DEBTOR",
"requiredData": [
{
"label": "Driver's License Document",
"value": "identificationDocument",
"type": "document"
},
{
"label": "Driver's License Issuing Date",
"value": "identificationIssuingDate",
"type": "data"
},
{
"label": "Issuing Authority",
"value": "identificationIssuingAuthority",
"type": "data"
},
{
"label": "Driver's License Number",
"value": "identificationValue",
"type": "data"
}
]
}
]
}
Request to answer RFI
{
"rfiResponseRequest": [
{
"rfiResponseInfo": {
identificationDoc: {
"identificationType": "DRIVER_LICENSE",
"identificationValue": "DL2194381",
"identificationIssuanceAuthority": "ACT Road Users Services",
"identificationIssuingDate": "2029-10-29",
"identificationDocument": [
{
"fileName": "Driver's License Front.jpg",
"fileType": "image/jpg",
"document": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
},
{
"fileName": "Driver's License Back.jpg",
"fileType": "image/jpg",
"document": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
}
]
},
"rfiHashId": "52a3c254-0efd-444d-a144-f0075eca0722"
}
]
}
INVOICE
Similar response structure can be used for other RFIs like:
APPLICANT_AUTHORITY_LETTERGOVERNMENT_DOCUMENTPERSONAL_IMAGE
Response with RFI
{
"rfiDetails": [
{
"rfiHashId": "5bbb5e72-151a-4998-b76e-4f210db22c3c",
"rfiId": "ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975",
"rfiStatus": "RFI_REQUESTED",
"description": "Invoice",
"mandatory": true,
"type": "document",
"documentType": "NA",
"remarks": "Please provide the copy of the Invoice not more than 90 days old",
"transactionEntityType": "DEBTOR",
"requiredData": [
{
"label": "Invoice",
"value": "identificationDocument",
"type": "document"
}
]
}
]
}
Request to answer RFI
{
"rfiResponseRequest": [
{
"rfiResponseInfo": {
identificationDoc: {
"identificationType": "INVOICE",
"identificationDocument": [
{
"fileName": "Invoice-Page1.jpg",
"fileType": "image/jpg",
"document": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
},
{
"fileName": "Invoice-Page2.jpg",
"fileType": "image/jpg",
"document": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
},
{
"fileName": "Invoice-Page3.jpg",
"fileType": "image/jpg",
"document": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
}
]
},
"rfiHashId": "52a3c254-0efd-444d-a144-f0075eca0722"
}
]
}
OTHERS
Response with RFI
Similar response structure can be used for other RFIs like APPLICANT_AUTHORITY_LETTER
{
"rfiDetails": [
{
"rfiHashId": "5bbb5e72-151a-4998-b76e-4f210db22c3c",
"rfiId": "ff18e4f5-0eb2-4eb7-a57b-2e6fe7efd975",
"rfiStatus": "RFI_REQUESTED",
"description": "others",
"mandatory": true,
"type": "document",
"documentType": "NA",
"remarks": "Please provide the copy of the CEO's Letters",
"transactionEntityType": "DEBTOR",
"requiredData": [
{
"label": "Other Document",
"value": "identificationDocument",
"type": "document"
}
]
}
]
}
Request to answer RFI
{
"rfiResponseRequest": [
{
"rfiResponseInfo": {
identificationDoc: {
"identificationType": "OTHERS",
"identificationDocument": [
{
"fileName": "CEOLetter-Page1.jpg",
"fileType": "image/jpg",
"document": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
},
{
"fileName": "CEOLetter-Page2.jpg",
"fileType": "image/jpg",
"document": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
},
{
"fileName": "CEOLetter-Page3.jpg",
"fileType": "image/jpg",
"document": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
}
]
},
"rfiHashId": "52a3c254-0efd-444d-a144-f0075eca0722"
}
]
}