GS1 Conformant Resolver
Resolves GS1 Digital Link URIs to product information, masterdata, EPCIS endpoints, and twelve more standard link types.
The Resolver is the platform's front door. A consumer scans a Digital Link QR on a product; the resolver returns the right URL for the right purpose — the product page for a shopper, the EPCIS event history for a recycler or auditor, the recall status for a market-surveillance officer, the certification dossier for a regulator. Same URL, different audiences, different answers. That's the contract.
OpenEPCIS implements the GS1 Conformant Resolver standard end-to-end. That means the deployment is self-describing: it publishes a discovery document at the spec-mandated path so the GS1 Global Office resolver and partner registries can find it and read what it offers without being hand-configured — the URL is /.well-known/gs1resolver.
Save a product to the resolver and a dozen standard GS1 link types are derived from its masterdata fields with no extra POST: gs1:pip, gs1:productImage, gs1:audioFile, gs1:relatedVideo, gs1:safetyInfo, gs1:certificationInfo, gs1:nutritionalInfo, gs1:instructions, gs1:recallStatus, gs1:serviceInfo, gs1:productSustainabilityInfo. The bulk endpoint handles tens of thousands of products in a single multipart CSV or JSON-LD call for first-time onboarding.
The resolver is the discovery surface for everything else on the platform. A scanned identifier resolves here, and from here it points at the masterdata record and the EPCIS endpoint that own the rest of the story. Without it, the Web Vocabulary masterdata isn't reachable by URI and EPCIS events can't be tied back to a product or place.
What's open source under the Resolver group are libraries: URN ↔ Digital Link translation, barcode rendering, identifier validation. The full multi-tenant, Keycloak-secured, conformance-discoverable, auto-populating resolver service ships in the Business edition.
Capabilities by edition
| Capability | OSS | Business |
|---|---|---|
| GS1 Conformant Resolver service | — | ✓ |
| Self-describing deployment (GS1 Conformant Resolver standard) | — | ✓ |
| Auto-derived linksets (a dozen GS1 link types) | — | ✓ |
| Bulk CSV / JSON-LD import | — | ✓ |
| Tenant-scoped masterdata cache | — | ✓ |
| Linkset change audit | — | ✓ |
| EPC URN ↔ Digital Link translation (library) | ✓ | ✓ |
| QR / Data Matrix / GS1-128 barcode generation (library) | ✓ | ✓ |
REST surface
| Method | Path | Auth | What it does |
|---|---|---|---|
GET | /.well-known/gs1resolver | none | Resolver discovery document |
GET | /{primary-key}/{value} (e.g. /01/04012345999990) | none / cap-token | Resolve a GS1 identifier → linkset |
GET | /{pk}/{value}/{qual}/{qv} | none / cap-token | Resolve a qualified identifier (e.g. /01/<gtin>/21/<serial>) |
POST | /organizations/{gln} | OIDC / API-key | Create / update organisation masterdata |
POST | /products/{gtin} | OIDC / API-key | Create / update product masterdata (auto-derives linksets) |
POST | /places/{location-id} | OIDC / API-key | Create / update place masterdata |
POST | /bulk/products | OIDC / API-key | Bulk CSV / JSON-LD import |
See also
- Modules → Masterdata — where the linksets the resolver returns come from.
- Architecture → GS1 conformance contract — the platform-wide rule that masterdata lives on the resolver, never embedded in EPCIS events.
- Feature Matrix → Resolver.