Sd 2890 align on names#634
Conversation
Review Summary by QodoAlign on consumer/provider terminology and add eBL Endorsement Chain API
WalkthroughsDescription• Align terminology: replace "carrier/shipper" with "consumer/provider" in BKG and eBL endpoints • Add new eBL Endorsement Chain API (END) with full OpenAPI specification • Add Transport Document Replacements metadata to correlate related documents • Standardize capitalization: use lowercase for mid-sentence references to roles • Update property descriptions for consistency and clarity Diagramflowchart LR
A["Terminology Alignment"] --> B["Replace Shipper/Carrier<br/>with Consumer/Provider"]
A --> C["Lowercase mid-sentence<br/>role references"]
D["New eBL END API"] --> E["Endorsement Chain<br/>endpoints"]
F["Transport Document<br/>Metadata"] --> G["Add Replacements<br/>object"]
B --> H["BKG v2.0.5"]
B --> I["EBL v3.0.4"]
E --> J["EBL_END_v3.0.4"]
G --> K["EBL_ISS_v3.0.4"]
File Changes1. ebl/v3/endorsement/EBL_END_v3.0.4.yaml
|
Code Review by Qodo
Context used✅ Tickets:
SD-2890 1. Empty replacements object allowed
|
| info: | ||
| version: 3.0.3 | ||
| title: DCSA eBL Endorsement Chain API | ||
| description: | | ||
| <h1>DCSA OpenAPI specification for electronic Bill of Lading (eBL) Endorsement Chain (END)</h1> | ||
|
|
||
| ### Changelog and GitHub | ||
| For a changelog please click [here](https://github.com/dcsaorg/DCSA-OpenAPI/tree/master/ebl/v3/endorsement#v303). If you have any questions, feel free to [Contact Us](https://dcsa.org/get-involved/contact-us). | ||
|
|
||
| API specification issued by [DCSA.org](https://dcsa.org/). | ||
| license: | ||
| name: Apache 2.0 | ||
| url: 'https://www.apache.org/licenses/LICENSE-2.0.html' | ||
| contact: | ||
| name: Digital Container Shipping Association (DCSA) | ||
| url: 'https://dcsa.org' | ||
| email: info@dcsa.org | ||
| tags: | ||
| - name: Endorsement Chain | ||
| description: Endorsement Chain | ||
| paths: | ||
| '/endorsement-chains/{transportDocumentReference}': | ||
| get: | ||
| tags: | ||
| - Endorsement Chain | ||
| summary: Gets the Endorsement Chain | ||
| operationId: getEndorsementChain | ||
| description: | | ||
| Gets the Endorsement Chain by `transportDocumentReference`. It is possible to filter the result by carrier `SCAC` code and/or by `transportDocumentSubReference`. The result is a list of Endorsement Chains matching the filter. | ||
|
|
||
| **Note:** It is not possible to limit the result, this endPoint does not support pagination. | ||
| parameters: | ||
| - in: path | ||
| name: transportDocumentReference | ||
| description: | | ||
| The `transportDocumentReference` of the `Transport Document` to get the Endorsement Chain from | ||
| required: true | ||
| schema: | ||
| type: string | ||
| pattern: '^\S(?:.*\S)?$' | ||
| maxLength: 20 | ||
| description: | | ||
| A unique number allocated by the shipping line to the `Transport Document` and the main number used for the tracking of the status of the shipment. | ||
| example: HHL71800000 | ||
| - in: query | ||
| name: transportDocumentSubReference | ||
| description: | | ||
| Filter by Transport Document Sub-reference (or version). In case a specific version of the Endorsement Chain is requested - adding this filter narrows the result to 1 Endorsement Chain. | ||
| schema: | ||
| type: string | ||
| pattern: '^\S(?:.*\S)?$' | ||
| maxLength: 100 | ||
| - in: query | ||
| name: carrierSCACCode | ||
| description: | | ||
| Filter by carrier `SCAC` code (provided by [NMFTA](https://nmfta.org/scac/)). Adding this will only match Transport Documents from the carrier matching the `carrierSCACCode` value. | ||
| required: false | ||
| schema: | ||
| type: string | ||
| pattern: ^\S+$ | ||
| maxLength: 4 | ||
| example: YMLU | ||
| - in: header | ||
| name: API-Version | ||
| required: false | ||
| schema: | ||
| type: string | ||
| example: 3.0.3 | ||
| description: | | ||
| An API-Version header **MAY** be added to the request (optional); if added it **MUST** contain the SemVer of the consumer. |
There was a problem hiding this comment.
1. End version metadata wrong 🐞 Bug ≡ Correctness
ebl/v3/endorsement/EBL_END_v3.0.4.yaml declares info.version: 3.0.3 and uses API-Version header examples of 3.0.3, conflicting with the v3.0.4 file version and likely causing consumers/tools to treat the spec as the wrong contract version.
Agent Prompt
### Issue description
The END v3.0.4 specification file is internally labeled as v3.0.3 (both `info.version` and `API-Version` header examples). This creates a contract/version mismatch between the filename/versioned path and the spec metadata/examples.
### Issue Context
Other v3.0.4 eBL module specs in this repo use `info.version: 3.0.4` and `API-Version` header examples set to `3.0.4`, so the END module should follow the same convention.
### Fix Focus Areas
- ebl/v3/endorsement/EBL_END_v3.0.4.yaml[1-12]
- ebl/v3/endorsement/EBL_END_v3.0.4.yaml[66-73]
- ebl/v3/endorsement/EBL_END_v3.0.4.yaml[415-423]
### What to change
- Update `info.version` from `3.0.3` to `3.0.4`.
- Update request `API-Version` header example(s) to `3.0.4`.
- Update response `components.headers.API-Version` example to `3.0.4`.
- If the changelog anchor/link is intended to be version-specific, update `#v303` to `#v304` (or align with how other v3.0.4 specs link their changelog).
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
|
/review |
PR Reviewer Guide 🔍Warning
Here are some key observations to aid the review process:
|
|
/agentic_review |
|
Persistent review updated to latest commit aaca233 |
SD-2890: Consider changing Shipper/Carrier to Consumer/Provider