In case you don't want to use third party software and services and you want to have a 'nice' URL, there is an option to create your own GS1 Digital Link resolver.
When creating your own GS1 Digital Link resolver, it is important to follow the rules for the structure of the GS1 Digital Link string in the QR code, so that the encoded data can be read and processed correctly at the cash register and other scanning devices.
In addition to the standard for the data structure in the QR code, GS1 has also defined a standard for the GS1-Conformant resolver, which defines exactly how the Digital Link resolver must be processed, what data it must contain and provide, how it must communicate with other resolvers, and how redirection must take place. If all these rules are followed, the resolver can be designated as a GS1 Conformant resolver. In case you do not need or do not want to use all available options, the resulting resolver is marked as a GS1 non-conformant resolver. We have covered this topic in more detail in the Standard - Resolver article.
For our own purposes, we created a custom resolver that manages the redirection of GS1 Digital Link strings from id.gs1sk.org (resolver) to dl.gs1sk.org (manufacturer/catalog). Our resolver is GS1 non-conformant. We plan to publish its schema and demo application in the future. A detailed description of our resolver is in the article Resolver - GS1 SK Resolver.
Advantages
- Tailor the resolver to your own needs and capabilities.
- The redirection is from your domain to your domain. Customers don't visit/see someone else's URL first and then yours.
Disadvantages
- More time-consuming solution.
Example with solution
GS1 Digital Link URL encoded in QR code:
HTTPS://ID.GS1SK.ORG/01/08580000000016
Target URL (product website):
https://dl.gs1sk.org/products/UdeneMasoPanenka
Processing of the written URL to the destination URL:
The URL written in the QR code is redirected to the destination URL. The redirection is based on rules we have defined in our own custom resolver.
Examples on the page
Product identifier with additional data:
Encoded data:
| (01) GTIN |
08580000000108 |
| (10) Batch/Lot |
Soft7 |
Product identifier with dates:
Encoded data:
| (01) GTIN |
08580000000016 |
| (11) Production date |
250909 |
| (15) Best before date |
280509 |
Complex data:
Encoded data:
| (01) GTIN |
08580000000016 |
| (10) Batch/Lot |
Ham01 |
| (11) Production date |
250518 |
| (15) Best before date |
291023 |
Product identifier with attribute 'linkType' referring to traceability data:
Complex data with attribute 'linkType' referring to a page section:
Encoded data:
| (01) GTIN |
08580000000030 |
| (10) Batch/Lot |
cheese858 |
| (11) Production date |
250909 |
| (15) Best before date |
300202 |
Product with a recalled batch:
Encoded data:
| (01) GTIN |
08580000000016 |
| (10) Batch/Lot |
Ham02 |
| (11) Production date |
240919 |
| (17) Expiration date |
290202 |
Expired product:
Encoded data:
| (01) GTIN |
08580000000030 |
| (11) Production date |
260914 |
| (17) Expiration date |
240919 |
Separate/relocate resolver via URL path:
Encoded data:
| (01) GTIN |
08580000000078 |
| (11) Production date |
250909 |
| (15) Best before date |
281020 |