gs1 / GS1_DigitalLink_Resolver_CE

The GS1 DigitalLink Resolver Community Edition
Apache License 2.0
41 stars 26 forks source link

GS1 Digital Link, Key qualifiers Path element order #81

Closed nerixs closed 3 months ago

nerixs commented 9 months ago

Hello, The documentation "GS1 Digital Link Standard: URI Syntax" chapter 4.9 Path element order, gives the example below:

The rule for gtin-path would permit any of these: /01/09520123456788/22/2A/10/ABC123/21/12345XYZ /01/09520123456788/10/ABC123/ /01/09520123456788/10/ABC123/21/12345XYZ /01/09520123456788/21/12345XYZ

But does not permit strings such as: /01/09520123456788/21/12345XYZ/10/ABC123

Are we to understand that there is an order to be respected when creating the link? What rule defies this order?

The following classification seems to have been accepted in the tests carried out: N°1 : cpv-code = "22" ; Consumer Product Variant N°2: lot-code = "10" ; Batch/Lot identifier N°3: ser-code = "21" ; GTIN Serial Number

Does the order of the other Key qualifiers "8011, 254, 8020, 8019, 235 and 7040" also matter?

Thanks for your explanations.

tonnelier commented 9 months ago

Fyi,

The first part of the GS1 Digital Link has a hierarchy,

from domain, gtin(01), cpv, batch, to serial(21) in this order

any other parameter (?variable=value then &variable=value) do not have any order

Cordialement.


Laurent Tonnelier President, mobiLead sas @.> @. http://mobilead.eu/wp-content/uploads/2016/10/mobiLead-768x155.png

Les informations contenues dans ce courriel, et ses pièces jointes, sont strictement confidentielles et réservées à l'usage exclusif des personnes identifiées comme destinataires. Si vous avez reçu ce courriel par erreur, veuillez y répondre afin de nous en informer, avant de le supprimer ainsi que toutes ses pièces-jointes. La copie sans autorisation, comme le transfert de ce courriel vers un autre destinataire, sont illégaux.

From: nerixs @.> Sent: Friday, January 19, 2024 10:34 AM To: gs1/GS1_DigitalLink_Resolver_CE @.> Cc: Subscribed @.***> Subject: [gs1/GS1_DigitalLink_Resolver_CE] GS1 Digital Link, Key qualifiers Path element order (Issue #81)

Hello, The documentation "GS1 Digital Link Standard: URI Syntax" chapter 4.9 Path element order, gives the example below:

The rule for gtin-path would permit any of these: /01/09520123456788/22/2A/10/ABC123/21/12345XYZ /01/09520123456788/10/ABC123/ /01/09520123456788/10/ABC123/21/12345XYZ /01/09520123456788/21/12345XYZ

But does not permit strings such as: /01/09520123456788/21/12345XYZ/10/ABC123

Are we to understand that there is an order to be respected when creating the link? What rule defies this order?

The following classification seems to have been accepted in the tests carried out: N°1 : cpv-code = "22" ; Consumer Product Variant N°2: lot-code = "10" ; Batch/Lot identifier N°3: ser-code = "21" ; GTIN Serial Number

Does the order of the other Key qualifiers "8011, 254, 8020, 8019, 235 and 7040" also matter?

Thanks for your explanations.

— Reply to this email directly, view it on GitHub https://github.com/gs1/GS1_DigitalLink_Resolver_CE/issues/81 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AOIRIUNWCRJHX7WB654XXHLYPI42FAVCNFSM6AAAAABCBUVLUCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA4TAMBYGEYDOMA . You are receiving this because you are subscribed to this thread. https://github.com/notifications/beacon/AOIRIUI5O75YY5SPAG2FI6DYPI42FA5CNFSM6AAAAABCBUVLUCWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHHZFA3FY.gif Message ID: @. @.> >

nerixs commented 9 months ago

Thank you for these explanations! Best regards

nerixs commented 9 months ago

Hello, Could you tell me why this link is invalid? GS = GROUPE SEPARATOR, ASCII 29. ]J12355vBZr-AjR8!5'S:mGS0101234567890128800819052001 (235)5vBZr-AjR8!5'S:m(01)01234567890128(8008)19052001 https://id.gs1.org/01/01234567890128?235=5vBZr-AjR8!5'S:m&8008=19052001 Kind regards

tonnelier commented 9 months ago

: is a reserved word for port number ' is not a safe URL character neither

Le mer. 24 janv. 2024, 21:08, nerixs @.***> a écrit :

Hello, Could you tell me why this link is invalid? GS = GROUPE SEPARATOR, ASCII 29. ]J12355vBZr-AjR8!5'S:mGS0101234567890128800819052001 (235)5vBZr-AjR8!5'S:m(01)01234567890128(8008)19052001 https://id.gs1.org/01/01234567890128?235=5vBZr-AjR8!5'S:m&8008=19052001 Kind regards

— Reply to this email directly, view it on GitHub https://github.com/gs1/GS1_DigitalLink_Resolver_CE/issues/81#issuecomment-1908839718, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOIRIUN33BUI2LKCZ64B4FTYQFS4ZAVCNFSM6AAAAABCBUVLUCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBYHAZTSNZRHA . You are receiving this because you commented.Message ID: @.***>

nerixs commented 9 months ago

Hello, That's a good one! Thank you very much. But that doesn't seem to be the only problem. https://id.gs1.org/01/01234567890128?235=5vBZr-AjR8!5Sm&8008=19052001 Tested on: https://digital-link.evrythng.com/verifier

terryburton commented 9 months ago

Refer to the GS1 DL URI Syntax grammar.

AI (235) is only recognised in the context of a key-qualifier (in the path info) for AI (01), whereas it is specified as a regular attribute (in the query parameters) in your data.

Aside: Hypothetically, assuming that (235) where a valid attribute then the following would apply: If an AI would be valid anywhere within the current key-qualifier sequence for the primary key, it shall only appear as a key qualifier within the URI path segment and shall not appear as an attribute within the query string. The notion being that AI that supplement the key data in order to serialise / identify a unique item instance, shall be represented as key qualifiers: The path info identifies the "thing"; the query parameters describe it.

So you likely mean:

https://id.gs1.org/01/01234567890128/235/5vBZr-AjR8%215%27S%3Am?8008=19052001

For future reference, the GS1 Syntax Resource can extract AI elements from scan and transform these into a number of different representations, including GS1 Digital Link URIs.

DotCode is not currently supported, so in this instance you need to provide the scan data under a supported "FNC1 in first" AIM Symbology Identifier such as GS1 QR Code ("]Q3"). (The rules for the scan data transfer protocol are the same, including normalisation of DotCode's inverted use of FNC in first with leading numeric data.)

Just enter the following and click "Process input data":

]Q32355vBZr-AjR8!5'S:m{GS}0101234567890128800819052001
nicklansley commented 3 months ago

Apologies for this I am now focussed on Resolver v3.0 and I have stopped maintenance on v2.6. I hope you find the far simpler v3.0 to your liking!