Project

General

Profile

Suitabiliaty Test » History » Version 2

prin methirattanasophon, 02/19/2026 06:13 AM

1 1 prin methirattanasophon
# Suitabiliaty Test
2
3
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.
4
5
Page Route: /onboarding/suite-test
6
Data Source:
7
 - localStorage: member_id, age
8
 - API: suitability question
9
10
UI:
11
|Section|description|value|
12
|:--|:--|:--|
13
|Questions and Answer|display question with choices. combination for single selection choices or multiple selection choices base on question type||
14
|Result Table|calculate score and display risk level|low, medium low, medium high, high, very high|
15
|Risk Agreement|only for low, medium low, medium high level need to check accept risk|bool|
16
17 2 prin methirattanasophon
Workflow:
18
19
<img style="width: 291px;" src="clipboard-202602191313-umkw2.png"><br>
20
21 1 prin methirattanasophon
---
22
23
System Integration
24
25
1. Get Suitability Question
26
27
API:
28
 - Endpoint: /customer/suitability
29
 - Method: GET
30
 - Data: Query params
31
```
32
...?id={member_id}
33
```
34
35
Response Parameters:
36
37
|Parameter|Type|Description|
38
|:--|:--|:--|
39
|user_age|Int|User age|
40
|version|String|Version (Timestamp)|
41
|en|Array[Object]|Question and Choices (English)|
42
|th|Array[Object]|Question and Choices (Thai)|
43
44
Question Structure (Object in en/th)
45
46
|Field|Type|Description|
47
|:--|:--|:--|
48
|{id}|String|"Key question index (eg. ""1"", ""2"") question"
49
|type|Int|"1 = Single Choice, 2 = Multiple Choice"|
50
|answer|Array[Object]|Choices seperate by Choice ID|
51
52
---
53
54
2. Submission
55
56
API:
57
 - Endpoint: /customer/suitability
58
 - Method: POST
59
60
Request Body:
61
62
|key|type|description|
63
|:--|:--|:--|
64
|question|string|number of question|
65
|answer|Array[string]|["q\|a",...]|
66
|total|Int|score|
67
|acknowledge|bool||
68
|suitability_test_score_code|string||
69
|result_version|string|result version|
70
|suite_test_version|string|question version|
71
|step|Int|page index|