What an app or a retailer sees

1 minutes

A phone camera is one kind of scanner. The other kind is a system: a retailer's catalog, a sustainability app, a warehouse scanner. They read the same address and ask for the menu rather than a page.

Three ways to ask

The whole menu, as JSON

curl -H 'accept: application/linkset+json' https://id.yourbrand.com/01/00860001234567

The same thing, with no header to set

https://id.yourbrand.com/01/00860001234567?linkType=linkset

One type, straight to it

https://id.yourbrand.com/01/00860001234567?linkType=gs1:recallStatus

A type you have not registered answers 404 rather than quietly falling back to the default, which is what lets a system tell “no recall” apart from “this resolver does not do recalls”.

What comes back

A linkset in the form RFC 9264 describes: one anchor, which is the address that was scanned, and under it every link you registered, keyed by its GS1 relation. Titles and languages come along, so a system can show your own words rather than inventing labels.

  • Cross-origin reads are allowed, so a browser app can fetch it directly.
  • It is never cached, because a brand that re-points a link expects the next read to follow.
  • A description file at /.well-known/gs1resolver on the same host says what the resolver supports.

Why conformance matters here

A retailer onboarding your products does not take your word for it; their system reads the resolver and expects the standard's answers, including the right status codes for a GTIN it has never heard of. Ours answers that way, on your own domain, which is what makes a brand's codes acceptable to somebody else's software.

Your turn

Ready to make your own QR code?

Free QR codes rendered as you type, no signup to try. Premium makes them dynamic for $4 a month.

Still stuck? Search the help center, or contact support and a person will answer.

Try: