Name Verification Using Bulk Upload
POST /requester/v1.0/cop-iban-check/bulk-account-verifications- The API allows us to upload a list of payee details in a file (.xls or .xlsx or .csv) and name verification check will be done against each row provided.
- The payee details have to be uploaded using this template to do name verification.
- The data in the file will undergo a validation check prior to name verification check.
- The files with no validation failures will be processed further for confirmation of payee details.
- If the file has validation failures, it will not be processed.
- The row/rows with validation failures will be displayed in the JSON response and the response error report will be generated automatically in the swagger page.
Request Headers
| Attribute | Type | Condition | Description |
|---|---|---|---|
| Authorization | String | Mandatory | An authorisation token as per https://tools.ietf.org/html/rfc6750 |
| x-fapi-interaction-id | UUID | Mandatory | An RFC4122 UID used as a correlation id (For Ex - 4e9d15b3-0db4-43b0-9dad-0ac74ae1ff12) |
| Content-Type | String | Mandatory | Value = multipart/form-data |
Request Body
| Attribute | Type | Conditional | Description |
|---|---|---|---|
| File | .xls or .xlsx or .csv | Mandatory | The payee details have to be uploaded using this template |
Response Headers
| Attribute | Type | Condition | Description |
|---|---|---|---|
| x-fapi-interaction-id | UUID | Optional | An RFC4122 UID used as a correlation id. |
| Content-Type | String | Mandatory | Value = application/json |
Response Body
OBNameVerificationUploadResponse (Success Response)
| Attribute | Type | Condition | Description |
|---|---|---|---|
| BatchID | String | Mandatory | A unique BatchID is generated for every batch uploaded |
| Message | String | Mandatory | This message will let us know whether the upload of batch is successful |
| Links | Links | Optional | Links relevant to the payload |
| Links.Self | String | Optional | Link of the specific path URL |
| Meta | Meta | Optional | Meta Data relevant to the payload |
| Meta.FirstAvailableDateTime | String($date-time) | Optional | All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 |
| Meta.LastAvailableDateTime | String($date-time) | Optional | All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 |
| Meta.TotalPages | Integer($int32) | Optional | Total number of pages |
OBErrorResponse1 (Error Response)
| Attribute | Type | Condition | Description |
|---|---|---|---|
| Code | String | Mandatory | High level textual error code, to help categorize the errors. |
| Errors | List of OBError1 | Mandatory | Response scheme of errored scenario |
| Errors.ErrorCode | String | Mandatory | Low level textual error code, e.g., UK.PayUK.Field.Missing |
| Errors.Message | String | Mandatory | A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future' OBIE doesn't standardise this field |
| Errors.Path | String | Optional | The path of the API in which error is received |
| Errors.URL | String | Optional | URL to help remediate the problem, or provide more information, or to API Reference, or help etc |
| Id | String | Optional | A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors. |
| Message | String | Optional | Brief Error message, e.g., 'There is something wrong with the request parameters provided' |
Response Codes
| Status Code | Description |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 405 | Method Not Allowed |
| 406 | Not Acceptable |
| 415 | Unsupported Media Type |
| 429 | Too Many Requests |
| 500 | Internal Server Error |
Example
-
Request
POST /requester/v1.0/cop-iban-check/bulk-account-verifications
Authorization: Bearer 2YotnFZFEjr1zCsicMWpAA
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d
Content-Type: multipart/form-data
Accept: multipart/form-data
Form-data:
Key: file
Value: A .xls or .xlsx or .csv file has to be uploaded in the provided template-
Response
# Success Response for files with no validation failures
HTTP/1.1 200 OK
Content-Type: application/json
{
"BatchId": "1665485197owZ",
"Message": "Upload successful and bulk name check initiated",
"Links": {
"Self": "/v1.0/cop-iban-check/bulk-account-verifications"
},
"Meta": {
"TotalPages": 1
}
}-
Failure Response
# Failure Response for files with validation failures
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"Code": "Field Invalid",
"Id": "1665485657Wjc",
"Message": "Upload failed. Click here to download the file containing the details of error(s). Fix the errors and upload the file again",
"Errors": [
{
"ErrorCode": "Field Invalid",
"Message": "Failed Index: 1, Failed Column: Invalid sort code 1000000"
},
{
"ErrorCode": "Field Invalid",
"Message": "Failed Index: 2, Failed Column: Invalid account number 101010888"
},
{
"ErrorCode": "Field Invalid",
"Message": "Failed Index: 3, Failed Column: Invalid account type Personals"
},
{
"ErrorCode": "Field Invalid",
"Message": "Failed Index: 4, Failed Column: Invalid account name J0hn Smith"
},
{
"ErrorCode": "Field Invalid",
"Message": "Failed Index: 10, Failed Column: Invalid account type Businesss"
}
]
}Field Validations
| Field | Condition | Constraint |
|---|---|---|
| Index | Mandatory | Must have only numbers |
| SortCode | Mandatory | Should be a 6 digit number |
| AccountNumber | Mandatory | Should be a 8 digit number |
| AccountType | Mandatory | Should be Personal or Business |
| AccountName | Mandatory | Should not contain integers |