RFI process for corporate customers
After submission, the status in the Onboard Corporate Customer response is IN_PROGRESS
. The applicant needs to complete both the Applicant KYC (if applicable) and Upload documents steps to proceed further. Once done, Nium initiates verification and sends the response via a webhook.
The application might be approved at this stage; and if it isn't approved, the application goes through a manual review. Any changes in the status is again communicated via a webhook.
If the agent requires more information to approve the application, he raises an RFI. This will trigger a webhook (CARD_CLIENT_KYB_STATUS_WEBHOOK
) with the status RFI_REQUESTED
. Client has to perform the following steps:
- Step 1: call the Fetch Corporate Customer RFI Details API
- Step 2: call the Respond to RFI Details API
Step 1: call the Fetch Corporate Customer RFI Details API
Call the Fetch Corporate Customer RFI Details API with either caseID
or clientID
or customerHashId
in the query parameter.
Response of Fetch Corporate Customer RFI Details
The rfiTemplates
array of objects can contain more than one RFI template that is requested for the business or the same stakeholder or a different stakeholder. However, the same template will not be repeated for the same stakeholder or business unless one of them is in the RFI_RESPONDED
state.
rfiTemplates
object
rfiTemplates
objectParameter | Type | Description |
---|---|---|
referenceID | string | This is the referenceId of the entity for which the RFI is raised. This field is available to applicants and stakeholders. When this value available, you need to pass the same referenceId in the Respond to RFI API. If you don't already have, use the Customer Details API to fetch the referenceId for each stakeholder and applicant. |
remarks | string | This field returns any remarks entered by the compliance agent. |
status | enum | The status of this particular template is either RFI_REQUESTED or RFI_RESPONDED . This field changes to RFI_RESPONDED when an RFI template is responded to. |
templateId | string | The RFI template ID. This is not a unique value for the RFI. There is a one-to-one mapping for templateId and template.name . Example: If stakeholderAddress RFI is raised for two stakeholders, they have the same templateId with different referenceId . Note: There can be two templates with the same templateId and referenceId but with different status . |
template | object | This object contains information about the template. |
template
object
template
objectThis object is within the rfiTemplates
array of objects and contains information about the template.
Parameter | Type | Description |
---|---|---|
documentType | enum | This is the type of the document expected from the customer: Valid values: POA (Poof of Address)POI (Proof of Identity)LOA (Letter of AuthorizationPOWER_OF_ATTORNEY document (for any other kind of document) |
name | string | The name of the template. For example: stakeholderAddress and stakeholderIdentity . |
requiredFields | array of objects | This object contains metadata and can be used to directly display the required fields to the customer. Note: This object can be ignored if you are displaying the required fields yourself. |
rfiType | enum | Valid values are: corporate for businessDetails related or riskAssessmentInfo related RFIsapplicant for applicant related RFIsstakeholder for individual and corporate related RFIs |
type | enum | The determines the type of template. Valid values are: data document |
requiredFields
array
requiredFields
arrayThis array of objects is within the rfiTemplates.template
object and contains metadata as well as can be used to directly display the required fields to the customer.
NOTE: This object can be ignored if you are constructing the set of required fields yourself.
Parameter | Type | Description |
---|---|---|
fieldLabel | string | This text can be directly displayed on the form to the customer as a label. |
fieldValue | string | This indicates into which onboarding API field the value is sent. Valid values are: documentType documentNumber documentExpiryDate document intendedUseOfAccount businessName transactionCountries Note: document refers to the document object that contains the fileName , fileType , and document base-64 fields.documentExpiryDate may not be available for all documentType values. This can be treated as optional and can be sent for DRIVER_LICENSE or PASSPORT . |
type | enum | Use this to configure the UI element. Valid values are data document |
Step 2: call Respond to RFI Details
Pick the templates where status = RFI_REQUESTED
and call the Respond to RFI Details API.
Parameter | Type | Description |
---|---|---|
region | enum | Valid values are: AU EU HK SG UK US |
clientId caseId customerHashId | string | Any one of these three values is required. |
rfiResponseRequest | array of objects | This contains an array of objects each of which is a response to an RFI template present in Fetch RFI Details API. |
rfiResponseRequest
array
rfiResponseRequest
arrayThis contains an array of objects each of which is a response to an RFI template present in Fetch RFI Details API.
Parameter | Type | Description |
---|---|---|
rfiTemplateId | string | The ID corresponding to each template name |
businessDetails | object | This object is similar to the businessDetails object in the Onboard Corporate Customer API but requires only the required fields of the RFI. Note: API reference section for Respond to RFI Details mentions businessInfo instead of businessDetails . We accept both values to ensure backward compatibility |
riskAssessmentInfo | object | This object is similar to the riskAssessmentInfo object in the Onboard Corporate Customer API but contains only the required fields. |
The fields and structure of the Respond to RFI API are the same as that of the Onboard Corporate Customer API
You need to send only the required fields for the RFI and not the entire onboard request again. For examples of how to send each RFI, see RFI examples.
You can choose to add the documentType
field within the documentDetails
object. Use the following values for documentType
BUSINESS_REGISTRATION_DOCUMENT
INVOICE
LICENSE
OTHER
PARTNERSHIP_DEED
PROOF_OF_ADDRESS
PROOF_OF_IDENTITY
SELFIE
TRUST_DEED
LOA
POWER_OF_ATTORNEY
The documentDetails
element--not an array--is an object for the Fetch Corporate Constants API of all applicant, corporate, and stakeholder rfiType
values. Its behavior is different from the Onboard Corporate API because different RFIs will be raised for each document required. However, if you want to send multiple files for the same document--for example, the front and back of a passport--you can make use of the document object which is an array of objects with fields fileName
, fileType
, and document
.
To enable backward compatibility this API supports both businessInfo
object and businessDetails
object.
Sending referenceId
is required for rfiType = applicant
or rfiType = stakeholder
. You will find the referenceId
against each RFI template in the response of the Fetch RFI Details API.
Responding to multiple RFI templates
You can respond to multiple RFI templates in the same request. Make sure you have different objects for each templateID
-referenceId
combination. That is, if there are two stakeholders with the same templateId
, you need to have two objects within the rfiResponseRequest
array of objects.
Once all the RFI templates are responded, the status of the application changes from RFI_REQUESTED
to RFI_RESPONDED
and you will receive a webhook with complianceStatus
=RFI_RESPONDED
After the application, the complianceStatus
can again become RFI_REQUESTED
or one of the terminal states becomes COMPLETED
or REJECTED
.
Though rare, compliance agent can raise an RFI even after the complianceStatus
is COMPLETED
. Make sure to provision such cases.
Common error scenarios
Error | Description |
---|---|
RFI template ID is invalid | There is no RFI raised for the customer whose RFI template you are trying to respond to. |
RFI is already responded | Our agent has responded to the RFI by collecting information from other sources before the customer. To prevent these cases, call the Fetch RFI Details API when the customer is ready to respond and display only those templates that are in the RFI_REQUESTED state. |
Reference ID is required to process the responded RFI | The referenceId field is mandatory for all applicant-related RFIs and stakeholder-related RFIs. |
Updated 10 months ago