EPCIS 2.0 event
nutrab2b.trace.epcis_captured.v2 · Traceability
- Purpose
- Carry any GS1 EPCIS 2.0 object, aggregation, transformation, transaction or association event natively (JSON-LD), for partners already on EPCIS.
- When to send
- Any critical tracking event.
- Sender → receiver
- Any party → Hub
- Expected responses
- ACK
- Equivalent standards
- EPCIS: EPCIS 2.0 JSON/JSON-LD
- Scenarios using it
- -
Fields and mappings
| Field | Type | Req | Description | Code list / format | EDI / GS1 / SAP mapping |
|---|---|---|---|---|---|
| eventType | string | yes | EPCIS event type | epcis_event | |
| eventTime | datetime | yes | Event time | ||
| eventTimeZoneOffset | string | yes | e.g. +05:30 | ^[+-]\d{2}:\d{2}$ | |
| bizStep | string | yes | Business step | epcis_bizstep | |
| disposition | string | Disposition | epcis_disposition | ||
| epcList | array<string> | EPC URIs (sgtin, sscc, lgtin) | |||
| readPoint | string | urn:epc:id:sgln:… | |||
| bizLocation | string | urn:epc:id:sgln:… | |||
| sensorElementList | array<object> | Sensor data | |||
| type | string | yes | e.g. gs1:Temperature | ||
| value | number | yes | Value | ||
| uom | string | yes | UN/ECE unit e.g. CEL |
Business rules
- None beyond schema and code lists.
Example
{
"specversion": "2.0",
"id": "evt-epcis_event-EPCIS_EVENT-1",
"type": "nutrab2b.trace.epcis_captured.v2",
"source": "urn:gln:0614141000012:erp",
"subject": "EPCIS_EVENT",
"time": "2026-11-02T09:00:00Z",
"datacontenttype": "application/json",
"dataschema": "https://nutrab2b.org/schemas/2.0/EPCIS_EVENT.json",
"sender": {
"gln": "0614141000012"
},
"receiver": {
"gln": "4012345000009"
},
"correlationid": "CONV-RFQ-1001",
"idempotencykey": "EPCIS_EVENT:EPCIS_EVENT:1",
"sequence": 1,
"env": "test",
"data": {
"eventType": "ObjectEvent",
"eventTime": "2026-11-25T08:00:00+05:30",
"eventTimeZoneOffset": "+05:30",
"bizStep": "shipping",
"disposition": "in_transit",
"epcList": [
"urn:epc:id:sscc:4012345.0000000017"
],
"readPoint": "urn:epc:id:sgln:4012345.00001.0",
"sensorElementList": [
{
"type": "gs1:Temperature",
"value": 22,
"uom": "CEL"
}
]
}
}Mapping checklist
- Every required field populated from your system of record
- Coded fields mapped to the Bodylia OpenB2B code lists
- GLN, GTIN and SSCC check digits validated
- Rules above pass in the validator
- Idempotency key and per-subject sequence generated
- Expected responses, including rejections, handled
