docs: document CVP IS organization search entry
Validate skill / validate (push) Successful in 5s

This commit is contained in:
2026-08-20 06:04:31 +00:00
parent d744fb0efa
commit 8329b6aaff
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -144,7 +144,7 @@ A validated **basic procurement search** route uses `GET /epps/viewCFTSAction.do
A second validated discovery route is **organization first**:
1. Open `https://viesiejipirkimai.lt/epps/viewOrganisations.do`, select/use the **Organizacija** search, and search the exact client legal name plus known former-name/abbreviation variants. If the byte-exact registry name returns no result, retry a small, documented set of typography/legal-form variants—for example, remove Lithuanian quotation marks or expand/shorten `Viešoji įstaiga` / `VšĮ` / `AB`—because CVP IS may store a different legal-form rendering. Parse complete result rows and bind each displayed organization name to the profile link in that same row; do not associate links by a broad surrounding-HTML substring. Do not use a broader substring match as identity evidence.
1. Open the **Organizacija** advanced-search entry page at `https://viesiejipirkimai.lt/epps/prepareAdvancedSearch.do?type=org`, then submit its live `POST /epps/viewOrganisations.do` form with `viewMode=`, `selectable=`, `within=template.group.ca`, `name=<client name>`, and optional `shortName`, `city`, and `street`. Preserve the session cookie and normal referrer. Search the exact client legal name first, then known former-name/abbreviation variants. If the byte-exact registry name returns no result, retry a small, documented set of typography/legal-form variants—for example, remove Lithuanian quotation marks or expand/shorten `Viešoji įstaiga` / `VšĮ` / `AB`—because CVP IS may store a different legal-form rendering. Parse complete result rows and bind each displayed organization name to the profile link in that same row; do not associate links by a broad surrounding-HTML substring. Do not invent a GET query parameter for the results endpoint or use the input element's capitalized `id="Name"` as the lowercase form key `name`. Do not use a broader substring match as identity evidence.
2. Identity-check the result row before opening it. Preserve the query variant that matched, portal organization ID, exact displayed organization name, and available registration number/domain; reconcile these against the authoritative client identity before proceeding. If a nominally exact query returns multiple distinct rows or IDs, treat it as unresolved until registration number, domain, or another authoritative identifier disambiguates the target—never choose the first row. This remains true when the profiles show the same address or appear to be duplicate historical/current records. Open and review every exact candidate profile and its notice list, preserve each `(organizationId, authorityId, orgGroupId)` tuple separately, and report the duplicate-profile ambiguity rather than silently designating one canonical record. Do not map a near-name match merely because it has purchases.
3. Open the organization profile at `https://viesiejipirkimai.lt/epps/prepareViewCAOrganisation.do?id=<organizationId>`.
4. Follow **PERŽIŪRĖTI VISUS PASKELBTUS SKELBIMUS**. The resulting URL has the validated shape `https://viesiejipirkimai.lt/epps/notices/viewPublishedNotices.do?authorityId=<authorityId>&orgGroupId=<orgGroupId>`. Obtain both IDs from the profile link rather than assuming they are equal or deriving one arithmetically.
+1 -1
View File
@@ -35,7 +35,7 @@ Live validation on 2026-08-19 used `resourceId=9279980`. All three routes return
## Validated organization-first route
1. Open `https://viesiejipirkimai.lt/epps/viewOrganisations.do` and search the exact client legal name, then former-name and abbreviation variants where needed. The live organization form uses `POST /epps/viewOrganisations.do` with lowercase field names, including `within=template.group.ca`, `name=<exact legal name>`, and optional `shortName`, `city`, and `street`; preserve the session cookie and normal referrer when reproducing the form request. Do not invent a GET query parameter or capitalize `name` from the input element's `id="Name"`. If a byte-exact authoritative name yields no row, retry only bounded typography/legal-form variants such as removing Lithuanian quotation marks or using the portal's likely `AB`, `VšĮ`, or expanded legal-form rendering. Record which query matched.
1. Open the **Organizacija** advanced-search entry page at `https://viesiejipirkimai.lt/epps/prepareAdvancedSearch.do?type=org`. The live page exposes `searchOrganizationForm` with `method="post"` and `action="/epps/viewOrganisations.do"`; submit the exact client legal name, then former-name and abbreviation variants where needed. Its lowercase fields are `viewMode=`, `selectable=`, `within=template.group.ca`, `name=<exact legal name>`, and optional `shortName`, `city`, and `street`. Preserve the session cookie and normal referrer when reproducing the form request. Do not invent a GET query parameter for the results endpoint or capitalize `name` from the input element's `id="Name"`. If a byte-exact authoritative name yields no row, retry only bounded typography/legal-form variants such as removing Lithuanian quotation marks or using the portal's likely `AB`, `VšĮ`, or expanded legal-form rendering. Record which query matched. Live validation on 2026-08-20 returned HTTP `200` for the entry page, exposed those exact form mechanics, and resolved a `name=LITGRID` submission to the `LITGRID AB (PV)` result row and profile ID `1159`; this confirms the route mechanics only, not any system or procurement claim.
2. Identity-check the returned legal name and available profile details. Parse complete organization-result table rows and bind each displayed legal name to the `prepareViewCAOrganisation.do?id=...` link in that same row. Do not collect every profile link from a wide HTML context and then substring-match the query: one result page or surrounding fragment can contain multiple organization/profile links, producing a false “exact” match or an ambiguous pair. Preserve the query variant, portal-displayed organization name, registration number/domain when available, and organization ID. If an exact-name query still yields multiple distinct exact rows, keep the identity unresolved until registration number, domain, or another authoritative identifier distinguishes them; never select the first result. A variant match is discovery only until reconciled with the authoritative client identity. Treat near-identical domains as a collision risk: open the homepage and corroborate its institution name/contact domain against the CVP IS profile before using any system link found there.
3. Open `https://viesiejipirkimai.lt/epps/prepareViewCAOrganisation.do?id=<organizationId>`.
4. Extract the real target of **PERŽIŪRĖTI VISUS PASKELBTUS SKELBIMUS**. It has the shape: