ondc-code-generator 0.9.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/alpha/possible-json-paths.json +34134 -0
- package/alpha/table/rag-table-docs/confirm.md +3 -0
- package/alpha/table/rag-table-docs/init.md +3 -0
- package/alpha/table/rag-table-docs/on_confirm.md +3 -0
- package/alpha/table/rag-table-docs/on_init.md +3 -0
- package/alpha/table/rag-table-docs/on_search.md +3 -0
- package/alpha/table/rag-table-docs/on_select.md +3 -0
- package/alpha/table/rag-table-docs/on_status.md +3 -0
- package/alpha/table/rag-table-docs/on_update.md +3 -0
- package/alpha/table/rag-table-docs/search.md +3 -0
- package/alpha/table/rag-table-docs/select.md +3 -0
- package/alpha/table/rag-table-docs/status.md +3 -0
- package/alpha/table/rag-table-docs/update.md +3 -0
- package/dist/generator/config-compiler.d.ts +16 -2
- package/dist/generator/config-compiler.js +45 -19
- package/dist/generator/generators/classes/abstract-generator.d.ts +2 -0
- package/dist/generator/generators/documentation/markdown-message-generator.js +4 -1
- package/dist/generator/generators/documentation/md-generator.d.ts +2 -1
- package/dist/generator/generators/documentation/md-generator.js +3 -2
- package/dist/generator/generators/go/go-generator.js +1 -1
- package/dist/generator/generators/javascript/js-generator.js +1 -1
- package/dist/generator/generators/python/py-generator.js +1 -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 +7 -1
- package/dist/generator/generators/rag/rag-table-generator.js +24 -8
- package/dist/generator/generators/typescript/ts-generator.js +1 -1
- package/dist/index.test.js +12 -3
- package/dist/types/build.d.ts +4 -0
- package/package.json +1 -1
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
action: search
|
|
3
|
+
codeName: L1validations
|
|
4
|
+
numTests: 110
|
|
5
|
+
generated: 2026-03-11
|
|
6
|
+
domain: ONDC:FIS12
|
|
7
|
+
version: 2.3.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# L1validations — `search` Validations (Table View)
|
|
11
|
+
|
|
12
|
+
**88** leaf validation rule(s) applied to `search` 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 | **SEARCH_CONTEXT** | — | — | Sub-tests: CONTEXT_REQUIRED, CONTEXT_ENUM, CONTEXT_REGEX | — | — |
|
|
20
|
+
| 2 | GRP | **CONTEXT_REQUIRED** | SEARCH_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` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.country.code must be present in the payload | — | 30000 |
|
|
22
|
+
| 4 | LF | `REQUIRED_CONTEXT_LOCATION_CITY_CODE` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.city.code must be present in the payload | — | 30000 |
|
|
23
|
+
| 5 | LF | `REQUIRED_CONTEXT_DOMAIN` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.domain must be present in the payload | — | 30000 |
|
|
24
|
+
| 6 | LF | `REQUIRED_CONTEXT_TIMESTAMP` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.timestamp must be present in the payload | — | 30000 |
|
|
25
|
+
| 7 | LF | `REQUIRED_CONTEXT_BAP_ID` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_id must be present in the payload | — | 30000 |
|
|
26
|
+
| 8 | LF | `REQUIRED_CONTEXT_BAP_URI` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_uri must be present in the payload | — | 30000 |
|
|
27
|
+
| 9 | LF | `REQUIRED_CONTEXT_TRANSACTION_ID` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.transaction_id must be present in the payload | — | 30000 |
|
|
28
|
+
| 10 | LF | `REQUIRED_CONTEXT_MESSAGE_ID` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.message_id must be present in the payload | — | 30000 |
|
|
29
|
+
| 11 | LF | `REQUIRED_CONTEXT_VERSION` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.version must be present in the payload | — | 30000 |
|
|
30
|
+
| 12 | LF | `REQUIRED_CONTEXT_TTL` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.ttl must be present in the payload | — | 30000 |
|
|
31
|
+
| 13 | LF | `REQUIRED_CONTEXT_BPP_ID` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_id must be present in the payload | - $.message.intent.provider.id is not in the payload | 30000 |
|
|
32
|
+
| 14 | LF | `REQUIRED_CONTEXT_BPP_URI` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_uri must be present in the payload | - $.message.intent.provider.id is not in the payload | 30000 |
|
|
33
|
+
| 15 | GRP | **CONTEXT_ENUM** | SEARCH_CONTEXT | — | Sub-tests: VALID_CONTEXT_LOCATION_COUNTRY_CODE, VALID_CONTEXT_DOMAIN | — | — |
|
|
34
|
+
| 16 | LF | `VALID_CONTEXT_LOCATION_COUNTRY_CODE` | SEARCH_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` | SEARCH_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** | SEARCH_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` | SEARCH_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` | SEARCH_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` | SEARCH_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` | SEARCH_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` | SEARCH_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` | SEARCH_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-]+)+$"] | - **All of the following must be true:** - $.context.bpp_id is not in the payload - $.message.intent.provider.id is not in the payload | 30000 |
|
|
43
|
+
| 25 | LF | `REGEX_CONTEXT_BPP_URI` | SEARCH_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bpp_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - **All of the following must be true:** - $.context.bpp_uri is not in the payload - $.message.intent.provider.id is not in the payload | 30000 |
|
|
44
|
+
| 26 | GRP | **SEARCH_CATEGORY_CODE** | — | — | Sub-tests: REQUIRED_CATEGORY_CODE, VALID_ENUM_CATEGORY_CODE | - $.message.intent.provider.id is in the payload | — |
|
|
45
|
+
| 27 | LF | `REQUIRED_CATEGORY_CODE` | SEARCH_CATEGORY_CODE | — | - $.message.intent.category.descriptor.code must be present in the payload | — | 30000 |
|
|
46
|
+
| 28 | LF | `VALID_ENUM_CATEGORY_CODE` | SEARCH_CATEGORY_CODE | — | - All elements of $.message.intent.category.descriptor.code must be in ["LOAN", "UNSECURED_PERSONAL", "SECURED_PERSONAL", "OFFERS", "ADDITIONAL_DATA", "PERSONAL_FINANCING", "CONSUMER_INVOICE_FINANCING", "AGRI_PURCHASE_FINANCE", "ELECTRONICS_PURCHASE_FINANCE", "BUSINESS", "SOLE_PROPRIETORSHIP", "OTHER", "PARTNERSHIP_FIRM", "PRIVATE_LTD", "INVOICE_FINANCING", "GOLD_LOAN", "LAMF", "TERM_LOAN", "CREDIT_LINE", "DOCUMENT_BASED_DRAWDOWN", "NON_DOCUMENT_BASED_DRAWDOWN", "BANKING", "STATEMENT_UPLOAD", "AA_BANKING", "GST", "AA_GST", "GSP", "RETURN_UPLOAD", "MUTUAL_FUND", "AA_LOAN", "MFC", "ITR", "UPLOAD", "BUREAU_LOAN", "DERIVED_DATA", "ADDITIONAL_UPLOAD", "RTA"] | - $.message.intent.category.descriptor.code is not in the payload | 30000 |
|
|
47
|
+
| 29 | GRP | **SEARCH_ITEMS** | — | — | Sub-tests: REQUIRED_ITEM_FIELDS | - $.message.intent.provider.id is not in the payload | — |
|
|
48
|
+
| 30 | GRP | **REQUIRED_ITEM_FIELDS** | SEARCH_ITEMS | — | Sub-tests: REQUIRED_PROVIDER_ID, REQUIRED_PROVIDER_ITEM_ID, REQUIRED_XINPUT_FIELDS, VALID_XINPUT_ENUMS | — | — |
|
|
49
|
+
| 31 | LF | `REQUIRED_PROVIDER_ID` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS | — | - $.message.intent.provider.id must be present in the payload | — | 30000 |
|
|
50
|
+
| 32 | LF | `REQUIRED_PROVIDER_ITEM_ID` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS | — | - $.message.intent.provider.items[*].id must be present in the payload | — | 30000 |
|
|
51
|
+
| 33 | GRP | **REQUIRED_XINPUT_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS | — | Sub-tests: REQUIRED_HEAD_CODE, REQUIRED_FORM_ID, REQUIRED_SUBMISSION_ID, PERSONAL_LOAN_FIELDS, REQUIRED_CONSENT_FIELDS, GOLD_LOAN_FIELDS, WORKING_CAPITAL_LOAN_FIELDS, BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS, TERM_LOAN_FIELDS, LAMF_FIELDS, INVOICE_LOAN_FIELDS | — | — |
|
|
52
|
+
| 34 | LF | `REQUIRED_HEAD_CODE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | - $.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
53
|
+
| 35 | LF | `REQUIRED_FORM_ID` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.id must be present in the payload | — | 30000 |
|
|
54
|
+
| 36 | LF | `REQUIRED_SUBMISSION_ID` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | - $.message.intent.provider.items[*].xinput.form_response.submission_id must be present in the payload | - $._EXTERNAL._SELF.message.intent.provider.id is not equal to CONSENT_APPROVAL | 30000 |
|
|
55
|
+
| 37 | GRP | **PERSONAL_LOAN_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_FIELD_PAN_NAME_1, REQUIRED_FIELD_DOB, REQUIRED_FIELD_GENDER, REQUIRED_FIELD_PAN, REQUIRED_FIELD_CONTACT_NUMBER, REQUIRED_FIELD_EMPLOYMENT_TYPE, REQUIRED_FIELD_INCOME, REQUIRED_FIELD_COMPANY_NAME, REQUIRED_FIELD_BUREAU_CONSENT | - not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code are in ["PERSONAL_INFORMATION"] | — |
|
|
56
|
+
| 38 | LF | `REQUIRED_FIELD_PAN_NAME_1` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.panName.value must be present in the payload | — | 30000 |
|
|
57
|
+
| 39 | LF | `REQUIRED_FIELD_DOB` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.dob.value must be present in the payload | — | 30000 |
|
|
58
|
+
| 40 | LF | `REQUIRED_FIELD_GENDER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.gender.value must be present in the payload | — | 30000 |
|
|
59
|
+
| 41 | LF | `REQUIRED_FIELD_PAN` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.pan.value must be present in the payload | — | 30000 |
|
|
60
|
+
| 42 | LF | `REQUIRED_FIELD_CONTACT_NUMBER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.contactNumber.value must be present in the payload | — | 30000 |
|
|
61
|
+
| 43 | LF | `REQUIRED_FIELD_EMPLOYMENT_TYPE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.employmentType.value must be present in the payload | — | 30000 |
|
|
62
|
+
| 44 | LF | `REQUIRED_FIELD_INCOME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.income.value must be present in the payload | — | 30000 |
|
|
63
|
+
| 45 | LF | `REQUIRED_FIELD_COMPANY_NAME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.companyName.value must be present in the payload | — | 30000 |
|
|
64
|
+
| 46 | LF | `REQUIRED_FIELD_BUREAU_CONSENT` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.bureauConsent.value must be present in the payload | — | 30000 |
|
|
65
|
+
| 47 | GRP | **REQUIRED_CONSENT_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_FIELD_CONSENT_HANDLER | - none of $.message.intent.provider.items[*].xinput.head.descriptor.code are in ["CONSENT_APPROVAL"] | — |
|
|
66
|
+
| 48 | LF | `REQUIRED_FIELD_CONSENT_HANDLER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > REQUIRED_CONSENT_FIELDS | — | - $.message.intent.provider.items[*].xinput.form_response.submission_id must be present in the payload | — | 30000 |
|
|
67
|
+
| 49 | GRP | **GOLD_LOAN_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_FIELD_PAN, REQUIRED_FULL_NAME, REQUIRED_FIELD_GENDER, REQUIRED_FIELD_DOB, REQUIRED_FIELD_CONTACT_NUMBER, REQUIRED_FIELD_PINCODE, REQUIRED_FIELD_JWELLERY, REQUIRED_FIELD_PURITY, REQUIRED_FIELD_BUREAU_CONSENT | - not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code are in ["PERSONAL_INFORMATION_GOLD"] | — |
|
|
68
|
+
| 50 | LF | `REQUIRED_FIELD_PAN` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
69
|
+
| 51 | LF | `REQUIRED_FULL_NAME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
70
|
+
| 52 | LF | `REQUIRED_FIELD_GENDER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
71
|
+
| 53 | LF | `REQUIRED_FIELD_DOB` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
72
|
+
| 54 | LF | `REQUIRED_FIELD_CONTACT_NUMBER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
73
|
+
| 55 | LF | `REQUIRED_FIELD_PINCODE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
74
|
+
| 56 | LF | `REQUIRED_FIELD_JWELLERY` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
75
|
+
| 57 | LF | `REQUIRED_FIELD_PURITY` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
76
|
+
| 58 | LF | `REQUIRED_FIELD_BUREAU_CONSENT` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
77
|
+
| 59 | GRP | **WORKING_CAPITAL_LOAN_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_FIELD_GSTIN_PROFILE_1, REQUIRED_FIELD_GSTR_B2B_INVOICE_1, REQUIRED_FIELD_GSTR_B2B_CDNR_1, REQUIRED_FIELD_GSTR_B2B_INVOICES_1, REQUIRED_FIELD_GSTR_3B_SUMMARY_1, REQUIRED_FIELD_BANK_STATEMENT_FILES, REQUIRED_FIELD_BANK_NAME, REQUIRED_FIELD_MIME_TYPE | - not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code are in ["BANK_STATEMENT_AND_GST_RETURNS"] | — |
|
|
78
|
+
| 60 | LF | `REQUIRED_FIELD_GSTIN_PROFILE_1` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
79
|
+
| 61 | LF | `REQUIRED_FIELD_GSTR_B2B_INVOICE_1` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
80
|
+
| 62 | LF | `REQUIRED_FIELD_GSTR_B2B_CDNR_1` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
81
|
+
| 63 | LF | `REQUIRED_FIELD_GSTR_B2B_INVOICES_1` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
82
|
+
| 64 | LF | `REQUIRED_FIELD_GSTR_3B_SUMMARY_1` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
83
|
+
| 65 | LF | `REQUIRED_FIELD_BANK_STATEMENT_FILES` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
84
|
+
| 66 | LF | `REQUIRED_FIELD_BANK_NAME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
85
|
+
| 67 | LF | `REQUIRED_FIELD_MIME_TYPE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
|
|
86
|
+
| 68 | GRP | **BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_FIELD_FINANCIAL_STATEMENTS, REQUIRED_FIELD_SHAREHOLDING_PATTERN, REQUIRED_FIELD_ITR | - not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code are in ["BUSINESS_AND_FINANCIAL_DOCUMENTS"] | — |
|
|
87
|
+
| 69 | LF | `REQUIRED_FIELD_FINANCIAL_STATEMENTS` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.financialStatements.value must be present in the payload | — | 30000 |
|
|
88
|
+
| 70 | LF | `REQUIRED_FIELD_SHAREHOLDING_PATTERN` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.shareholdingPattern.value must be present in the payload | — | 30000 |
|
|
89
|
+
| 71 | LF | `REQUIRED_FIELD_ITR` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.itr.value must be present in the payload | — | 30000 |
|
|
90
|
+
| 72 | GRP | **TERM_LOAN_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_FIELD_PAN, REQUIRED_FULL_NAME, REQUIRED_DOB, REQUIRED_CONSTITUTION, REQUIRED_BUSINESS_PAN, REQUIRED_DOI, REQUIRED_NATURE_OF_BUSINESS, REQUIRED_ANNUAL_TURNOVER, REQUIRED_BUSINESS_PINCODE | - not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code are in ["PERSONAL_INFORMATION_TERM"] | — |
|
|
91
|
+
| 73 | LF | `REQUIRED_FIELD_PAN` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.pan.value must be present in the payload | — | 30000 |
|
|
92
|
+
| 74 | LF | `REQUIRED_FULL_NAME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.fullName.value must be present in the payload | — | 30000 |
|
|
93
|
+
| 75 | LF | `REQUIRED_DOB` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.dob.value must be present in the payload | — | 30000 |
|
|
94
|
+
| 76 | LF | `REQUIRED_CONSTITUTION` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.constitution.value must be present in the payload | — | 30000 |
|
|
95
|
+
| 77 | LF | `REQUIRED_BUSINESS_PAN` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.businessPan.value must be present in the payload | — | 30000 |
|
|
96
|
+
| 78 | LF | `REQUIRED_DOI` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.doi.value must be present in the payload | — | 30000 |
|
|
97
|
+
| 79 | LF | `REQUIRED_NATURE_OF_BUSINESS` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.natureOfBusiness.value must be present in the payload | — | 30000 |
|
|
98
|
+
| 80 | LF | `REQUIRED_ANNUAL_TURNOVER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.annualTurnover.value must be present in the payload | — | 30000 |
|
|
99
|
+
| 81 | LF | `REQUIRED_BUSINESS_PINCODE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.businessPincode.value must be present in the payload | — | 30000 |
|
|
100
|
+
| 82 | GRP | **LAMF_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_FIELD_PAN, REQUIRED_FIELD_FULL_NAME, REQUIRED_FIELD_CONSTITUION, REQUIRED_FIELD_GENDER, REQUIRED_FIELD_EMPLOYMENT_TYPE, REQUIRED_FIELD_DOB, REQUIRED_FIELD_ANNUAL_INCOME, REQUIRED_FIELD_MOBILE_NUMBER, REQUIRED_FIELD_EMAIL_ID | - not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code are in ["PERSONAL_INFORMATION_LAMF"] | — |
|
|
101
|
+
| 83 | LF | `REQUIRED_FIELD_PAN` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.pan.value must be present in the payload | — | 30000 |
|
|
102
|
+
| 84 | LF | `REQUIRED_FIELD_FULL_NAME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.fullName.value must be present in the payload | — | 30000 |
|
|
103
|
+
| 85 | LF | `REQUIRED_FIELD_CONSTITUION` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.constitution.value must be present in the payload | — | 30000 |
|
|
104
|
+
| 86 | LF | `REQUIRED_FIELD_GENDER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.gender.value must be present in the payload | — | 30000 |
|
|
105
|
+
| 87 | LF | `REQUIRED_FIELD_EMPLOYMENT_TYPE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.employmentType.value must be present in the payload | — | 30000 |
|
|
106
|
+
| 88 | LF | `REQUIRED_FIELD_DOB` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.dob.value must be present in the payload | — | 30000 |
|
|
107
|
+
| 89 | LF | `REQUIRED_FIELD_ANNUAL_INCOME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.annualIncome.value must be present in the payload | — | 30000 |
|
|
108
|
+
| 90 | LF | `REQUIRED_FIELD_MOBILE_NUMBER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.mobileNumber.value must be present in the payload | — | 30000 |
|
|
109
|
+
| 91 | LF | `REQUIRED_FIELD_EMAIL_ID` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.emailId.value must be present in the payload | — | 30000 |
|
|
110
|
+
| 92 | GRP | **INVOICE_LOAN_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_FIELD_BUREAU_CONSENT | - not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code are in ["ORGANIZATION_INFORMATION"] | — |
|
|
111
|
+
| 93 | LF | `REQUIRED_FIELD_BUREAU_CONSENT` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > INVOICE_LOAN_FIELDS | — | - $.message.intent.providers.items[*].xinput.form.data.bureauConsent.value must be present in the payload | — | 30000 |
|
|
112
|
+
| 94 | GRP | **VALID_XINPUT_ENUMS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS | — | Sub-tests: REQUIRED_HEAD_CODE | — | — |
|
|
113
|
+
| 95 | LF | `REQUIRED_HEAD_CODE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > VALID_XINPUT_ENUMS | — | - All elements of $.message.intent.provider.items[*].xinput.head.descriptor.code must be in ["PERSONAL_INFORMATION", "CONSENT_APPROVAL", "ORGANIZATION_INFORMATION", "MERCHANT_AND_PRDOUCT_DETAILS", "BANK_STATEMENT_AND_GST_RETURNS", "BUSINESS_AND_FINANCIAL_DOCUMENTS", "ORGANIZATION_INFORMATION", "PERSONAL_INFORMATION_TERM", "PERSONAL_INFORMATION_GOLD", "PERSONAL_INFORMATION_TERM_GST", "PERSONAL_INFORMATION_BUSINESS_TERM", "PERSONAL_INFORMATION_LAMF"] | - $.message.intent.provider.items[*].xinput.head.descriptor.code is not in the payload | 30000 |
|
|
114
|
+
| 96 | GRP | **SEARCH_FULFILLMENTS** | — | — | Sub-tests: REQUIRED_FULFILLMENT_ITEMS | - $.message.intent.provider.fulfillments[*].customer.person.name is not in the payload | — |
|
|
115
|
+
| 97 | GRP | **REQUIRED_FULFILLMENT_ITEMS** | SEARCH_FULFILLMENTS | — | Sub-tests: REQUIRED_PERSON_NAME, REQUIRED_PERSON_DOB, REQUIRED_PERSON_GENDER, REQUIRED_CREDS_ID, REQUIRED_CREDS_TYPE, REQUIRED_CONTACT_EMAIL, REQUIRED_CONTACT_PHONE | — | — |
|
|
116
|
+
| 98 | LF | `REQUIRED_PERSON_NAME` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
|
|
117
|
+
| 99 | LF | `REQUIRED_PERSON_DOB` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
|
|
118
|
+
| 100 | LF | `REQUIRED_PERSON_GENDER` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
|
|
119
|
+
| 101 | LF | `REQUIRED_CREDS_ID` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
|
|
120
|
+
| 102 | LF | `REQUIRED_CREDS_TYPE` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
|
|
121
|
+
| 103 | LF | `REQUIRED_CONTACT_EMAIL` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
|
|
122
|
+
| 104 | LF | `REQUIRED_CONTACT_PHONE` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
|
|
123
|
+
| 105 | GRP | **SEARCH_PAYMENT** | — | — | Sub-tests: REQUIRED_PAYMENT_ITEMS | — | — |
|
|
124
|
+
| 106 | GRP | **REQUIRED_PAYMENT_ITEMS** | SEARCH_PAYMENT | — | Sub-tests: REQUIRED_PAYMENT_COLLECTED_BY | — | — |
|
|
125
|
+
| 107 | LF | `REQUIRED_PAYMENT_COLLECTED_BY` | SEARCH_PAYMENT > REQUIRED_PAYMENT_ITEMS | — | - $.message.intent.payment.collected_by must be present in the payload | — | 30000 |
|
|
126
|
+
| 108 | GRP | **SEARCH_TAGS** | — | — | Sub-tests: REQUIRED_PAYMENT_TAGS, REQUIRED_BAP_TERMS | — | — |
|
|
127
|
+
| 109 | LF | `REQUIRED_PAYMENT_TAGS` | SEARCH_TAGS | — | - All elements of $.message.intent.tags[*].descriptor.code must be in ["BAP_TERMS", "BPP_TERMS"] | - $.message.intent.tags[*].descriptor.code is not in the payload | 30000 |
|
|
128
|
+
| 110 | LF | `REQUIRED_BAP_TERMS` | SEARCH_TAGS | `$.message.intent.tags[?(@.descriptor.code == BAP_TERMS)]` | - All elements of $.message.intent.tags[?(@.descriptor.code == BAP_TERMS)].list[*].descriptor.code must be in ["STATIC_TERMS", "OFFLINE_CONTRACT"] | — | 30000 |
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
action: select
|
|
3
|
+
codeName: L1validations
|
|
4
|
+
numTests: 52
|
|
5
|
+
generated: 2026-03-11
|
|
6
|
+
domain: ONDC:FIS12
|
|
7
|
+
version: 2.3.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# L1validations — `select` Validations (Table View)
|
|
11
|
+
|
|
12
|
+
**40** leaf validation rule(s) applied to `select` 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 | **SELECT_CONTEXT** | — | — | Sub-tests: CONTEXT_REQUIRED, CONTEXT_ENUM, CONTEXT_REGEX | — | — |
|
|
20
|
+
| 2 | GRP | **CONTEXT_REQUIRED** | SELECT_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` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.country.code must be present in the payload | — | 30000 |
|
|
22
|
+
| 4 | LF | `REQUIRED_CONTEXT_LOCATION_CITY_CODE` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.city.code must be present in the payload | — | 30000 |
|
|
23
|
+
| 5 | LF | `REQUIRED_CONTEXT_DOMAIN` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.domain must be present in the payload | — | 30000 |
|
|
24
|
+
| 6 | LF | `REQUIRED_CONTEXT_TIMESTAMP` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.timestamp must be present in the payload | — | 30000 |
|
|
25
|
+
| 7 | LF | `REQUIRED_CONTEXT_BAP_ID` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_id must be present in the payload | — | 30000 |
|
|
26
|
+
| 8 | LF | `REQUIRED_CONTEXT_BAP_URI` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_uri must be present in the payload | — | 30000 |
|
|
27
|
+
| 9 | LF | `REQUIRED_CONTEXT_TRANSACTION_ID` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.transaction_id must be present in the payload | — | 30000 |
|
|
28
|
+
| 10 | LF | `REQUIRED_CONTEXT_MESSAGE_ID` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.message_id must be present in the payload | — | 30000 |
|
|
29
|
+
| 11 | LF | `REQUIRED_CONTEXT_VERSION` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.version must be present in the payload | — | 30000 |
|
|
30
|
+
| 12 | LF | `REQUIRED_CONTEXT_TTL` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.ttl must be present in the payload | — | 30000 |
|
|
31
|
+
| 13 | LF | `REQUIRED_CONTEXT_BPP_ID` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_id must be present in the payload | — | 30000 |
|
|
32
|
+
| 14 | LF | `REQUIRED_CONTEXT_BPP_URI` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_uri must be present in the payload | — | 30000 |
|
|
33
|
+
| 15 | GRP | **CONTEXT_ENUM** | SELECT_CONTEXT | — | Sub-tests: VALID_CONTEXT_LOCATION_COUNTRY_CODE, VALID_CONTEXT_DOMAIN | — | — |
|
|
34
|
+
| 16 | LF | `VALID_CONTEXT_LOCATION_COUNTRY_CODE` | SELECT_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` | SELECT_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** | SELECT_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` | SELECT_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` | SELECT_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` | SELECT_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` | SELECT_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` | SELECT_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` | SELECT_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` | SELECT_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, VALID_TAGS | — | — |
|
|
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: SET_LOAN_AMOUNT_FORM, REQUIRED_FORM_SUBMISSION_ID, BUSINESS_KYC_FORM | - $.message.order.items[*].xinput.form.id is not in the payload | — |
|
|
49
|
+
| 31 | GRP | **SET_LOAN_AMOUNT_FORM** | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS | — | Sub-tests: REQUIRED_REQUEST_AMOUNT, REQUIRED_REQUEST_TERM | - $.message.order.items[*].xinput.head.descriptor.code is not equal to ["SET_LOAN_AMOUNT"] | — |
|
|
50
|
+
| 32 | LF | `REQUIRED_REQUEST_AMOUNT` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS > SET_LOAN_AMOUNT_FORM | — | - $.message.order.items[*].xinput.form.data.requestAmount.value must be present in the payload | — | 30000 |
|
|
51
|
+
| 33 | LF | `REQUIRED_REQUEST_TERM` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS > SET_LOAN_AMOUNT_FORM | — | - $.message.order.items[*].xinput.form.data.requestTerm.value must be present in the payload | — | 30000 |
|
|
52
|
+
| 34 | LF | `REQUIRED_FORM_SUBMISSION_ID` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS | — | - $.message.order.items[*].xinput.form_response.submission_id must be present in the payload | - not all elements of $.message.order.items[*].xinput.head.descriptor.code are in ["INDIVIDUAL_KYC", "MANUAL_VERIFICATION"] | 30000 |
|
|
53
|
+
| 35 | GRP | **BUSINESS_KYC_FORM** | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS | — | Sub-tests: REQUIRED_COMPANY_PAN, REQUIRED_GST_CERTIFICATE, REQUIRED_BUSINESS_PROOF, REQUIRED_APPLICATION_FORM | - $.message.order.items[*].xinput.head.descriptor.code is not equal to ["BUSINESS_KYC"] | — |
|
|
54
|
+
| 36 | LF | `REQUIRED_COMPANY_PAN` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS > BUSINESS_KYC_FORM | — | - $.message.order.items[*].xinput.form.data.companyPan.value must be present in the payload | — | 30000 |
|
|
55
|
+
| 37 | LF | `REQUIRED_GST_CERTIFICATE` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS > BUSINESS_KYC_FORM | — | - $.message.order.items[*].xinput.form.data.gstCertificate.value must be present in the payload | — | 30000 |
|
|
56
|
+
| 38 | LF | `REQUIRED_BUSINESS_PROOF` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS > BUSINESS_KYC_FORM | — | - $.message.order.items[*].xinput.form.data.businessProof.value must be present in the payload | — | 30000 |
|
|
57
|
+
| 39 | LF | `REQUIRED_APPLICATION_FORM` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS > BUSINESS_KYC_FORM | — | - $.message.order.items[*].xinput.form.data.applicationForm.value must be present in the payload | — | 30000 |
|
|
58
|
+
| 40 | GRP | **VALID_TAGS** | REQUIRED_ITEM_FIELDS | — | Sub-tests: VALID_ITEM_TAGS, VALID_PLEDGE_TAGS | - $.message.order.items[*].tags[*].descriptor.code is not in the payload | — |
|
|
59
|
+
| 41 | LF | `VALID_ITEM_TAGS` | REQUIRED_ITEM_FIELDS > VALID_TAGS | — | - All elements of $.message.order.items[*].tags[*].descriptor.code must be in ["PLEDGE_REQUIREMENTS"] | - $.message.order.items[*].tags[*].descriptor.code is not in the payload | 30000 |
|
|
60
|
+
| 42 | LF | `VALID_PLEDGE_TAGS` | REQUIRED_ITEM_FIELDS > VALID_TAGS | `$.message.order.items[*].tags[?(@.descriptor.code == PLEDGE_REQUIREMENTS)]` | - All elements of $.message.order.items[*].tags[?(@.descriptor.code == PLEDGE_REQUIREMENTS)].list[*].descriptor.code must be in ["SCHEME_CODE", "UNITS_PLEDGED"] | — | 30000 |
|
|
61
|
+
| 43 | GRP | **REQUIRED_FULFILMENT_ITEMS** | — | — | Sub-tests: REQUIRED_FULFILLMENT_ID, REQUIRED_CUSTOMER_ITEMS | — | — |
|
|
62
|
+
| 44 | LF | `REQUIRED_FULFILLMENT_ID` | REQUIRED_FULFILMENT_ITEMS | — | - $.message.order.fulfillments[*].id must be present in the payload | — | 30000 |
|
|
63
|
+
| 45 | 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 | — |
|
|
64
|
+
| 46 | 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 |
|
|
65
|
+
| 47 | 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 |
|
|
66
|
+
| 48 | 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 | — |
|
|
67
|
+
| 49 | 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 |
|
|
68
|
+
| 50 | 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 |
|
|
69
|
+
| 51 | 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 |
|
|
70
|
+
| 52 | 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 |
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
action: status
|
|
3
|
+
codeName: L1validations
|
|
4
|
+
numTests: 26
|
|
5
|
+
generated: 2026-03-11
|
|
6
|
+
domain: ONDC:FIS12
|
|
7
|
+
version: 2.3.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# L1validations — `status` Validations (Table View)
|
|
11
|
+
|
|
12
|
+
**22** leaf validation rule(s) applied to `status` 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 | Description | Skip If | Error Code |
|
|
18
|
+
| ---: | :---: | :--- | :--- | :--- | :--- | :---: |
|
|
19
|
+
| 1 | GRP | **STATUS_CONTEXT** | — | Sub-tests: CONTEXT_REQUIRED, CONTEXT_ENUM, CONTEXT_REGEX | — | — |
|
|
20
|
+
| 2 | GRP | **CONTEXT_REQUIRED** | STATUS_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` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.location.country.code must be present in the payload | — | 30000 |
|
|
22
|
+
| 4 | LF | `REQUIRED_CONTEXT_LOCATION_CITY_CODE` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.location.city.code must be present in the payload | — | 30000 |
|
|
23
|
+
| 5 | LF | `REQUIRED_CONTEXT_DOMAIN` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.domain must be present in the payload | — | 30000 |
|
|
24
|
+
| 6 | LF | `REQUIRED_CONTEXT_TIMESTAMP` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.timestamp must be present in the payload | — | 30000 |
|
|
25
|
+
| 7 | LF | `REQUIRED_CONTEXT_BAP_ID` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.bap_id must be present in the payload | — | 30000 |
|
|
26
|
+
| 8 | LF | `REQUIRED_CONTEXT_BAP_URI` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.bap_uri must be present in the payload | — | 30000 |
|
|
27
|
+
| 9 | LF | `REQUIRED_CONTEXT_TRANSACTION_ID` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.transaction_id must be present in the payload | — | 30000 |
|
|
28
|
+
| 10 | LF | `REQUIRED_CONTEXT_MESSAGE_ID` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.message_id must be present in the payload | — | 30000 |
|
|
29
|
+
| 11 | LF | `REQUIRED_CONTEXT_VERSION` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.version must be present in the payload | — | 30000 |
|
|
30
|
+
| 12 | LF | `REQUIRED_CONTEXT_TTL` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.ttl must be present in the payload | — | 30000 |
|
|
31
|
+
| 13 | LF | `REQUIRED_CONTEXT_BPP_ID` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.bpp_id must be present in the payload | — | 30000 |
|
|
32
|
+
| 14 | LF | `REQUIRED_CONTEXT_BPP_URI` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.bpp_uri must be present in the payload | — | 30000 |
|
|
33
|
+
| 15 | GRP | **CONTEXT_ENUM** | STATUS_CONTEXT | Sub-tests: VALID_CONTEXT_LOCATION_COUNTRY_CODE, VALID_CONTEXT_DOMAIN | — | — |
|
|
34
|
+
| 16 | LF | `VALID_CONTEXT_LOCATION_COUNTRY_CODE` | STATUS_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` | STATUS_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** | STATUS_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` | STATUS_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` | STATUS_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` | STATUS_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` | STATUS_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` | STATUS_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` | STATUS_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` | STATUS_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_ORDER_ID` | — | - $.message.order_id must be present in the payload | — | 30000 |
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
action: update
|
|
3
|
+
codeName: L1validations
|
|
4
|
+
numTests: 33
|
|
5
|
+
generated: 2026-03-11
|
|
6
|
+
domain: ONDC:FIS12
|
|
7
|
+
version: 2.3.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# L1validations — `update` Validations (Table View)
|
|
11
|
+
|
|
12
|
+
**27** leaf validation rule(s) applied to `update` 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 | Description | Skip If | Error Code |
|
|
18
|
+
| ---: | :---: | :--- | :--- | :--- | :--- | :---: |
|
|
19
|
+
| 1 | GRP | **UPDATE_CONTEXT** | — | Sub-tests: CONTEXT_REQUIRED, CONTEXT_ENUM, CONTEXT_REGEX | — | — |
|
|
20
|
+
| 2 | GRP | **CONTEXT_REQUIRED** | UPDATE_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` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.location.country.code must be present in the payload | — | 30000 |
|
|
22
|
+
| 4 | LF | `REQUIRED_CONTEXT_LOCATION_CITY_CODE` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.location.city.code must be present in the payload | — | 30000 |
|
|
23
|
+
| 5 | LF | `REQUIRED_CONTEXT_DOMAIN` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.domain must be present in the payload | — | 30000 |
|
|
24
|
+
| 6 | LF | `REQUIRED_CONTEXT_TIMESTAMP` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.timestamp must be present in the payload | — | 30000 |
|
|
25
|
+
| 7 | LF | `REQUIRED_CONTEXT_BAP_ID` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.bap_id must be present in the payload | — | 30000 |
|
|
26
|
+
| 8 | LF | `REQUIRED_CONTEXT_BAP_URI` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.bap_uri must be present in the payload | — | 30000 |
|
|
27
|
+
| 9 | LF | `REQUIRED_CONTEXT_TRANSACTION_ID` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.transaction_id must be present in the payload | — | 30000 |
|
|
28
|
+
| 10 | LF | `REQUIRED_CONTEXT_MESSAGE_ID` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.message_id must be present in the payload | — | 30000 |
|
|
29
|
+
| 11 | LF | `REQUIRED_CONTEXT_VERSION` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.version must be present in the payload | — | 30000 |
|
|
30
|
+
| 12 | LF | `REQUIRED_CONTEXT_TTL` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.ttl must be present in the payload | — | 30000 |
|
|
31
|
+
| 13 | LF | `REQUIRED_CONTEXT_BPP_ID` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.bpp_id must be present in the payload | — | 30000 |
|
|
32
|
+
| 14 | LF | `REQUIRED_CONTEXT_BPP_URI` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.bpp_uri must be present in the payload | — | 30000 |
|
|
33
|
+
| 15 | GRP | **CONTEXT_ENUM** | UPDATE_CONTEXT | Sub-tests: VALID_CONTEXT_LOCATION_COUNTRY_CODE, VALID_CONTEXT_DOMAIN | — | — |
|
|
34
|
+
| 16 | LF | `VALID_CONTEXT_LOCATION_COUNTRY_CODE` | UPDATE_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` | UPDATE_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** | UPDATE_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` | UPDATE_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` | UPDATE_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` | UPDATE_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` | UPDATE_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` | UPDATE_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` | UPDATE_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` | UPDATE_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_UPDATE_TARGET` | — | - $.message.update_target must be present in the payload | — | 30000 |
|
|
45
|
+
| 27 | LF | `REQUIRED_ORDER_ID` | — | - $.message.order.id must be present in the payload | — | 30000 |
|
|
46
|
+
| 28 | GRP | **REQUIRED_ITEMS_FIELDS** | — | Sub-tests: REQUIRED_ITEM_ID, REQUIRED_XINPUT_ITEMS | - $.message.order.items[*].id is not in the payload | — |
|
|
47
|
+
| 29 | LF | `REQUIRED_ITEM_ID` | REQUIRED_ITEMS_FIELDS | - $.message.order.items[*].id must be present in the payload | — | 30000 |
|
|
48
|
+
| 30 | GRP | **REQUIRED_XINPUT_ITEMS** | REQUIRED_ITEMS_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_ITEMS_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_ITEMS_FIELDS > REQUIRED_XINPUT_ITEMS | - $.message.order.items[*].xinput.form.id must be present in the payload | — | 30000 |
|
|
51
|
+
| 33 | LF | `REQUIRED_SUBMISSION_ID` | REQUIRED_ITEMS_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 |
|