Examples
De vijf verzoeken die een integratie werkelijk doet
Een paspoort uitgeven. Een gebeurtenis toevoegen. Een leveranciersclaim ondertekenen. Er een verifiëren. Een scan bedienen. De meeste integraties zijn deze vijf, herhaald — al het andere is mapping.
- Begin met
- Uitgeven + toevoegen
- Later toevoegen
- Ondertekende claims
- Omgeving
- Eerst sandbox
Definition
Wat doet een typische paspoortintegratie werkelijk?
Vijf handelingen, herhaald. Een paspoort uitgeven op een GS1-identificator. EPCIS 2.0-gebeurtenissen toevoegen terwijl het product beweegt. Ondertekende claims bij leveranciers ophalen. Een claim verifiëren die u wordt voorgelegd. En de publieke weergave serveren wanneer iemand de drager op het product scant.
The volume is dominated by the first two. The difficulty is dominated by the third, which is a supplier relationship problem rather than a technical one.
01
Een paspoort uitgeven
curl https://api.circuleid.com/v1/passports \
-H "Authorization: Bearer $CIRCULEID_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"gtin": "09506000134352",
"productGroup": "textiles",
"level": "model",
"record": {
"name": "Merino Crew Knit",
"materials": [
{ "name": "merino wool", "share": 0.82, "certification": "RWS" },
{ "name": "recycled polyamide", "share": 0.18 }
],
"carbonFootprint": { "value": 14.2, "unit": "kgCO2e", "method": "ISO 14067" }
}
}'02
Een ketengebeurtenis toevoegen
curl https://api.circuleid.com/v1/events \
-H "Authorization: Bearer $CIRCULEID_API_KEY" \
-d '{
"type": "ObjectEvent",
"action": "OBSERVE",
"eventTime": "2026-03-14T09:22:00+01:00",
"epcList": ["urn:epc:id:sgtin:0950600.013435.SN8817403"],
"bizStep": "urn:epcglobal:cbv:bizstep:commissioning",
"disposition": "urn:epcglobal:cbv:disp:active",
"bizLocation": { "id": "urn:epc:id:sgln:0950600.00001.0" }
}'03
Een leveranciersclaim ondertekenen
curl https://api.circuleid.com/v1/credentials \
-H "Authorization: Bearer $SUPPLIER_API_KEY" \
-d '{
"type": "RecycledContentCredential",
"issuer": "did:web:mill.example.com",
"subject": "01/09506000134352",
"validUntil": "2027-03-14T00:00:00Z",
"claim": {
"material": "polyamide",
"recycledShare": 0.18,
"basis": "mass",
"chainOfCustody": "mass-balance"
}
}'04
Een aan u voorgelegde claim verifiëren
curl https://api.circuleid.com/v1/credentials/verify \
-H "Authorization: Bearer $CIRCULEID_API_KEY" \
-d '{ "credential": { /* the credential as presented */ } }'
# {
# "verified": true,
# "issuer": "did:web:mill.example.com",
# "issuedAt": "2026-03-14T09:31:02Z",
# "status": "active" # "revoked" fails verification
# }05
Een scan bedienen
# What the phone requests when a consumer scans the carrier:
curl https://id.circuleid.com/01/09506000134352 \
-H "Accept: application/json"
# A browser gets the rendered public passport instead.
# A verified recycler presenting a credential gets the treatment tier
# from the same URL — the resolver decides, not the caller.Patronen
Waar elk daarvan doorgaans zit
Uitgiftepijplijn
Een geplande taak die het PLM leest en paspoorten uitgeeft voor de volgende productieserie.
Gebeurtenisverwerking
Een dienst die WMS- en MES-berichten omzet in EPCIS-gebeurtenissen zodra ze zich voordoen.
Leveranciersportaal
Waar leveranciers in de tweede schakel de claims indienen en ondertekenen die u zelf niet kunt doen.
Webshop
De publieke laag lezen om onderbouwde duurzaamheidsdata op een aanbieding te tonen.
De drager zelf
Helemaal geen code van u — de resolver bedient de scan rechtstreeks.
Inname bij terugname
De verwerkingslaag lezen aan de lijn van een retour- of recyclinginrichting.
Antwoorden
Veelgestelde vragen
Met welk voorbeeld moet ik beginnen?
Een paspoort uitgeven en vervolgens een gebeurtenis toevoegen. Die twee dekken het merendeel van het verkeer van een integratie en dwingen u het identiteitsmodel vast te stellen — model, batch of item — de beslissing waar al het andere van afhangt en die later het lastigst te wijzigen is.
Moet ik vanaf dag één met credentials werken?
Nee. Een paspoort met niet-ondertekende data is nog steeds een werkend paspoort; het kan alleen niet aantonen wie welk cijfer beweerde. De meeste programma’s geven eerst uit en voegen ondertekende leveranciersclaims toe naarmate leveranciers aansluiten, wat ook de volgorde is die de praktijk toelaat.
Wat krijgt de consument werkelijk uit een scan?
Het publieke niveau van het paspoort, geresolvet vanaf de GS1 Digital Link-identificator in de drager, weergegeven als pagina voor een browser of teruggegeven als JSON aan een systeem dat erom vraagt. Geen authenticatie, geen account en geen profiel van de scannende persoon.
Kunnen wij testen zonder productie te raken?
Ja. Sandboxsleutels resolven tegen een aparte hostnaam, en sandboxpaspoorten gedragen zich precies als productiepaspoorten. Omdat een productiepaspoort een langlevend publiek artefact is, wordt de scheiding afgedwongen in plaats van afgesproken — een sandboxsleutel kan de productie eenvoudigweg niet bereiken.
Next step
Voer de eerste twee uit met een sandboxsleutel
Geef één paspoort uit en voeg één gebeurtenis toe. Dat is genoeg om het identiteitsmodel vast te stellen, de beslissing waarop al het andere rust.