Project

General

Profile

Suitabiliaty Test » History » Revision 2

Revision 1 (prin methirattanasophon, 02/19/2026 06:01 AM) → Revision 2/4 (prin methirattanasophon, 02/19/2026 06:13 AM)

# Suitabiliaty Test 

 Description: To assess an investor's risk profile by analyzing their financial status, knowledge, experience, and feelings when experiencing losses. This helps investors understand themselves better and choose appropriate investment products, protecting them from excessive investment risks. 

 Page Route: /onboarding/suite-test 
 Data Source: 
  - localStorage: member_id, age 
  - API: suitability question 

 UI: 
 |Section|description|value| 
 |:--|:--|:--| 
 |Questions and Answer|display question with choices. combination for single selection choices or multiple selection choices base on question type|| 
 |Result Table|calculate score and display risk level|low, medium low, medium high, high, very high| 
 |Risk Agreement|only for low, medium low, medium high level need to check accept risk|bool| 

 Workflow: 

 <img style="width: 291px;" src="clipboard-202602191313-umkw2.png"><br> 

 --- 

 System Integration 

 1. Get Suitability Question 

 API: 
  - Endpoint: /customer/suitability 
  - Method: GET 
  - Data: Query params 
 ``` 
 ...?id={member_id} 
 ``` 

 Response Parameters: 

 |Parameter|Type|Description| 
 |:--|:--|:--| 
 |user_age|Int|User age| 
 |version|String|Version (Timestamp)| 
 |en|Array[Object]|Question and Choices (English)| 
 |th|Array[Object]|Question and Choices (Thai)| 

 Question Structure (Object in en/th) 

 |Field|Type|Description| 
 |:--|:--|:--| 
 |{id}|String|"Key question index (eg. ""1"", ""2"") question" 
 |type|Int|"1 = Single Choice, 2 = Multiple Choice"| 
 |answer|Array[Object]|Choices seperate by Choice ID| 

 --- 

 2. Submission 

 API: 
  - Endpoint: /customer/suitability 
  - Method: POST 

 Request Body: 

 |key|type|description| 
 |:--|:--|:--| 
 |question|string|number of question| 
 |answer|Array[string]|["q\|a",...]| 
 |total|Int|score| 
 |acknowledge|bool|| 
 |suitability_test_score_code|string|| 
 |result_version|string|result version| 
 |suite_test_version|string|question version| 
 |step|Int|page index|