ondc-code-generator 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alpha/docs/rag-docs/confirm.md +301 -0
- package/alpha/docs/rag-docs/init.md +422 -0
- package/alpha/docs/rag-docs/on_confirm.md +921 -0
- package/alpha/docs/rag-docs/on_init.md +823 -0
- package/alpha/docs/rag-docs/on_search.md +897 -0
- package/alpha/docs/rag-docs/on_select.md +522 -0
- package/alpha/docs/rag-docs/on_status.md +854 -0
- package/alpha/docs/rag-docs/on_update.md +921 -0
- package/alpha/docs/rag-docs/search.md +678 -0
- package/alpha/docs/rag-docs/select.md +344 -0
- package/alpha/docs/rag-docs/status.md +178 -0
- package/alpha/docs/rag-docs/update.md +229 -0
- package/alpha/docs/rag-table-docs/confirm.md +63 -0
- package/alpha/docs/rag-table-docs/init.md +81 -0
- package/alpha/docs/rag-table-docs/on_confirm.md +164 -0
- package/alpha/docs/rag-table-docs/on_init.md +146 -0
- package/alpha/docs/rag-table-docs/on_search.md +163 -0
- package/alpha/docs/rag-table-docs/on_select.md +99 -0
- package/alpha/docs/rag-table-docs/on_status.md +153 -0
- package/alpha/docs/rag-table-docs/on_update.md +164 -0
- package/alpha/docs/rag-table-docs/raw_table.json +11198 -0
- package/alpha/docs/rag-table-docs/search.md +128 -0
- package/alpha/docs/rag-table-docs/select.md +70 -0
- package/alpha/docs/rag-table-docs/status.md +44 -0
- package/alpha/docs/rag-table-docs/update.md +51 -0
- package/alpha/docs/validPaths.json +34134 -0
- package/dist/generator/generators/documentation/markdown-message-generator.js +4 -1
- package/dist/generator/generators/rag/rag-generator.d.ts +39 -28
- package/dist/generator/generators/rag/rag-generator.js +149 -103
- package/dist/generator/generators/rag/rag-table-generator.d.ts +6 -0
- package/dist/generator/generators/rag/rag-table-generator.js +16 -6
- package/package.json +1 -1
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
---
|
|
2
|
+
action: update
|
|
3
|
+
codeName: L1validations
|
|
4
|
+
numTests: 27
|
|
5
|
+
generated: 2026-03-10
|
|
6
|
+
domain: ONDC:FIS12
|
|
7
|
+
version: 2.3.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# L1validations — `update` Validations
|
|
11
|
+
|
|
12
|
+
These are the validation rules applied when processing the `update` API call in the L1validations flow.
|
|
13
|
+
There are **27** validation rules organized into **4** top-level group(s).
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
## UPDATE_CONTEXT
|
|
17
|
+
|
|
18
|
+
This group contains **3** sub-group(s)/validation(s): CONTEXT_REQUIRED, CONTEXT_ENUM, and CONTEXT_REGEX.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
### CONTEXT_REQUIRED
|
|
23
|
+
|
|
24
|
+
This is a group of **12** sub-validation(s) that all must pass: REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE, REQUIRED_CONTEXT_LOCATION_CITY_CODE, REQUIRED_CONTEXT_DOMAIN, REQUIRED_CONTEXT_TIMESTAMP, REQUIRED_CONTEXT_BAP_ID, REQUIRED_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TRANSACTION_ID, REQUIRED_CONTEXT_MESSAGE_ID, REQUIRED_CONTEXT_VERSION, REQUIRED_CONTEXT_TTL, REQUIRED_CONTEXT_BPP_ID, and REQUIRED_CONTEXT_BPP_URI.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
**REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE**
|
|
29
|
+
`group: UPDATE_CONTEXT > CONTEXT_REQUIRED | type: leaf`
|
|
30
|
+
|
|
31
|
+
- $.context.location.country.code must be present in the payload
|
|
32
|
+
|
|
33
|
+
**REQUIRED_CONTEXT_LOCATION_CITY_CODE**
|
|
34
|
+
`group: UPDATE_CONTEXT > CONTEXT_REQUIRED | type: leaf`
|
|
35
|
+
|
|
36
|
+
- $.context.location.city.code must be present in the payload
|
|
37
|
+
|
|
38
|
+
**REQUIRED_CONTEXT_DOMAIN**
|
|
39
|
+
`group: UPDATE_CONTEXT > CONTEXT_REQUIRED | type: leaf`
|
|
40
|
+
|
|
41
|
+
- $.context.domain must be present in the payload
|
|
42
|
+
|
|
43
|
+
**REQUIRED_CONTEXT_TIMESTAMP**
|
|
44
|
+
`group: UPDATE_CONTEXT > CONTEXT_REQUIRED | type: leaf`
|
|
45
|
+
|
|
46
|
+
- $.context.timestamp must be present in the payload
|
|
47
|
+
|
|
48
|
+
**REQUIRED_CONTEXT_BAP_ID**
|
|
49
|
+
`group: UPDATE_CONTEXT > CONTEXT_REQUIRED | type: leaf`
|
|
50
|
+
|
|
51
|
+
- $.context.bap_id must be present in the payload
|
|
52
|
+
|
|
53
|
+
**REQUIRED_CONTEXT_BAP_URI**
|
|
54
|
+
`group: UPDATE_CONTEXT > CONTEXT_REQUIRED | type: leaf`
|
|
55
|
+
|
|
56
|
+
- $.context.bap_uri must be present in the payload
|
|
57
|
+
|
|
58
|
+
**REQUIRED_CONTEXT_TRANSACTION_ID**
|
|
59
|
+
`group: UPDATE_CONTEXT > CONTEXT_REQUIRED | type: leaf`
|
|
60
|
+
|
|
61
|
+
- $.context.transaction_id must be present in the payload
|
|
62
|
+
|
|
63
|
+
**REQUIRED_CONTEXT_MESSAGE_ID**
|
|
64
|
+
`group: UPDATE_CONTEXT > CONTEXT_REQUIRED | type: leaf`
|
|
65
|
+
|
|
66
|
+
- $.context.message_id must be present in the payload
|
|
67
|
+
|
|
68
|
+
**REQUIRED_CONTEXT_VERSION**
|
|
69
|
+
`group: UPDATE_CONTEXT > CONTEXT_REQUIRED | type: leaf`
|
|
70
|
+
|
|
71
|
+
- $.context.version must be present in the payload
|
|
72
|
+
|
|
73
|
+
**REQUIRED_CONTEXT_TTL**
|
|
74
|
+
`group: UPDATE_CONTEXT > CONTEXT_REQUIRED | type: leaf`
|
|
75
|
+
|
|
76
|
+
- $.context.ttl must be present in the payload
|
|
77
|
+
|
|
78
|
+
**REQUIRED_CONTEXT_BPP_ID**
|
|
79
|
+
`group: UPDATE_CONTEXT > CONTEXT_REQUIRED | type: leaf`
|
|
80
|
+
|
|
81
|
+
- $.context.bpp_id must be present in the payload
|
|
82
|
+
|
|
83
|
+
**REQUIRED_CONTEXT_BPP_URI**
|
|
84
|
+
`group: UPDATE_CONTEXT > CONTEXT_REQUIRED | type: leaf`
|
|
85
|
+
|
|
86
|
+
- $.context.bpp_uri must be present in the payload
|
|
87
|
+
|
|
88
|
+
### CONTEXT_ENUM
|
|
89
|
+
|
|
90
|
+
This is a group of **2** sub-validation(s) that all must pass: VALID_CONTEXT_LOCATION_COUNTRY_CODE and VALID_CONTEXT_DOMAIN.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
**VALID_CONTEXT_LOCATION_COUNTRY_CODE**
|
|
95
|
+
`group: UPDATE_CONTEXT > CONTEXT_ENUM | type: leaf`
|
|
96
|
+
|
|
97
|
+
- All elements of $.context.location.country.code must be in ["IND"]
|
|
98
|
+
|
|
99
|
+
> **Skip if:**
|
|
100
|
+
> - $.context.location.country.code is not in the payload
|
|
101
|
+
|
|
102
|
+
**VALID_CONTEXT_DOMAIN**
|
|
103
|
+
`group: UPDATE_CONTEXT > CONTEXT_ENUM | type: leaf`
|
|
104
|
+
|
|
105
|
+
- All elements of $.context.domain must be in ["ONDC:FIS12"]
|
|
106
|
+
|
|
107
|
+
> **Skip if:**
|
|
108
|
+
> - $.context.domain is not in the payload
|
|
109
|
+
|
|
110
|
+
### CONTEXT_REGEX
|
|
111
|
+
|
|
112
|
+
This is a group of **7** sub-validation(s) that all must pass: REGEX_CONTEXT_LOCATION_CITY_CODE, REGEX_CONTEXT_TIMESTAMP_1, REGEX_CONTEXT_BAP_ID, REGEX_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TTL, REGEX_CONTEXT_BPP_ID, and REGEX_CONTEXT_BPP_URI.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
**REGEX_CONTEXT_LOCATION_CITY_CODE**
|
|
117
|
+
`group: UPDATE_CONTEXT > CONTEXT_REGEX | type: leaf`
|
|
118
|
+
|
|
119
|
+
- All elements of $.context.location.city.code must follow every regex in ["(\\*)|(^std\\:[0-9]{2,4}$)"]
|
|
120
|
+
|
|
121
|
+
> **Skip if:**
|
|
122
|
+
> - $.context.location.city.code is not in the payload
|
|
123
|
+
|
|
124
|
+
**REGEX_CONTEXT_TIMESTAMP_1**
|
|
125
|
+
`group: UPDATE_CONTEXT > CONTEXT_REGEX | type: leaf`
|
|
126
|
+
|
|
127
|
+
- All elements of $.context.timestamp must follow every regex in ["^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})$"]
|
|
128
|
+
|
|
129
|
+
> **Skip if:**
|
|
130
|
+
> - $.context.timestamp is not in the payload
|
|
131
|
+
|
|
132
|
+
**REGEX_CONTEXT_BAP_ID**
|
|
133
|
+
`group: UPDATE_CONTEXT > CONTEXT_REGEX | type: leaf`
|
|
134
|
+
|
|
135
|
+
- All elements of $.context.bap_id must follow every regex in ["^(?!.*\b(?:http|https|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"]
|
|
136
|
+
|
|
137
|
+
> **Skip if:**
|
|
138
|
+
> - $.context.bap_id is not in the payload
|
|
139
|
+
|
|
140
|
+
**REGEX_CONTEXT_BAP_URI**
|
|
141
|
+
`group: UPDATE_CONTEXT > CONTEXT_REGEX | type: leaf`
|
|
142
|
+
|
|
143
|
+
- All elements of $.context.bap_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"]
|
|
144
|
+
|
|
145
|
+
> **Skip if:**
|
|
146
|
+
> - $.context.bap_uri is not in the payload
|
|
147
|
+
|
|
148
|
+
**REQUIRED_CONTEXT_TTL**
|
|
149
|
+
`group: UPDATE_CONTEXT > CONTEXT_REGEX | type: leaf`
|
|
150
|
+
|
|
151
|
+
- All elements of $.context.ttl must follow every regex in ["^P(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+S)?)?$"]
|
|
152
|
+
|
|
153
|
+
> **Skip if:**
|
|
154
|
+
> - $.context.ttl is not in the payload
|
|
155
|
+
|
|
156
|
+
**REGEX_CONTEXT_BPP_ID**
|
|
157
|
+
`group: UPDATE_CONTEXT > CONTEXT_REGEX | type: leaf`
|
|
158
|
+
|
|
159
|
+
- All elements of $.context.bpp_id must follow every regex in ["^(?!.*\b(?:http|https|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"]
|
|
160
|
+
|
|
161
|
+
> **Skip if:**
|
|
162
|
+
> - $.context.bpp_id is not in the payload
|
|
163
|
+
|
|
164
|
+
**REGEX_CONTEXT_BPP_URI**
|
|
165
|
+
`group: UPDATE_CONTEXT > CONTEXT_REGEX | type: leaf`
|
|
166
|
+
|
|
167
|
+
- All elements of $.context.bpp_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"]
|
|
168
|
+
|
|
169
|
+
> **Skip if:**
|
|
170
|
+
> - $.context.bpp_uri is not in the payload
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## REQUIRED_UPDATE_TARGET
|
|
175
|
+
|
|
176
|
+
`group: top-level | type: leaf`
|
|
177
|
+
|
|
178
|
+
- $.message.update_target must be present in the payload
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## REQUIRED_ORDER_ID
|
|
183
|
+
|
|
184
|
+
`group: top-level | type: leaf`
|
|
185
|
+
|
|
186
|
+
- $.message.order.id must be present in the payload
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## REQUIRED_ITEMS_FIELDS
|
|
191
|
+
|
|
192
|
+
This group contains **2** sub-group(s)/validation(s): REQUIRED_ITEM_ID and REQUIRED_XINPUT_ITEMS.
|
|
193
|
+
|
|
194
|
+
> **Skip if:**
|
|
195
|
+
> - $.message.order.items[*].id must **not** be present in the payload
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
**REQUIRED_ITEM_ID**
|
|
200
|
+
`group: REQUIRED_ITEMS_FIELDS | type: leaf`
|
|
201
|
+
|
|
202
|
+
- $.message.order.items[*].id must be present in the payload
|
|
203
|
+
|
|
204
|
+
### REQUIRED_XINPUT_ITEMS
|
|
205
|
+
|
|
206
|
+
This is a group of **3** sub-validation(s) that all must pass: REQUIRED_HEAD_CODE, REQUIRED_FORM_ID, and REQUIRED_SUBMISSION_ID.
|
|
207
|
+
|
|
208
|
+
> **Skip if:**
|
|
209
|
+
> - $.message.order.items[*].xinput.form.id must **not** be present in the payload
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
**REQUIRED_HEAD_CODE**
|
|
214
|
+
`group: REQUIRED_ITEMS_FIELDS > REQUIRED_XINPUT_ITEMS | type: leaf`
|
|
215
|
+
|
|
216
|
+
- $.message.order.items[*].xinput.head.descriptor.code must be present in the payload
|
|
217
|
+
|
|
218
|
+
**REQUIRED_FORM_ID**
|
|
219
|
+
`group: REQUIRED_ITEMS_FIELDS > REQUIRED_XINPUT_ITEMS | type: leaf`
|
|
220
|
+
|
|
221
|
+
- $.message.order.items[*].xinput.form.id must be present in the payload
|
|
222
|
+
|
|
223
|
+
**REQUIRED_SUBMISSION_ID**
|
|
224
|
+
`group: REQUIRED_ITEMS_FIELDS > REQUIRED_XINPUT_ITEMS | type: leaf`
|
|
225
|
+
|
|
226
|
+
- $.message.order.items[*].xinput.form_response.submission_id must be present in the payload
|
|
227
|
+
|
|
228
|
+
> **Skip if:**
|
|
229
|
+
> - $.message.order.items[*].xinput.form_response.submission_id is not in the payload
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
action: confirm
|
|
3
|
+
codeName: L1validations
|
|
4
|
+
numTests: 45
|
|
5
|
+
generated: 2026-03-11
|
|
6
|
+
domain: ONDC:FIS12
|
|
7
|
+
version: 2.3.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# L1validations — `confirm` Validations (Table View)
|
|
11
|
+
|
|
12
|
+
**36** leaf validation rule(s) applied to `confirm` in the **L1validations** flow.
|
|
13
|
+
Domain: `ONDC:FIS12`, Version: `2.3.0`
|
|
14
|
+
Group rows (GRP) list their immediate sub-tests. Leaf rows (LF) show the actual validation logic.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
| # | Type | Test Name | Group | Scope | Description | Skip If | Error Code |
|
|
18
|
+
| ---: | :---: | :--- | :--- | :--- | :--- | :--- | :---: |
|
|
19
|
+
| 1 | GRP | **CONFIRM_CONTEXT** | — | — | Sub-tests: CONTEXT_REQUIRED, CONTEXT_ENUM, CONTEXT_REGEX | — | — |
|
|
20
|
+
| 2 | GRP | **CONTEXT_REQUIRED** | CONFIRM_CONTEXT | — | Sub-tests: REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE, REQUIRED_CONTEXT_LOCATION_CITY_CODE, REQUIRED_CONTEXT_DOMAIN, REQUIRED_CONTEXT_TIMESTAMP, REQUIRED_CONTEXT_BAP_ID, REQUIRED_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TRANSACTION_ID, REQUIRED_CONTEXT_MESSAGE_ID, REQUIRED_CONTEXT_VERSION, REQUIRED_CONTEXT_TTL, REQUIRED_CONTEXT_BPP_ID, REQUIRED_CONTEXT_BPP_URI | — | — |
|
|
21
|
+
| 3 | LF | `REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE` | CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.country.code must be present in the payload | — | 30000 |
|
|
22
|
+
| 4 | LF | `REQUIRED_CONTEXT_LOCATION_CITY_CODE` | CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.city.code must be present in the payload | — | 30000 |
|
|
23
|
+
| 5 | LF | `REQUIRED_CONTEXT_DOMAIN` | CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.domain must be present in the payload | — | 30000 |
|
|
24
|
+
| 6 | LF | `REQUIRED_CONTEXT_TIMESTAMP` | CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.timestamp must be present in the payload | — | 30000 |
|
|
25
|
+
| 7 | LF | `REQUIRED_CONTEXT_BAP_ID` | CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_id must be present in the payload | — | 30000 |
|
|
26
|
+
| 8 | LF | `REQUIRED_CONTEXT_BAP_URI` | CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_uri must be present in the payload | — | 30000 |
|
|
27
|
+
| 9 | LF | `REQUIRED_CONTEXT_TRANSACTION_ID` | CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.transaction_id must be present in the payload | — | 30000 |
|
|
28
|
+
| 10 | LF | `REQUIRED_CONTEXT_MESSAGE_ID` | CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.message_id must be present in the payload | — | 30000 |
|
|
29
|
+
| 11 | LF | `REQUIRED_CONTEXT_VERSION` | CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.version must be present in the payload | — | 30000 |
|
|
30
|
+
| 12 | LF | `REQUIRED_CONTEXT_TTL` | CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.ttl must be present in the payload | — | 30000 |
|
|
31
|
+
| 13 | LF | `REQUIRED_CONTEXT_BPP_ID` | CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_id must be present in the payload | — | 30000 |
|
|
32
|
+
| 14 | LF | `REQUIRED_CONTEXT_BPP_URI` | CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_uri must be present in the payload | — | 30000 |
|
|
33
|
+
| 15 | GRP | **CONTEXT_ENUM** | CONFIRM_CONTEXT | — | Sub-tests: VALID_CONTEXT_LOCATION_COUNTRY_CODE, VALID_CONTEXT_DOMAIN | — | — |
|
|
34
|
+
| 16 | LF | `VALID_CONTEXT_LOCATION_COUNTRY_CODE` | CONFIRM_CONTEXT > CONTEXT_ENUM | — | - All elements of $.context.location.country.code must be in ["IND"] | - $.context.location.country.code is not in the payload | 30000 |
|
|
35
|
+
| 17 | LF | `VALID_CONTEXT_DOMAIN` | CONFIRM_CONTEXT > CONTEXT_ENUM | — | - All elements of $.context.domain must be in ["ONDC:FIS12"] | - $.context.domain is not in the payload | 30000 |
|
|
36
|
+
| 18 | GRP | **CONTEXT_REGEX** | CONFIRM_CONTEXT | — | Sub-tests: REGEX_CONTEXT_LOCATION_CITY_CODE, REGEX_CONTEXT_TIMESTAMP_1, REGEX_CONTEXT_BAP_ID, REGEX_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TTL, REGEX_CONTEXT_BPP_ID, REGEX_CONTEXT_BPP_URI | — | — |
|
|
37
|
+
| 19 | LF | `REGEX_CONTEXT_LOCATION_CITY_CODE` | CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.location.city.code must follow every regex in ["(\\*)\|(^std\\:[0-9]{2,4}$)"] | - $.context.location.city.code is not in the payload | 30000 |
|
|
38
|
+
| 20 | LF | `REGEX_CONTEXT_TIMESTAMP_1` | CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.timestamp must follow every regex in ["^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z\|[+-]\\d{2}:\\d{2})$"] | - $.context.timestamp is not in the payload | 30000 |
|
|
39
|
+
| 21 | LF | `REGEX_CONTEXT_BAP_ID` | CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bap_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bap_id is not in the payload | 30000 |
|
|
40
|
+
| 22 | LF | `REGEX_CONTEXT_BAP_URI` | CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bap_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bap_uri is not in the payload | 30000 |
|
|
41
|
+
| 23 | LF | `REQUIRED_CONTEXT_TTL` | CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.ttl must follow every regex in ["^P(?=\\d\|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+S)?)?$"] | - $.context.ttl is not in the payload | 30000 |
|
|
42
|
+
| 24 | LF | `REGEX_CONTEXT_BPP_ID` | CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bpp_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bpp_id is not in the payload | 30000 |
|
|
43
|
+
| 25 | LF | `REGEX_CONTEXT_BPP_URI` | CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bpp_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bpp_uri is not in the payload | 30000 |
|
|
44
|
+
| 26 | LF | `REQUIRED_PROVIDER_ID` | — | — | - $.message.order.provider.id must be present in the payload | — | 30000 |
|
|
45
|
+
| 27 | GRP | **REQUIRED_ITEM_FIELDS** | — | — | Sub-tests: REQUIRED_ITEM_ID, REQUIRED_PARENT_ITEM_ID | — | — |
|
|
46
|
+
| 28 | LF | `REQUIRED_ITEM_ID` | REQUIRED_ITEM_FIELDS | — | - $.message.order.items[*].id must be present in the payload | — | 30000 |
|
|
47
|
+
| 29 | LF | `REQUIRED_PARENT_ITEM_ID` | REQUIRED_ITEM_FIELDS | — | - $.message.order.items[*].parent_item_id must be present in the payload | — | 30000 |
|
|
48
|
+
| 30 | GRP | **CONFIRM_PAYMENTS** | — | — | Sub-tests: REQUIRED_PAYMENT_ITEMS | — | — |
|
|
49
|
+
| 31 | GRP | **REQUIRED_PAYMENT_ITEMS** | CONFIRM_PAYMENTS | — | Sub-tests: REQUIRED_PAYMENT_ITEMS, REQUIRED_PAYMENT_ID, REQUIRED_PAYMENT_STATUS, REQUIRED_PAYMENT_COLLECTED_BY, REQUIRED_PAYMENT_BANK_ACCOUNT_NUMBER, REQUIRED_PAYMENT_BANK_CODE, REQUIRED_PAYMENT_LABEL | — | — |
|
|
50
|
+
| 32 | LF | `REQUIRED_PAYMENT_ITEMS` | CONFIRM_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].type must be present in the payload | — | 30000 |
|
|
51
|
+
| 33 | LF | `REQUIRED_PAYMENT_ID` | CONFIRM_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].id must be present in the payload | — | 30000 |
|
|
52
|
+
| 34 | LF | `REQUIRED_PAYMENT_STATUS` | CONFIRM_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].status must be present in the payload | — | 30000 |
|
|
53
|
+
| 35 | LF | `REQUIRED_PAYMENT_COLLECTED_BY` | CONFIRM_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].collected_by must be present in the payload | - not all elements of $.message.order.payments[*].time.label are in ["LOAN_DISBURSMENT"] | 30000 |
|
|
54
|
+
| 36 | LF | `REQUIRED_PAYMENT_BANK_ACCOUNT_NUMBER` | CONFIRM_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].params.bank_account_number must be present in the payload | - not all elements of $.message.order.payments[*].time.label are in ["LOAN_DISBURSMENT"] | 30000 |
|
|
55
|
+
| 37 | LF | `REQUIRED_PAYMENT_BANK_CODE` | CONFIRM_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].params.bank_code must be present in the payload | - not all elements of $.message.order.payments[*].time.label are in ["LOAN_DISBURSMENT"] | 30000 |
|
|
56
|
+
| 38 | LF | `REQUIRED_PAYMENT_LABEL` | CONFIRM_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].time.label must be present in the payload | — | 30000 |
|
|
57
|
+
| 39 | GRP | **CONFIRM_PAYMENT_TAGS** | — | — | Sub-tests: VALID_PAYMENT_TAGS, REQUIRED_ACCOUNT_DETAILS | — | — |
|
|
58
|
+
| 40 | LF | `VALID_PAYMENT_TAGS` | CONFIRM_PAYMENT_TAGS | — | - All elements of $.message.order.payments[*].tags[*].descriptor.code must be in ["ACCOUNT_DETAILS", "BREAKUP"] | - $.message.order.payments[*].tags[*].descriptor.code is not in the payload | 30000 |
|
|
59
|
+
| 41 | LF | `REQUIRED_ACCOUNT_DETAILS` | CONFIRM_PAYMENT_TAGS | `$.message.order.payments[*].tags[?(@.descriptor.code == ACCOUNT_DETAILS)]` | - All elements of $.message.order.payments[*].tags[?(@.descriptor.code == ACCOUNT_DETAILS)].list[*].descriptor.code must be in ["ACCOUNT_TYPE", "ACCOUNT_HOLDER_NAME"] | — | 30000 |
|
|
60
|
+
| 42 | GRP | **CONFIRM_TAGS** | — | — | Sub-tests: REQUIRED_PAYMENT_TAGS, REQUIRED_BAP_TERMS, REQUIRED_BPP_TERMS | — | — |
|
|
61
|
+
| 43 | LF | `REQUIRED_PAYMENT_TAGS` | CONFIRM_TAGS | — | - All elements of $.message.order.tags[*].descriptor.code must be in ["BAP_TERMS", "BPP_TERMS"] | - $.message.order.tags[*].descriptor.code is not in the payload | 30000 |
|
|
62
|
+
| 44 | LF | `REQUIRED_BAP_TERMS` | CONFIRM_TAGS | `$.message.order.tags[?(@.descriptor.code == BAP_TERMS)]` | - All elements of $.message.order.tags[?(@.descriptor.code == BAP_TERMS)].list[*].descriptor.code must be in ["STATIC_TERMS", "OFFLINE_CONTRACT"] | — | 30000 |
|
|
63
|
+
| 45 | LF | `REQUIRED_BPP_TERMS` | CONFIRM_TAGS | `$.message.order.tags[?(@.descriptor.code == BPP_TERMS)]` | - All elements of $.message.order.tags[?(@.descriptor.code == BPP_TERMS)].list[*].descriptor.code must be in ["STATIC_TERMS", "OFFLINE_CONTRACT"] | — | 30000 |
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
action: init
|
|
3
|
+
codeName: L1validations
|
|
4
|
+
numTests: 63
|
|
5
|
+
generated: 2026-03-11
|
|
6
|
+
domain: ONDC:FIS12
|
|
7
|
+
version: 2.3.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# L1validations — `init` Validations (Table View)
|
|
11
|
+
|
|
12
|
+
**49** leaf validation rule(s) applied to `init` in the **L1validations** flow.
|
|
13
|
+
Domain: `ONDC:FIS12`, Version: `2.3.0`
|
|
14
|
+
Group rows (GRP) list their immediate sub-tests. Leaf rows (LF) show the actual validation logic.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
| # | Type | Test Name | Group | Scope | Description | Skip If | Error Code |
|
|
18
|
+
| ---: | :---: | :--- | :--- | :--- | :--- | :--- | :---: |
|
|
19
|
+
| 1 | GRP | **INIT_CONTEXT** | — | — | Sub-tests: CONTEXT_REQUIRED, CONTEXT_ENUM, CONTEXT_REGEX | — | — |
|
|
20
|
+
| 2 | GRP | **CONTEXT_REQUIRED** | INIT_CONTEXT | — | Sub-tests: REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE, REQUIRED_CONTEXT_LOCATION_CITY_CODE, REQUIRED_CONTEXT_DOMAIN, REQUIRED_CONTEXT_TIMESTAMP, REQUIRED_CONTEXT_BAP_ID, REQUIRED_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TRANSACTION_ID, REQUIRED_CONTEXT_MESSAGE_ID, REQUIRED_CONTEXT_VERSION, REQUIRED_CONTEXT_TTL, REQUIRED_CONTEXT_BPP_ID, REQUIRED_CONTEXT_BPP_URI | — | — |
|
|
21
|
+
| 3 | LF | `REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE` | INIT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.country.code must be present in the payload | — | 30000 |
|
|
22
|
+
| 4 | LF | `REQUIRED_CONTEXT_LOCATION_CITY_CODE` | INIT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.city.code must be present in the payload | — | 30000 |
|
|
23
|
+
| 5 | LF | `REQUIRED_CONTEXT_DOMAIN` | INIT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.domain must be present in the payload | — | 30000 |
|
|
24
|
+
| 6 | LF | `REQUIRED_CONTEXT_TIMESTAMP` | INIT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.timestamp must be present in the payload | — | 30000 |
|
|
25
|
+
| 7 | LF | `REQUIRED_CONTEXT_BAP_ID` | INIT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_id must be present in the payload | — | 30000 |
|
|
26
|
+
| 8 | LF | `REQUIRED_CONTEXT_BAP_URI` | INIT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_uri must be present in the payload | — | 30000 |
|
|
27
|
+
| 9 | LF | `REQUIRED_CONTEXT_TRANSACTION_ID` | INIT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.transaction_id must be present in the payload | — | 30000 |
|
|
28
|
+
| 10 | LF | `REQUIRED_CONTEXT_MESSAGE_ID` | INIT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.message_id must be present in the payload | — | 30000 |
|
|
29
|
+
| 11 | LF | `REQUIRED_CONTEXT_VERSION` | INIT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.version must be present in the payload | — | 30000 |
|
|
30
|
+
| 12 | LF | `REQUIRED_CONTEXT_TTL` | INIT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.ttl must be present in the payload | — | 30000 |
|
|
31
|
+
| 13 | LF | `REQUIRED_CONTEXT_BPP_ID` | INIT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_id must be present in the payload | — | 30000 |
|
|
32
|
+
| 14 | LF | `REQUIRED_CONTEXT_BPP_URI` | INIT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_uri must be present in the payload | — | 30000 |
|
|
33
|
+
| 15 | GRP | **CONTEXT_ENUM** | INIT_CONTEXT | — | Sub-tests: VALID_CONTEXT_LOCATION_COUNTRY_CODE, VALID_CONTEXT_DOMAIN | — | — |
|
|
34
|
+
| 16 | LF | `VALID_CONTEXT_LOCATION_COUNTRY_CODE` | INIT_CONTEXT > CONTEXT_ENUM | — | - All elements of $.context.location.country.code must be in ["IND"] | - $.context.location.country.code is not in the payload | 30000 |
|
|
35
|
+
| 17 | LF | `VALID_CONTEXT_DOMAIN` | INIT_CONTEXT > CONTEXT_ENUM | — | - All elements of $.context.domain must be in ["ONDC:FIS12"] | - $.context.domain is not in the payload | 30000 |
|
|
36
|
+
| 18 | GRP | **CONTEXT_REGEX** | INIT_CONTEXT | — | Sub-tests: REGEX_CONTEXT_LOCATION_CITY_CODE, REGEX_CONTEXT_TIMESTAMP_1, REGEX_CONTEXT_BAP_ID, REGEX_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TTL, REGEX_CONTEXT_BPP_ID, REGEX_CONTEXT_BPP_URI | — | — |
|
|
37
|
+
| 19 | LF | `REGEX_CONTEXT_LOCATION_CITY_CODE` | INIT_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.location.city.code must follow every regex in ["(\\*)\|(^std\\:[0-9]{2,4}$)"] | - $.context.location.city.code is not in the payload | 30000 |
|
|
38
|
+
| 20 | LF | `REGEX_CONTEXT_TIMESTAMP_1` | INIT_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.timestamp must follow every regex in ["^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z\|[+-]\\d{2}:\\d{2})$"] | - $.context.timestamp is not in the payload | 30000 |
|
|
39
|
+
| 21 | LF | `REGEX_CONTEXT_BAP_ID` | INIT_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bap_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bap_id is not in the payload | 30000 |
|
|
40
|
+
| 22 | LF | `REGEX_CONTEXT_BAP_URI` | INIT_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bap_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bap_uri is not in the payload | 30000 |
|
|
41
|
+
| 23 | LF | `REQUIRED_CONTEXT_TTL` | INIT_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.ttl must follow every regex in ["^P(?=\\d\|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+S)?)?$"] | - $.context.ttl is not in the payload | 30000 |
|
|
42
|
+
| 24 | LF | `REGEX_CONTEXT_BPP_ID` | INIT_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bpp_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bpp_id is not in the payload | 30000 |
|
|
43
|
+
| 25 | LF | `REGEX_CONTEXT_BPP_URI` | INIT_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bpp_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bpp_uri is not in the payload | 30000 |
|
|
44
|
+
| 26 | LF | `REQUIRED_PROVIDER_ID` | — | — | - $.message.order.provider.id must be present in the payload | — | 30000 |
|
|
45
|
+
| 27 | GRP | **REQUIRED_ITEM_FIELDS** | — | — | Sub-tests: REQUIRED_ITEM_ID, REQUIRED_PARENT_ITEM_ID, REQUIRED_XINPUT_ITEMS | — | — |
|
|
46
|
+
| 28 | LF | `REQUIRED_ITEM_ID` | REQUIRED_ITEM_FIELDS | — | - $.message.order.items[*].id must be present in the payload | — | 30000 |
|
|
47
|
+
| 29 | LF | `REQUIRED_PARENT_ITEM_ID` | REQUIRED_ITEM_FIELDS | — | - $.message.order.items[*].parent_item_id must be present in the payload | — | 30000 |
|
|
48
|
+
| 30 | GRP | **REQUIRED_XINPUT_ITEMS** | REQUIRED_ITEM_FIELDS | — | Sub-tests: REQUIRED_HEAD_CODE, REQUIRED_FORM_ID, REQUIRED_SUBMISSION_ID | - $.message.order.items[*].xinput.form.id is not in the payload | — |
|
|
49
|
+
| 31 | LF | `REQUIRED_HEAD_CODE` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS | — | - $.message.order.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
50
|
+
| 32 | LF | `REQUIRED_FORM_ID` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS | — | - $.message.order.items[*].xinput.form.id must be present in the payload | — | 30000 |
|
|
51
|
+
| 33 | LF | `REQUIRED_SUBMISSION_ID` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS | — | - $.message.order.items[*].xinput.form_response.submission_id must be present in the payload | - $.message.order.items[*].xinput.form_response.submission_id is not in the payload | 30000 |
|
|
52
|
+
| 34 | GRP | **INIT_PAYMENT_ITEMS** | — | — | Sub-tests: REQUIRED_PAYMENT_ITEMS, VALID_PAYMENT_ITEMS | — | — |
|
|
53
|
+
| 35 | GRP | **REQUIRED_PAYMENT_ITEMS** | INIT_PAYMENT_ITEMS | — | Sub-tests: REQUIRED_PAYMENT_ITEMS, REQUIRED_PAYMENT_ID, REQUIRED_PAYMENT_STATUS, REQUIRED_PAYMENT_COLLECTED_BY, REQUIRED_PAYMENT_BANK_ACCOUNT_NUMBER, REQUIRED_PAYMENT_BANK_CODE, REQUIRED_PAYMENT_LABEL | — | — |
|
|
54
|
+
| 36 | LF | `REQUIRED_PAYMENT_ITEMS` | INIT_PAYMENT_ITEMS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].type must be present in the payload | — | 30000 |
|
|
55
|
+
| 37 | LF | `REQUIRED_PAYMENT_ID` | INIT_PAYMENT_ITEMS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].id must be present in the payload | — | 30000 |
|
|
56
|
+
| 38 | LF | `REQUIRED_PAYMENT_STATUS` | INIT_PAYMENT_ITEMS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].status must be present in the payload | — | 30000 |
|
|
57
|
+
| 39 | LF | `REQUIRED_PAYMENT_COLLECTED_BY` | INIT_PAYMENT_ITEMS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].collected_by must be present in the payload | - not all elements of $.message.order.payments[*].time.label are in ["LOAN_DISBURSMENT"] | 30000 |
|
|
58
|
+
| 40 | LF | `REQUIRED_PAYMENT_BANK_ACCOUNT_NUMBER` | INIT_PAYMENT_ITEMS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].params.bank_account_number must be present in the payload | - not all elements of $.message.order.payments[*].time.label are in ["LOAN_DISBURSMENT"] | 30000 |
|
|
59
|
+
| 41 | LF | `REQUIRED_PAYMENT_BANK_CODE` | INIT_PAYMENT_ITEMS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].params.bank_code must be present in the payload | - not all elements of $.message.order.payments[*].time.label are in ["LOAN_DISBURSMENT"] | 30000 |
|
|
60
|
+
| 42 | LF | `REQUIRED_PAYMENT_LABEL` | INIT_PAYMENT_ITEMS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].time.label must be present in the payload | — | 30000 |
|
|
61
|
+
| 43 | GRP | **VALID_PAYMENT_ITEMS** | INIT_PAYMENT_ITEMS | — | Sub-tests: VALID_PAYMENT_TYPE, VALID_PAYMENT_STATUS, VALID_PAYMENT_COLLECTOR, VALID_PAYMENT_LABEL | — | — |
|
|
62
|
+
| 44 | LF | `VALID_PAYMENT_TYPE` | INIT_PAYMENT_ITEMS > VALID_PAYMENT_ITEMS | — | - All elements of $.message.order.payments[*].type must be in ["ON_ORDER", "ON_FULFILLMENT", "POST_FULFILLMENT"] | - $.message.order.payments[*].type is not in the payload | 30000 |
|
|
63
|
+
| 45 | LF | `VALID_PAYMENT_STATUS` | INIT_PAYMENT_ITEMS > VALID_PAYMENT_ITEMS | — | - All elements of $.message.order.payments[*].status must be in ["NOT-PAID", "PAID", "DEFERRED", "DELAYED"] | - $.message.order.payments[*].status is not in the payload | 30000 |
|
|
64
|
+
| 46 | LF | `VALID_PAYMENT_COLLECTOR` | INIT_PAYMENT_ITEMS > VALID_PAYMENT_ITEMS | — | - All elements of $.message.order.payments[*].collected_by must be in ["BPP", "CONSUMER"] | - $.message.order.payments[*].collected_by is not in the payload | 30000 |
|
|
65
|
+
| 47 | LF | `VALID_PAYMENT_LABEL` | INIT_PAYMENT_ITEMS > VALID_PAYMENT_ITEMS | — | - All elements of $.message.order.payments[*].time.label must be in ["INSTALLMENT", "LOAN_DISBURSMENT"] | - $.message.order.payments[*].time.label is not in the payload | 30000 |
|
|
66
|
+
| 48 | GRP | **REQUIRED_FULFILMENT_ITEMS** | — | — | Sub-tests: REQUIRED_FULFILLMENT_ID, REQUIRED_CUSTOMER_ITEMS | — | — |
|
|
67
|
+
| 49 | LF | `REQUIRED_FULFILLMENT_ID` | REQUIRED_FULFILMENT_ITEMS | — | - $.message.order.fulfillments[*].id must be present in the payload | — | 30000 |
|
|
68
|
+
| 50 | GRP | **REQUIRED_CUSTOMER_ITEMS** | REQUIRED_FULFILMENT_ITEMS | — | Sub-tests: REQUIRED_CUSTOMER_DOB, REQUIRED_CUSTOMER_GENDER, REQUIRED_CREDS, REQUIRED_CUSTOMER_CONTACT_EMAIL, REQUIRED_CUSTOMER_CONTACT_PHONE | - $.message.order.fulfillments[*].customer.person.name is not in the payload | — |
|
|
69
|
+
| 51 | LF | `REQUIRED_CUSTOMER_DOB` | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
|
|
70
|
+
| 52 | LF | `REQUIRED_CUSTOMER_GENDER` | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
|
|
71
|
+
| 53 | GRP | **REQUIRED_CREDS** | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS | — | Sub-tests: REQUIRED_CUSTOMER_CREDS_ID, REQUIRED_CUSTOMER_CREDS_TYPE | - $.message.order.fulfillments[*].customer.person.creds[*].id is not in the payload | — |
|
|
72
|
+
| 54 | LF | `REQUIRED_CUSTOMER_CREDS_ID` | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS > REQUIRED_CREDS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.creds[*].id must be present in the payload | — | 30000 |
|
|
73
|
+
| 55 | LF | `REQUIRED_CUSTOMER_CREDS_TYPE` | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS > REQUIRED_CREDS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.creds[*].id must be present in the payload | — | 30000 |
|
|
74
|
+
| 56 | LF | `REQUIRED_CUSTOMER_CONTACT_EMAIL` | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
|
|
75
|
+
| 57 | LF | `REQUIRED_CUSTOMER_CONTACT_PHONE` | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
|
|
76
|
+
| 58 | GRP | **INIT_PAYMENT_TAGS** | — | — | Sub-tests: VALID_PAYMENT_TAGS, REQUIRED_ACCOUNT_DETAILS | — | — |
|
|
77
|
+
| 59 | LF | `VALID_PAYMENT_TAGS` | INIT_PAYMENT_TAGS | — | - All elements of $.message.order.payments[*].tags[*].descriptor.code must be in ["ACCOUNT_DETAILS", "BREAKUP"] | - $.message.order.payments[*].tags[*].descriptor.code is not in the payload | 30000 |
|
|
78
|
+
| 60 | LF | `REQUIRED_ACCOUNT_DETAILS` | INIT_PAYMENT_TAGS | `$.message.order.payments[*].tags[?(@.descriptor.code == ACCOUNT_DETAILS)]` | - All elements of $.message.order.payments[*].tags[?(@.descriptor.code == ACCOUNT_DETAILS)].list[*].descriptor.code must be in ["ACCOUNT_TYPE", "ACCOUNT_HOLDER_NAME"] | — | 30000 |
|
|
79
|
+
| 61 | GRP | **INIT_BAP_TERM_TAGS** | — | — | Sub-tests: REQUIRED_TLC_TAGS, REQUIRED_BAP_TERMS | — | — |
|
|
80
|
+
| 62 | LF | `REQUIRED_TLC_TAGS` | INIT_BAP_TERM_TAGS | — | - All elements of $.message.order.tags[*].descriptor.code must be in ["BAP_TERMS", "BPP_TERMS"] | - $.message.order.tags[*].descriptor.code is not in the payload | 30000 |
|
|
81
|
+
| 63 | LF | `REQUIRED_BAP_TERMS` | INIT_BAP_TERM_TAGS | `$.message.order.tags[?(@.descriptor.code == BAP_TERMS)]` | - All elements of $.message.order.tags[?(@.descriptor.code == BAP_TERMS)].list[*].descriptor.code must be in ["STATIC_TERMS", "OFFLINE_CONTRACT"] | — | 30000 |
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
---
|
|
2
|
+
action: on_confirm
|
|
3
|
+
codeName: L1validations
|
|
4
|
+
numTests: 146
|
|
5
|
+
generated: 2026-03-11
|
|
6
|
+
domain: ONDC:FIS12
|
|
7
|
+
version: 2.3.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# L1validations — `on_confirm` Validations (Table View)
|
|
11
|
+
|
|
12
|
+
**109** leaf validation rule(s) applied to `on_confirm` in the **L1validations** flow.
|
|
13
|
+
Domain: `ONDC:FIS12`, Version: `2.3.0`
|
|
14
|
+
Group rows (GRP) list their immediate sub-tests. Leaf rows (LF) show the actual validation logic.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
| # | Type | Test Name | Group | Scope | Description | Skip If | Error Code |
|
|
18
|
+
| ---: | :---: | :--- | :--- | :--- | :--- | :--- | :---: |
|
|
19
|
+
| 1 | GRP | **ON_CONFIRM_CONTEXT** | — | — | Sub-tests: CONTEXT_REQUIRED, CONTEXT_ENUM, CONTEXT_REGEX | — | — |
|
|
20
|
+
| 2 | GRP | **CONTEXT_REQUIRED** | ON_CONFIRM_CONTEXT | — | Sub-tests: REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE, REQUIRED_CONTEXT_LOCATION_CITY_CODE, REQUIRED_CONTEXT_DOMAIN, REQUIRED_CONTEXT_TIMESTAMP, REQUIRED_CONTEXT_BAP_ID, REQUIRED_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TRANSACTION_ID, REQUIRED_CONTEXT_MESSAGE_ID, REQUIRED_CONTEXT_VERSION, REQUIRED_CONTEXT_TTL, REQUIRED_CONTEXT_BPP_ID, REQUIRED_CONTEXT_BPP_URI | — | — |
|
|
21
|
+
| 3 | LF | `REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE` | ON_CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.country.code must be present in the payload | — | 30000 |
|
|
22
|
+
| 4 | LF | `REQUIRED_CONTEXT_LOCATION_CITY_CODE` | ON_CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.city.code must be present in the payload | — | 30000 |
|
|
23
|
+
| 5 | LF | `REQUIRED_CONTEXT_DOMAIN` | ON_CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.domain must be present in the payload | — | 30000 |
|
|
24
|
+
| 6 | LF | `REQUIRED_CONTEXT_TIMESTAMP` | ON_CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.timestamp must be present in the payload | — | 30000 |
|
|
25
|
+
| 7 | LF | `REQUIRED_CONTEXT_BAP_ID` | ON_CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_id must be present in the payload | — | 30000 |
|
|
26
|
+
| 8 | LF | `REQUIRED_CONTEXT_BAP_URI` | ON_CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_uri must be present in the payload | — | 30000 |
|
|
27
|
+
| 9 | LF | `REQUIRED_CONTEXT_TRANSACTION_ID` | ON_CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.transaction_id must be present in the payload | — | 30000 |
|
|
28
|
+
| 10 | LF | `REQUIRED_CONTEXT_MESSAGE_ID` | ON_CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.message_id must be present in the payload | — | 30000 |
|
|
29
|
+
| 11 | LF | `REQUIRED_CONTEXT_VERSION` | ON_CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.version must be present in the payload | — | 30000 |
|
|
30
|
+
| 12 | LF | `REQUIRED_CONTEXT_TTL` | ON_CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.ttl must be present in the payload | — | 30000 |
|
|
31
|
+
| 13 | LF | `REQUIRED_CONTEXT_BPP_ID` | ON_CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_id must be present in the payload | — | 30000 |
|
|
32
|
+
| 14 | LF | `REQUIRED_CONTEXT_BPP_URI` | ON_CONFIRM_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_uri must be present in the payload | — | 30000 |
|
|
33
|
+
| 15 | GRP | **CONTEXT_ENUM** | ON_CONFIRM_CONTEXT | — | Sub-tests: VALID_CONTEXT_LOCATION_COUNTRY_CODE, VALID_CONTEXT_DOMAIN | — | — |
|
|
34
|
+
| 16 | LF | `VALID_CONTEXT_LOCATION_COUNTRY_CODE` | ON_CONFIRM_CONTEXT > CONTEXT_ENUM | — | - All elements of $.context.location.country.code must be in ["IND"] | - $.context.location.country.code is not in the payload | 30000 |
|
|
35
|
+
| 17 | LF | `VALID_CONTEXT_DOMAIN` | ON_CONFIRM_CONTEXT > CONTEXT_ENUM | — | - All elements of $.context.domain must be in ["ONDC:FIS12"] | - $.context.domain is not in the payload | 30000 |
|
|
36
|
+
| 18 | GRP | **CONTEXT_REGEX** | ON_CONFIRM_CONTEXT | — | Sub-tests: REGEX_CONTEXT_LOCATION_CITY_CODE, REGEX_CONTEXT_TIMESTAMP_1, REGEX_CONTEXT_BAP_ID, REGEX_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TTL, REGEX_CONTEXT_BPP_ID, REGEX_CONTEXT_BPP_URI | — | — |
|
|
37
|
+
| 19 | LF | `REGEX_CONTEXT_LOCATION_CITY_CODE` | ON_CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.location.city.code must follow every regex in ["(\\*)\|(^std\\:[0-9]{2,4}$)"] | - $.context.location.city.code is not in the payload | 30000 |
|
|
38
|
+
| 20 | LF | `REGEX_CONTEXT_TIMESTAMP_1` | ON_CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.timestamp must follow every regex in ["^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z\|[+-]\\d{2}:\\d{2})$"] | - $.context.timestamp is not in the payload | 30000 |
|
|
39
|
+
| 21 | LF | `REGEX_CONTEXT_BAP_ID` | ON_CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bap_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bap_id is not in the payload | 30000 |
|
|
40
|
+
| 22 | LF | `REGEX_CONTEXT_BAP_URI` | ON_CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bap_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bap_uri is not in the payload | 30000 |
|
|
41
|
+
| 23 | LF | `REQUIRED_CONTEXT_TTL` | ON_CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.ttl must follow every regex in ["^P(?=\\d\|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+S)?)?$"] | - $.context.ttl is not in the payload | 30000 |
|
|
42
|
+
| 24 | LF | `REGEX_CONTEXT_BPP_ID` | ON_CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bpp_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bpp_id is not in the payload | 30000 |
|
|
43
|
+
| 25 | LF | `REGEX_CONTEXT_BPP_URI` | ON_CONFIRM_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bpp_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bpp_uri is not in the payload | 30000 |
|
|
44
|
+
| 26 | GRP | **REQUIRED_ORDER_ITEMS** | — | — | Sub-tests: REQUIRED_ITEMS, VALID_ENUM_ITEMS | — | — |
|
|
45
|
+
| 27 | GRP | **REQUIRED_ITEMS** | REQUIRED_ORDER_ITEMS | — | Sub-tests: REQUIRED_ORDER_ID, REQUIRED_ORDER_STATUS, REQUIRED_ORDER_CREATED_AT, REQUIRED_ORDER_UPDATED_AT, CREATED_AT_UPDATED_AT_EQUALITY | — | — |
|
|
46
|
+
| 28 | LF | `REQUIRED_ORDER_ID` | REQUIRED_ORDER_ITEMS > REQUIRED_ITEMS | — | - $.message.order.id must be present in the payload | — | 30000 |
|
|
47
|
+
| 29 | LF | `REQUIRED_ORDER_STATUS` | REQUIRED_ORDER_ITEMS > REQUIRED_ITEMS | — | - $.message.order.status must be present in the payload | — | 30000 |
|
|
48
|
+
| 30 | LF | `REQUIRED_ORDER_CREATED_AT` | REQUIRED_ORDER_ITEMS > REQUIRED_ITEMS | — | - $.message.order.created_at must be present in the payload | — | 30000 |
|
|
49
|
+
| 31 | LF | `REQUIRED_ORDER_UPDATED_AT` | REQUIRED_ORDER_ITEMS > REQUIRED_ITEMS | — | - $.message.order.created_at must be present in the payload | — | 30000 |
|
|
50
|
+
| 32 | LF | `CREATED_AT_UPDATED_AT_EQUALITY` | REQUIRED_ORDER_ITEMS > REQUIRED_ITEMS | — | - $.message.order.created_at must equal $.message.order.updated_at | — | 30000 |
|
|
51
|
+
| 33 | GRP | **VALID_ENUM_ITEMS** | REQUIRED_ORDER_ITEMS | — | Sub-tests: VALID_ENUM_ORDER_STATUS, REGEX_ON_CONFIRM_CREATED_AT, REGEX_ON_CONFIRM_UPDATED_AT | — | — |
|
|
52
|
+
| 34 | LF | `VALID_ENUM_ORDER_STATUS` | REQUIRED_ORDER_ITEMS > VALID_ENUM_ITEMS | — | - At least one of $.message.order.status must be in ["ACTIVE", "COMPLETED", "CANCELLED"] | — | 30000 |
|
|
53
|
+
| 35 | LF | `REGEX_ON_CONFIRM_CREATED_AT` | REQUIRED_ORDER_ITEMS > VALID_ENUM_ITEMS | — | - All elements of $.message.order.created_at must follow every regex in ["^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z\|[+-]\\d{2}:\\d{2})$"] | — | 30000 |
|
|
54
|
+
| 36 | LF | `REGEX_ON_CONFIRM_UPDATED_AT` | REQUIRED_ORDER_ITEMS > VALID_ENUM_ITEMS | — | - All elements of $.message.order.updated_at must follow every regex in ["^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z\|[+-]\\d{2}:\\d{2})$"] | — | 30000 |
|
|
55
|
+
| 37 | GRP | **ON_SELECT_PROVIDER** | — | — | Sub-tests: ON_SELECT_PROVIDER_ID, ON_SELECT_PROVIDER_NAME, ON_SELECT_PROVIDER_IMAGES_URL, ON_SELECT_PROVIDER_IMAGES_SIZE_TYPE | - $.message.order.provider.id is not in the payload | — |
|
|
56
|
+
| 38 | LF | `ON_SELECT_PROVIDER_ID` | ON_SELECT_PROVIDER | — | - $.message.order.provider.id must be present in the payload | — | 30000 |
|
|
57
|
+
| 39 | LF | `ON_SELECT_PROVIDER_NAME` | ON_SELECT_PROVIDER | — | - $.message.order.provider.descriptor.name must be present in the payload | — | 30000 |
|
|
58
|
+
| 40 | LF | `ON_SELECT_PROVIDER_IMAGES_URL` | ON_SELECT_PROVIDER | — | - $.message.order.provider.descriptor.images[*].url must be present in the payload | — | 30000 |
|
|
59
|
+
| 41 | LF | `ON_SELECT_PROVIDER_IMAGES_SIZE_TYPE` | ON_SELECT_PROVIDER | — | - $.message.order.provider.descriptor.images[*].size_type must be present in the payload | — | 30000 |
|
|
60
|
+
| 42 | GRP | **ON_SELECT_PROVIDER_TAGS** | — | — | Sub-tests: VALID_PROVODER_TAGS, REQUIRED_CONTACT_INFO, REQUIRED_LSP_INFO | — | — |
|
|
61
|
+
| 43 | LF | `VALID_PROVODER_TAGS` | ON_SELECT_PROVIDER_TAGS | — | - All elements of $.message.order.provider.tags[*].descriptor.code must be in ["CONTACT_INFO", "LSP_INFO"] | - $.message.order.provider.tags[*].descriptor.code is not in the payload | 30000 |
|
|
62
|
+
| 44 | LF | `REQUIRED_CONTACT_INFO` | ON_SELECT_PROVIDER_TAGS | `$.message.order.provider.tags[?(@.descriptor.code == CONTACT_INFO)]` | - All elements of $.message.order.provider.tags[?(@.descriptor.code == CONTACT_INFO)].list[*].descriptor.code must be in ["GRO_NAME", "GRO_EMAIL", "GRO_CONTACT_NUMBER", "CUSTOMER_SUPPORT_LINK", "CUSTOMER_SUPPORT_CONTACT_NUMBER", "CUSTOMER_SUPPORT_CONTACT_NUMBER"] | — | 30000 |
|
|
63
|
+
| 45 | LF | `REQUIRED_LSP_INFO` | ON_SELECT_PROVIDER_TAGS | `$.message.order.provider.tags[?(@.descriptor.code == LSP_INFO)]` | - All elements of $.message.order.provider.tags[?(@.descriptor.code == LSP_INFO)].list[*].descriptor.code must be in ["LSP_NAME", "LSP_EMAIL", "LSP_CONTACT_NUMBER", "LSP_ADDRESS"] | — | 30000 |
|
|
64
|
+
| 46 | GRP | **ON_INIT_ITEMS** | — | — | Sub-tests: REQUIRED_ITEMS | — | — |
|
|
65
|
+
| 47 | GRP | **REQUIRED_ITEMS** | ON_INIT_ITEMS | — | Sub-tests: REQUIRED_ITEM_ID, REQUIRED_PARENT_ITEM_ID, REQUIRED_ITEM_DESCRIPTOR_CODE, REQUIRED_ITEM_CATEGORY_ID, ON_SEARCH_ITEM_PRICE_CURRENCY, ON_SEARCH_ITEM_PRICE_VALUE, ON_SELECT_ITEM_FULFILLMENT_IDS, REQUIRED_XINPUT_FIELDS | — | — |
|
|
66
|
+
| 48 | LF | `REQUIRED_ITEM_ID` | ON_INIT_ITEMS > REQUIRED_ITEMS | — | - $.message.order.items[*].id must be present in the payload | — | 30000 |
|
|
67
|
+
| 49 | LF | `REQUIRED_PARENT_ITEM_ID` | ON_INIT_ITEMS > REQUIRED_ITEMS | — | - $.message.order.items[*].parent_item_id must be present in the payload | — | 30000 |
|
|
68
|
+
| 50 | LF | `REQUIRED_ITEM_DESCRIPTOR_CODE` | ON_INIT_ITEMS > REQUIRED_ITEMS | — | - $.message.order.items[*].descriptor.code must be present in the payload | — | 30000 |
|
|
69
|
+
| 51 | LF | `REQUIRED_ITEM_CATEGORY_ID` | ON_INIT_ITEMS > REQUIRED_ITEMS | — | - $.message.order.items[*].category_ids[*] must be present in the payload | — | 30000 |
|
|
70
|
+
| 52 | LF | `ON_SEARCH_ITEM_PRICE_CURRENCY` | ON_INIT_ITEMS > REQUIRED_ITEMS | — | - $.message.order.items[*].price.currency must be present in the payload | — | 30000 |
|
|
71
|
+
| 53 | LF | `ON_SEARCH_ITEM_PRICE_VALUE` | ON_INIT_ITEMS > REQUIRED_ITEMS | — | - $.message.order.items[*].price.value must be present in the payload | — | 30000 |
|
|
72
|
+
| 54 | LF | `ON_SELECT_ITEM_FULFILLMENT_IDS` | ON_INIT_ITEMS > REQUIRED_ITEMS | — | - $.message.order.items[*].fulfillment_ids[*] must be present in the payload | — | 30000 |
|
|
73
|
+
| 55 | GRP | **REQUIRED_XINPUT_FIELDS** | ON_INIT_ITEMS > REQUIRED_ITEMS | — | Sub-tests: REQUIRED_XINPUT_ITEMS, VALID_XINPUT_FIELDS | - $.message.order.items[*].xinput.form.id is not in the payload | — |
|
|
74
|
+
| 56 | GRP | **REQUIRED_XINPUT_ITEMS** | ON_INIT_ITEMS > REQUIRED_ITEMS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_HEAD_CODE, REQUIRED_HEAD_NAME, REQUIRED_FORM_HEADINGS, REQUIRED_FORM_ID, REQUIRED_FORM_MIME_TYPE, REQUIRED_FORM_RESPONSE, REQUIRED_SUBMISSION_ID | — | — |
|
|
75
|
+
| 57 | LF | `REQUIRED_HEAD_CODE` | ON_INIT_ITEMS > REQUIRED_ITEMS > REQUIRED_XINPUT_FIELDS > REQUIRED_XINPUT_ITEMS | — | - $.message.order.items[*].xinput.head.descriptor.code must be present in the payload | - $.message.order.items[*].xinput.form_response.submission_id is in the payload | 30000 |
|
|
76
|
+
| 58 | LF | `REQUIRED_HEAD_NAME` | ON_INIT_ITEMS > REQUIRED_ITEMS > REQUIRED_XINPUT_FIELDS > REQUIRED_XINPUT_ITEMS | — | - $.message.order.items[*].xinput.head.descriptor.name must be present in the payload | - $.message.order.items[*].xinput.form_response.submission_id is in the payload | 30000 |
|
|
77
|
+
| 59 | LF | `REQUIRED_FORM_HEADINGS` | ON_INIT_ITEMS > REQUIRED_ITEMS > REQUIRED_XINPUT_FIELDS > REQUIRED_XINPUT_ITEMS | — | - $.message.order.items[*].xinput.head.headings[*] must be present in the payload | - $.message.order.items[*].xinput.form_response.submission_id is in the payload | 30000 |
|
|
78
|
+
| 60 | LF | `REQUIRED_FORM_ID` | ON_INIT_ITEMS > REQUIRED_ITEMS > REQUIRED_XINPUT_FIELDS > REQUIRED_XINPUT_ITEMS | — | - $.message.order.items[*].xinput.form.id must be present in the payload | — | 30000 |
|
|
79
|
+
| 61 | LF | `REQUIRED_FORM_MIME_TYPE` | ON_INIT_ITEMS > REQUIRED_ITEMS > REQUIRED_XINPUT_FIELDS > REQUIRED_XINPUT_ITEMS | — | - $.message.order.items[*].xinput.form.mime_type must be present in the payload | - $.message.order.items[*].xinput.form_response.submission_id is in the payload | 30000 |
|
|
80
|
+
| 62 | GRP | **REQUIRED_FORM_RESPONSE** | ON_INIT_ITEMS > REQUIRED_ITEMS > REQUIRED_XINPUT_FIELDS > REQUIRED_XINPUT_ITEMS | — | Sub-tests: REQUIRED_FORM_STATUS, REQUIRED_FORM_SUBMISSION_ID | - $.message.order.items[*].xinput.form_response.submission_id is not in the payload | — |
|
|
81
|
+
| 63 | LF | `REQUIRED_FORM_STATUS` | ON_INIT_ITEMS > REQUIRED_ITEMS > REQUIRED_XINPUT_FIELDS > REQUIRED_XINPUT_ITEMS > REQUIRED_FORM_RESPONSE | — | - $.message.order.items[*].xinput.form_response.status must be present in the payload | — | 30000 |
|
|
82
|
+
| 64 | LF | `REQUIRED_FORM_SUBMISSION_ID` | ON_INIT_ITEMS > REQUIRED_ITEMS > REQUIRED_XINPUT_FIELDS > REQUIRED_XINPUT_ITEMS > REQUIRED_FORM_RESPONSE | — | - $.message.order.items[*].xinput.form_response.submission_id must be present in the payload | — | 30000 |
|
|
83
|
+
| 65 | LF | `REQUIRED_SUBMISSION_ID` | ON_INIT_ITEMS > REQUIRED_ITEMS > REQUIRED_XINPUT_FIELDS > REQUIRED_XINPUT_ITEMS | — | - $.message.order.items[*].xinput.form_response.submission_id must be present in the payload | - $.message.order.items[*].xinput.form_response.submission_id is not in the payload | 30000 |
|
|
84
|
+
| 66 | GRP | **VALID_XINPUT_FIELDS** | ON_INIT_ITEMS > REQUIRED_ITEMS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: VALID_FORM_HEADINGS | — | — |
|
|
85
|
+
| 67 | LF | `VALID_FORM_HEADINGS` | ON_INIT_ITEMS > REQUIRED_ITEMS > REQUIRED_XINPUT_FIELDS > VALID_XINPUT_FIELDS | — | - All elements of $.message.order.items[*].xinput.head.headings[*] must be in ["KYC", "EMANDATE", "LOAN_AGREEMENT", "INDIVIDUAL_KYC", "ENTITY_KYC", "ENACH", "ESIGN"] | - $.message.order.items[*].xinput.form_response.submission_id is in the payload | 30000 |
|
|
86
|
+
| 68 | GRP | **ON_SELECT_ITEM_TAGS** | — | — | Sub-tests: REQUIRED_LOAN_INFO, REQUIRED_LOAN_OFFER | - **All of the following must be true:** - $.message.order.items[*].tags[*].descriptor.code is not in the payload - not all elements of $.message.order.items[*].tags[*].descriptor.code are in ["LOAN_INFO", "LOAN_OFFER"] | — |
|
|
87
|
+
| 69 | LF | `REQUIRED_LOAN_INFO` | ON_SELECT_ITEM_TAGS | `$.message.order.items[*].tags[?(@.descriptor.code == LOAN_INFO)]` | - All elements of $.message.order.items[*].tags[?(@.descriptor.code == LOAN_INFO)].list[*].descriptor.code must be in ["INTEREST_RATE", "TERM", "INTEREST_RATE_TYPE", "APPLICATION_FEE", "FORECLOSURE_FEE", "INTEREST_RATE_CONVERSION_CHARGE", "DELAY_PENALTY_FEE", "OTHER_PENALTY_FEE", "ANNUAL_PERCENTAGE_RATE", "REPAYMENT_FREQUENCY", "NUMBER_OF_INSTALLMENTS", "TNC_LINK", "COOL_OFF_PERIOD", "INSTALLMENT_AMOUNT", "KFS_LINK", "INVOICE_NUMBER", "WORKING_CAPITAL_LIMIT", "INSURANCE_CHARGES", "RATE_ANNUALISED_PENAL_CHARGES", "KYC_MODE", "CO_APPLICANT"] | — | 30000 |
|
|
88
|
+
| 70 | LF | `REQUIRED_LOAN_OFFER` | ON_SELECT_ITEM_TAGS | `$.message.order.items[*].tags[?(@.descriptor.code == LOAN_OFFER)]` | - All elements of $.message.order.items[*].tags[?(@.descriptor.code == LOAN_OFFER)].list[*].descriptor.code must be in ["PRINCIPAL_AMOUNT", "INTEREST_AMOUNT", "PROCESSING_FEE", "OTHER_UPFRONT_CHARGES", "INSURANCE_CHARGES", "NET_DISBURSED_AMOUNT", "OTHER_CHARGES", "OFFER_VALIDITY", "WORKING_CAPITAL_LIMIT", "CURRENT_UTLIZATION"] | — | 30000 |
|
|
89
|
+
| 71 | GRP | **ON_INIT_FULFILLMENTS** | — | — | Sub-tests: REQUIRED_FULFILLMENT_ITEMS, VALID_FULFILLMENT_ITEMS, VALID_FULFILLMENT_TAGS | — | — |
|
|
90
|
+
| 72 | GRP | **REQUIRED_FULFILLMENT_ITEMS** | ON_INIT_FULFILLMENTS | — | Sub-tests: REQUIRED_FULFILLMENT_ID, REQUIRED_FULFILLMENT_TYPE, REQUIRED_CREDS, REQUIRED_CUSTOMER_NAME, REQUIRED_CUSTOMER_CONTACT_DETAILS, REQUIRED_CUSTOMER_ORG_DETAILS, REQUIRED_FULFILLMENT_STATE_CODE | — | — |
|
|
91
|
+
| 73 | LF | `REQUIRED_FULFILLMENT_ID` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $.message.order.fulfillments[*].id must be present in the payload | — | 30000 |
|
|
92
|
+
| 74 | LF | `REQUIRED_FULFILLMENT_TYPE` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $.message.order.fulfillments[*].type must be present in the payload | — | 30000 |
|
|
93
|
+
| 75 | GRP | **REQUIRED_CREDS** | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | Sub-tests: REQUIRED_CUSTOMER_CREDS_ID, REQUIRED_CUSTOMER_CREDS_TYPE | - $.message.order.fulfillments[*].customer.person.creds[*].id is not in the payload | — |
|
|
94
|
+
| 76 | LF | `REQUIRED_CUSTOMER_CREDS_ID` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS > REQUIRED_CREDS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.creds[*].id must be present in the payload | — | 30000 |
|
|
95
|
+
| 77 | LF | `REQUIRED_CUSTOMER_CREDS_TYPE` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS > REQUIRED_CREDS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.creds[*].id must be present in the payload | — | 30000 |
|
|
96
|
+
| 78 | LF | `REQUIRED_CUSTOMER_NAME` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $.message.order.fulfillments[*].customer.person.name must be present in the payload | - $.message.order.fulfillments[*].customer.person.name is not in the payload | 30000 |
|
|
97
|
+
| 79 | GRP | **REQUIRED_CUSTOMER_CONTACT_DETAILS** | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | Sub-tests: REQUIRED_CUSTOMER_CONTACT_NUMBER, REQUIRED_CUSTOMER_CONTACT_EMAIL | - $.message.order.fulfillments[*].customer.contact.phone is not in the payload | — |
|
|
98
|
+
| 80 | LF | `REQUIRED_CUSTOMER_CONTACT_NUMBER` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS > REQUIRED_CUSTOMER_CONTACT_DETAILS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.contact.phone must be present in the payload | — | 30000 |
|
|
99
|
+
| 81 | LF | `REQUIRED_CUSTOMER_CONTACT_EMAIL` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS > REQUIRED_CUSTOMER_CONTACT_DETAILS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.contact.phone must be present in the payload | — | 30000 |
|
|
100
|
+
| 82 | GRP | **REQUIRED_CUSTOMER_ORG_DETAILS** | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | Sub-tests: REQUIRED_ORG_ADDRESS, REQUIRED_ORG_STATE, REQUIRED_ORG_CITY, REQUIRED_ORG_CODE, REQUIRED_ORG_CONTACT_PHONE, REQUIRED_ORG_CONTACT_EMAIL | - $.message.order.fulfillments[*].customer.organization.address is not in the payload | — |
|
|
101
|
+
| 83 | LF | `REQUIRED_ORG_ADDRESS` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS > REQUIRED_CUSTOMER_ORG_DETAILS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.organization.address must be present in the payload | — | 30000 |
|
|
102
|
+
| 84 | LF | `REQUIRED_ORG_STATE` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS > REQUIRED_CUSTOMER_ORG_DETAILS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.organization.address must be present in the payload | — | 30000 |
|
|
103
|
+
| 85 | LF | `REQUIRED_ORG_CITY` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS > REQUIRED_CUSTOMER_ORG_DETAILS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.organization.address must be present in the payload | — | 30000 |
|
|
104
|
+
| 86 | LF | `REQUIRED_ORG_CODE` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS > REQUIRED_CUSTOMER_ORG_DETAILS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.organization.address must be present in the payload | — | 30000 |
|
|
105
|
+
| 87 | LF | `REQUIRED_ORG_CONTACT_PHONE` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS > REQUIRED_CUSTOMER_ORG_DETAILS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.organization.address must be present in the payload | — | 30000 |
|
|
106
|
+
| 88 | LF | `REQUIRED_ORG_CONTACT_EMAIL` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS > REQUIRED_CUSTOMER_ORG_DETAILS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.organization.address must be present in the payload | — | 30000 |
|
|
107
|
+
| 89 | LF | `REQUIRED_FULFILLMENT_STATE_CODE` | ON_INIT_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $.message.order.fulfillments[*].state.descriptor.code must be present in the payload | — | 30000 |
|
|
108
|
+
| 90 | GRP | **VALID_FULFILLMENT_ITEMS** | ON_INIT_FULFILLMENTS | — | Sub-tests: VALID_FULFILLMENT_TYPE, VALID_FULFILLMENT_STATE_CODE | — | — |
|
|
109
|
+
| 91 | LF | `VALID_FULFILLMENT_TYPE` | ON_INIT_FULFILLMENTS > VALID_FULFILLMENT_ITEMS | — | - All elements of $.message.order.fulfillments[*].type must be in ["ONLINE", "SEMI_ONLINE"] | - $.message.order.fulfillments[*].type is not in the payload | 30000 |
|
|
110
|
+
| 92 | LF | `VALID_FULFILLMENT_STATE_CODE` | ON_INIT_FULFILLMENTS > VALID_FULFILLMENT_ITEMS | — | - All elements of $.message.order.fulfillments[*].state.descriptor.code must be in ["INITIATED", "SANCTIONED", "DISBURSED"] | - $.message.order.fulfillments[*].state.descriptor.code is not in the payload | 30000 |
|
|
111
|
+
| 93 | GRP | **VALID_FULFILLMENT_TAGS** | ON_INIT_FULFILLMENTS | — | Sub-tests: REQUIRED_FULFILLMENT_TAGS, REQUIRED_CHECKLISTS_ITEM | — | — |
|
|
112
|
+
| 94 | LF | `REQUIRED_FULFILLMENT_TAGS` | ON_INIT_FULFILLMENTS > VALID_FULFILLMENT_TAGS | — | - All elements of $.message.order.fulfillments[*].tags[*].descriptor.code must be in ["CHECKLISTS"] | - $.message.order.fulfillments[*].tags[*].descriptor.code is not in the payload | 30000 |
|
|
113
|
+
| 95 | LF | `REQUIRED_CHECKLISTS_ITEM` | ON_INIT_FULFILLMENTS > VALID_FULFILLMENT_TAGS | `$.message.order.fulfillments[*].tags[?(@.descriptor.code == CHECKLISTS)]` | - All elements of $.message.order.fulfillments[*].tags[?(@.descriptor.code == CHECKLISTS)].list[*].descriptor.code must be in ["PERSONAL_INFORMATION", "CONSENT_APPROVAL", "SET_LOAN_AMOUNT", "KYC", "KYC_OFFLINE", "EMANDATE", "LOAN_AGREEMENT", "ACCOUNT_MONITORING", "ORGANIZATION_INFORMATION", "INDIVIDUAL_KYC", "ENTITY_KYC", "MERCHANT_AND_PRDOUCT_DETAILS", "SET_DOWN_PAYMENT", "ESIGN", "BANK_STATEMENT_AND_GST_RETURNS", "BUSINESS_AND_FINANCIAL_DOCUMENTS", "BUSINESS_KYC", "PERSONAL_DISCUSSION", "PHYSICAL_VERIFICATION", "ENACH", "PROCESSING_FEE", "MANUAL_VERIFICATION", "LIEN_MARKING", "PERSONAL_INFORMATION_TERM", "PERSONAL_INFORMATION_LAMF", "PERSONAL_INFORMATION_TERM_GST"] | — | 30000 |
|
|
114
|
+
| 96 | GRP | **ON_SELECT_QUOTE** | — | — | Sub-tests: REQUIRED_COMMON_QUOTE_ITEMS, VALID_COMMON_QUOTE_ITEMS | - $.message.order.quote.id is not in the payload | — |
|
|
115
|
+
| 97 | GRP | **REQUIRED_COMMON_QUOTE_ITEMS** | ON_SELECT_QUOTE | — | Sub-tests: REQUIRED_QUOTE_ID, REQUIRED_QUOTE_PRICE_VALUE, REQUIRED_QUOTE_PRICE_CURRENCY, REQUIRED_BREAKUP_TITLE, REQUIRED_BREAKUP_PRICE_VALUE, REQUIRED_BREAKUP_PRICE_CURRENCY, REQUIRED_QUOTE_TTL | — | — |
|
|
116
|
+
| 98 | LF | `REQUIRED_QUOTE_ID` | ON_SELECT_QUOTE > REQUIRED_COMMON_QUOTE_ITEMS | — | - $.message.order.quote.id must be present in the payload | — | 30000 |
|
|
117
|
+
| 99 | LF | `REQUIRED_QUOTE_PRICE_VALUE` | ON_SELECT_QUOTE > REQUIRED_COMMON_QUOTE_ITEMS | — | - $.message.order.quote.price.value must be present in the payload | — | 30000 |
|
|
118
|
+
| 100 | LF | `REQUIRED_QUOTE_PRICE_CURRENCY` | ON_SELECT_QUOTE > REQUIRED_COMMON_QUOTE_ITEMS | — | - $.message.order.quote.price.currency must be present in the payload | — | 30000 |
|
|
119
|
+
| 101 | LF | `REQUIRED_BREAKUP_TITLE` | ON_SELECT_QUOTE > REQUIRED_COMMON_QUOTE_ITEMS | — | - $.message.order.quote.breakup[*].title must be present in the payload | — | 30000 |
|
|
120
|
+
| 102 | LF | `REQUIRED_BREAKUP_PRICE_VALUE` | ON_SELECT_QUOTE > REQUIRED_COMMON_QUOTE_ITEMS | — | - $.message.order.quote.breakup[*].price.value must be present in the payload | — | 30000 |
|
|
121
|
+
| 103 | LF | `REQUIRED_BREAKUP_PRICE_CURRENCY` | ON_SELECT_QUOTE > REQUIRED_COMMON_QUOTE_ITEMS | — | - $.message.order.quote.breakup[*].price.currency must be present in the payload | — | 30000 |
|
|
122
|
+
| 104 | LF | `REQUIRED_QUOTE_TTL` | ON_SELECT_QUOTE > REQUIRED_COMMON_QUOTE_ITEMS | — | - $.message.order.quote.ttl must be present in the payload | — | 30000 |
|
|
123
|
+
| 105 | GRP | **VALID_COMMON_QUOTE_ITEMS** | ON_SELECT_QUOTE | — | Sub-tests: VALID_ENUM_BREAKUP_PRICE_CURRENCY, VALID_ENUM_BREAKUP_TITLE | — | — |
|
|
124
|
+
| 106 | LF | `VALID_ENUM_BREAKUP_PRICE_CURRENCY` | ON_SELECT_QUOTE > VALID_COMMON_QUOTE_ITEMS | — | - At least one of $.message.order.quote.breakup[*].price.currency must be in ["INR"] | — | 30000 |
|
|
125
|
+
| 107 | LF | `VALID_ENUM_BREAKUP_TITLE` | ON_SELECT_QUOTE > VALID_COMMON_QUOTE_ITEMS | — | - At least one of $.message.order.quote.breakup[*].title must be in ["PRINCIPAL_AMOUNT", "INTEREST_AMOUNT", "PROCESSING_FEE", "OTHER_UPFRONT_CHARGES", "INSURANCE_CHARGES", "NET_DISBURSED_AMOUNT", "OTHER_CHARGES", "WORKING_CAPITAL_LIMIT", "CURRENT_UTLIZATION"] | — | 30000 |
|
|
126
|
+
| 108 | GRP | **ON_INIT_PAYMENTS** | — | — | Sub-tests: REQUIRED_PAYMENT_ITEMS | — | — |
|
|
127
|
+
| 109 | GRP | **REQUIRED_PAYMENT_ITEMS** | ON_INIT_PAYMENTS | — | Sub-tests: REQUIRED_PAYMENT_ITEMS, REQUIRED_PAYMENT_ID, REQUIRED_PAYMENT_STATUS, REQUIRED_PAYMENT_COLLECTED_BY, REQUIRED_PAYMENT_BANK_ACCOUNT_NUMBER, REQUIRED_PAYMENT_BANK_CODE, REQUIRED_PAYMENT_LABEL, REQUIRED_PARAMS_DETAILS, REQUIRED_PAYMENT_URL, REQUIRED_TIME_RANGE | — | — |
|
|
128
|
+
| 110 | LF | `REQUIRED_PAYMENT_ITEMS` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].type must be present in the payload | — | 30000 |
|
|
129
|
+
| 111 | LF | `REQUIRED_PAYMENT_ID` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].id must be present in the payload | — | 30000 |
|
|
130
|
+
| 112 | LF | `REQUIRED_PAYMENT_STATUS` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].status must be present in the payload | — | 30000 |
|
|
131
|
+
| 113 | LF | `REQUIRED_PAYMENT_COLLECTED_BY` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].collected_by must be present in the payload | - not all elements of $.message.order.payments[*].time.label are in ["LOAN_DISBURSMENT"] | 30000 |
|
|
132
|
+
| 114 | LF | `REQUIRED_PAYMENT_BANK_ACCOUNT_NUMBER` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].params.bank_account_number must be present in the payload | - not all elements of $.message.order.payments[*].time.label are in ["LOAN_DISBURSMENT"] | 30000 |
|
|
133
|
+
| 115 | LF | `REQUIRED_PAYMENT_BANK_CODE` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].params.bank_code must be present in the payload | - not all elements of $.message.order.payments[*].time.label are in ["LOAN_DISBURSMENT"] | 30000 |
|
|
134
|
+
| 116 | LF | `REQUIRED_PAYMENT_LABEL` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | - $.message.order.payments[*].time.label must be present in the payload | — | 30000 |
|
|
135
|
+
| 117 | GRP | **REQUIRED_PARAMS_DETAILS** | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | Sub-tests: REQUIRED_TRANSACTION_ID, REQUIRED_PAYMENTS_AMOUNT, REQUIRED_PAYMENTS_CURRENCY | - not all elements of $.message.order.payments[*].status are in ["PAID"] | — |
|
|
136
|
+
| 118 | LF | `REQUIRED_TRANSACTION_ID` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS > REQUIRED_PARAMS_DETAILS | — | - $.message.order.payments[*].params.transaction_id must be present in the payload | — | 30000 |
|
|
137
|
+
| 119 | LF | `REQUIRED_PAYMENTS_AMOUNT` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS > REQUIRED_PARAMS_DETAILS | — | - $.message.order.payments[*].params.amount must be present in the payload | — | 30000 |
|
|
138
|
+
| 120 | LF | `REQUIRED_PAYMENTS_CURRENCY` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS > REQUIRED_PARAMS_DETAILS | — | - $.message.order.payments[*].params.currency must be present in the payload | — | 30000 |
|
|
139
|
+
| 121 | GRP | **REQUIRED_PAYMENT_URL** | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | Sub-tests: REQUIRED_TIME_DURATION | - $.message.order.payments[*].url is not in the payload | — |
|
|
140
|
+
| 122 | LF | `REQUIRED_TIME_DURATION` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS > REQUIRED_PAYMENT_URL | — | - $.message.order.payments[*].time.duration must be present in the payload | — | 30000 |
|
|
141
|
+
| 123 | GRP | **REQUIRED_TIME_RANGE** | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS | — | Sub-tests: REQUIRED_TIME_START_RANGE, REQUIRED_TIME_END_RANGE | - not all elements of $.message.order.payments[*].time.label are in ["INSTALLMENT"] | — |
|
|
142
|
+
| 124 | LF | `REQUIRED_TIME_START_RANGE` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS > REQUIRED_TIME_RANGE | — | - $.message.order.payments[*].time.range.start must be present in the payload | — | 30000 |
|
|
143
|
+
| 125 | LF | `REQUIRED_TIME_END_RANGE` | ON_INIT_PAYMENTS > REQUIRED_PAYMENT_ITEMS > REQUIRED_TIME_RANGE | — | - $.message.order.payments[*].time.range.end must be present in the payload | — | 30000 |
|
|
144
|
+
| 126 | GRP | **ON_INIT_PAYMENT_TAGS** | — | — | Sub-tests: VALID_PAYMENT_TAGS, REQUIRED_ACCOUNT_DETAILS, REQUIRED_BREAKUP_DETAILS | — | — |
|
|
145
|
+
| 127 | LF | `VALID_PAYMENT_TAGS` | ON_INIT_PAYMENT_TAGS | — | - All elements of $.message.order.payments[*].tags[*].descriptor.code must be in ["ACCOUNT_DETAILS", "BREAKUP"] | - $.message.order.payments[*].tags[*].descriptor.code is not in the payload | 30000 |
|
|
146
|
+
| 128 | LF | `REQUIRED_ACCOUNT_DETAILS` | ON_INIT_PAYMENT_TAGS | `$.message.order.payments[*].tags[?(@.descriptor.code == ACCOUNT_DETAILS)]` | - All elements of $.message.order.payments[*].tags[?(@.descriptor.code == ACCOUNT_DETAILS)].list[*].descriptor.code must be in ["ACCOUNT_TYPE", "ACCOUNT_HOLDER_NAME"] | — | 30000 |
|
|
147
|
+
| 129 | LF | `REQUIRED_BREAKUP_DETAILS` | ON_INIT_PAYMENT_TAGS | `$.message.order.payments[*].tags[?(@.descriptor.code == BREAKUP)]` | - All elements of $.message.order.payments[*].tags[?(@.descriptor.code == BREAKUP)].list[*].descriptor.code must be in ["PRINCIPAL_AMOUNT", "INTEREST_AMOUNT"] | — | 30000 |
|
|
148
|
+
| 130 | GRP | **ON_INIT_CANCELLATION_TERMS** | — | — | Sub-tests: EXTERNAL_REF_TERMS, FULFILLMENT_STATE_TERMS | — | — |
|
|
149
|
+
| 131 | GRP | **EXTERNAL_REF_TERMS** | ON_INIT_CANCELLATION_TERMS | — | Sub-tests: REQUIRED_EXTERNAL_REF_MIME_TYPE, REQUIRED_EXTERNAL_REF_URL | - $.message.order.cancellation_terms[*].external_ref.mimetype is not in the payload | — |
|
|
150
|
+
| 132 | LF | `REQUIRED_EXTERNAL_REF_MIME_TYPE` | ON_INIT_CANCELLATION_TERMS > EXTERNAL_REF_TERMS | — | - $.message.order.cancellation_terms[*].external_ref.mimetype must be present in the payload | — | 30000 |
|
|
151
|
+
| 133 | LF | `REQUIRED_EXTERNAL_REF_URL` | ON_INIT_CANCELLATION_TERMS > EXTERNAL_REF_TERMS | — | - $.message.order.cancellation_terms[*].external_ref.url must be present in the payload | — | 30000 |
|
|
152
|
+
| 134 | GRP | **FULFILLMENT_STATE_TERMS** | ON_INIT_CANCELLATION_TERMS | — | Sub-tests: REQUIRED_FULFILLMENT_STATE_CODE, REQUIRED_CANCELLATION_FEE | - $.message.order.cancellation_terms[*].fulfillment_state.descriptor.code is not in the payload | — |
|
|
153
|
+
| 135 | LF | `REQUIRED_FULFILLMENT_STATE_CODE` | ON_INIT_CANCELLATION_TERMS > FULFILLMENT_STATE_TERMS | — | - $.message.order.cancellation_terms[*].fulfillment_state.descriptor.code must be present in the payload | — | 30000 |
|
|
154
|
+
| 136 | LF | `REQUIRED_CANCELLATION_FEE` | ON_INIT_CANCELLATION_TERMS > FULFILLMENT_STATE_TERMS | — | - $.message.order.cancellation_terms[*].cancellation_fee.percentage must be present in the payload | — | 30000 |
|
|
155
|
+
| 137 | GRP | **CONFIRM_TAGS** | — | — | Sub-tests: REQUIRED_PAYMENT_TAGS, REQUIRED_BAP_TERMS, REQUIRED_BPP_TERMS | — | — |
|
|
156
|
+
| 138 | LF | `REQUIRED_PAYMENT_TAGS` | CONFIRM_TAGS | — | - All elements of $.message.order.tags[*].descriptor.code must be in ["BAP_TERMS", "BPP_TERMS"] | - $.message.order.tags[*].descriptor.code is not in the payload | 30000 |
|
|
157
|
+
| 139 | LF | `REQUIRED_BAP_TERMS` | CONFIRM_TAGS | `$.message.order.tags[?(@.descriptor.code == BAP_TERMS)]` | - All elements of $.message.order.tags[?(@.descriptor.code == BAP_TERMS)].list[*].descriptor.code must be in ["STATIC_TERMS", "OFFLINE_CONTRACT"] | — | 30000 |
|
|
158
|
+
| 140 | LF | `REQUIRED_BPP_TERMS` | CONFIRM_TAGS | `$.message.order.tags[?(@.descriptor.code == BPP_TERMS)]` | - All elements of $.message.order.tags[?(@.descriptor.code == BPP_TERMS)].list[*].descriptor.code must be in ["STATIC_TERMS", "OFFLINE_CONTRACT"] | — | 30000 |
|
|
159
|
+
| 141 | GRP | **REQUIRED_ORDER_DOCUMENTS** | — | — | Sub-tests: REQUIRED_DOCUMENT_CODE, REQUIRED_DOCUMENT_NAME, REQUIRED_DOCUMENT_TYPE, REQUIRED_DOCUMENT_URL, VALID_DESCRIPTOR_CODE | — | — |
|
|
160
|
+
| 142 | LF | `REQUIRED_DOCUMENT_CODE` | REQUIRED_ORDER_DOCUMENTS | — | - $.message.order.documents[*].descriptor.code must be present in the payload | — | 30000 |
|
|
161
|
+
| 143 | LF | `REQUIRED_DOCUMENT_NAME` | REQUIRED_ORDER_DOCUMENTS | — | - $.message.order.documents[*].descriptor.name must be present in the payload | — | 30000 |
|
|
162
|
+
| 144 | LF | `REQUIRED_DOCUMENT_TYPE` | REQUIRED_ORDER_DOCUMENTS | — | - $.message.order.documents[*].mime_type must be present in the payload | — | 30000 |
|
|
163
|
+
| 145 | LF | `REQUIRED_DOCUMENT_URL` | REQUIRED_ORDER_DOCUMENTS | — | - $.message.order.documents[*].url must be present in the payload | — | 30000 |
|
|
164
|
+
| 146 | LF | `VALID_DESCRIPTOR_CODE` | REQUIRED_ORDER_DOCUMENTS | — | - All elements of $.message.order.documents[*].descriptor.code must be in ["LOAN_AGREEMENT", "LOAN_CANCELLATION"] | — | 30000 |
|