Know Your Customer
Overview
Car finance know your customer API enables Car Dealers or Nordea Partners to collect KYC information for both household and corporate customers.
Changes from the previous version
This is first version, no previous changes.
Sample flow
On the picture below you can see the sample KYC API flow.
NF Car Partners application call to token API first to get token for Nordea. Token need to be passed in header to KYC API. KYC API validate token and the allow access if token is valid. There are two different endpoints for household customers and corporate customers.
Swagger Definition
The Access token API specification is also available in the swagger format. Swagger is the world’s largest framework of API developer tools for the OpenAPI Specification(OAS), more information about it can be found here.
Access Token– This will updated by OBD (Open banking Department)
API Endpoints
KYC API has following end points for household customer and corporate customers
Sandbox
Endpoint | Supported HTTP Methods |
---|---|
api/car-finance/kyc-profile/user | Post |
api/car-finance/kyc-profile/corporate | Post |
On Premises
Endpoint | Supported HTTP Methods |
---|---|
api/car-finance/kyc/household | Post |
api/car-finance/kyc/corporate | Post |
Request Header Parameter
Sr.No. | Field Name | Type | Mandatory Information | Example | |
---|---|---|---|---|---|
1 | x-ibm-client-id | String | Mandatory | you will get it from developer portal. | |
2 | x-ibm-client-secret | String | Mandatory | you will get it from developer portal. | |
3 | Authorization | String | Mandatory | Nordea Token received from Car Finance Token API | |
4 | countryId | String | Mandatory | Country of application origin. | SE |
5 | channel | String | Mandatory | Type of Application, Internal Nordea or External Partners Application or CRM. | CRM |
Examples
Sample Request
{
"countryID": "SE",
"kyc": [
{
"customerID": "some-id",
"answers": {
"customer": {
"occupation": "employed",
"citizenship": "swedish",
"countryOfApplication": "Sweden",
"taxResidenceCountry": [
{
"countryName": "Sweden"
}
],
"pep": {
"isPEP": "no",
"knowsPEP": "no"
}
}
}
}
]
}
Sample Responses
Code: 200 Description: Success
Example
{
"status": "2 KYCs completed",
"errors": [],
"messages": [
{
"customerID": "some customer id",
"message": "Completed"
},
{
"customerID": "some customer id",
"message": "Pending assessment"
}
]
}
Code: 400 Description: Validation errors, like Missing customerNumber
Example
{
"status": "Error",
"errors": [
{
"status": 400,
"message": "Validation failed",
"customerID": "Some customer id",
"errors": [
{
"title": "Invalid request payload",
"detail": "Request payload failed to validate against JSON Schema",
"status": 400,
"errors": [
{
"keyword": "required",
"dataPath": ".customer",
"schemaPath": "#/properties/customer/required",
"params": {
"missingProperty": "occupation"
},
"message": "should have required property 'occupation'"
}
],
"message": "Request payload failed to validate against JSON Schema"
}
]
},
{
"status": 404,
"message": "Error",
"errors": [
{
"title": "Not found",
"detail": "Could not find KYC"
}
],
"customerID": "Some customer id"
}
],
"messages": []
}
Code: 404 Description: Form definition not found
Example
{
"status": "Error",
"errors": [
{
"status": 404,
"message": "Error",
"errors": [
{
"title": "Not found",
"detail": "Could not find KYC"
}
],
"customerID": "4123456789212"
}
],
"messages": [
{
"status": 200,
"message": "Pending assessment",
"customerID": "312345678935",
"errors": []
}
]
}
Code: 500 Description: Internal error
Example
{
"status": "Error",
"errors": [
{
"status": 500,
"message": "Something went wrong",
"customerID": "some customer id",
"errors": [
{
"title": "Something went wrong",
"detail": "Something went wrong, please try again later"
}
]
},
{
"status": 404,
"message": "Error",
"errors": [
{
"title": "Not found",
"detail": "Could not find KYC"
}
],
"customerID": "some customer id"
}
],
"messages": []
}