Epcis Object Event in RCOM Gateway
The EpcisObject trigger type in RCOM Gateway enables fine-grained processing of individual EPCIS 2.0 events. Unlike EpcisMessage, which treats the EPCIS document as a batch, EpcisObject extracts and processes each event separately, making it ideal for granular, real-time tracking and decision logic in dynamic workflows.
What Is EpcisObject?
The EpcisObject trigger splits a standard EPCIS 2.0 JSON-LD document into individual events and generates a separate workflow trigger for each one. This supports asynchronous, event-specific routing and filtering.
Supported event types include:
EpcisObjectEventEpcisAggregationEventEpcisAssociationEventEpcisTransactionEventEpcisTransformationEvent
Each event is processed independently, enabling dynamic filtering, transformation, or logic execution based on its type and content.
Who Should Use the EpcisObject?
This trigger is ideal if you:
- Work with Auto ID devices (e.g., RFID, barcode) generating EPCIS 2.0 events.
- Need fine-grained, event-level automation in RCOM Gateway.
- Require filtering, transformation, or business logic per event type.
- Want to link each EPCIS event directly to its own workflow execution.
Input Format
The EpcisObject trigger consumes a complete EPCIS 2.0 JSON-LD document, structured as per GS1 standards. This document includes:
- Header: Metadata like creation date, sender, etc.
- EventList: One or more EPCIS events of various types.
Each event in the list is extracted and dispatched to the workflow engine individually.
For more info on EPSIS 2.0 and JSON/JSON-LD bindings, refer to the document.
Example:
RCOM Gateway expects EPCIS documents in GS1 EPCIS 2.0 JSON-LD format, including @context and type fields. Plain JSON is not accepted.
{
"@context": "https://ref.gs1.org/epcis",
"type": "EpcisDocument",
"epcisBody": {
"eventList": [
{
"type": "ObjectEvent",
"eventTime": "2025-07-01T10:00:00Z",
"action": "ADD",
"bizStep": "shipping",
"epcList": ["urn:epc:id:sgtin:0****41.*****6.2**7"]
},
{
"type": "TransactionEvent",
"eventTime": "2025-07-01T10:05:00Z",
"action": "OBSERVE",
"parentID": "urn:epc:id:sscc:*****1.123******90",
"bizTransactionList": [
{
"type": "po",
"id": "http://transaction.example.com/po/1**45"
}
]
}
]
}
}
Event Fields Available to Workflows
Each extracted event exposes common fields into the workflow trigger context:
| Property | Type |
|---|---|
| Type | string |
| EventTime | DateTimeOffset |
| EventTimeZoneOffset | string |
| Action | string |
| BizStep | string |
| Disposition | string |
| ReadpointID | string |
| BizLocationID | string` |
Type-specific fields (depending on event type):
| Event Type | Field Name | Data Type |
|---|---|---|
| ObjectEvent | EpcisList | List<string> |
BizTransactionList | List<Dictionary<string, string>> | |
| AggregationEvent | ParentID | string |
ChildEPCs | List<string> | |
| AssociationEvent | ParentID | string |
ChildEPCs | List<string> | |
AssociationType | string | |
| TransactionEvent | ParentID | string |
EpcList | List<string> | |
BizTransactionList | List<Dictionary<string, string>> | |
| TransformationEvent | InputEPCList | List<string> |
OutputEPCList | List<string> | |
TransformationID | string |
All of these are automatically injected into the workflow context when the trigger is executed.
Filtering Support
The EpcisObject trigger supports event-level filtering based on the following standard fields:
- Action
- BizStep
- Disposition
- ReadpointID
- BizLocationID
Depending on the event type, the following fields can also be used for filtering:
- ParentID
- AssociationType
- TransformationID
This makes it possible to route or reject events dynamically based on their properties at ingestion time.
How It Works in RCOM Gateway
-
You configure a REST API route or MQTT topic with
Event Type = EpcisObject. -
Gateway splits the EPCIS 2.0 JSON-LD into individual events as available. Supported event types are:
EpcisObjectEventEpcisAggregationEventEpcisAssociationEventEpcisTransactionEventEpcisTransformationEvent
-
Configure Event Processor with the Trigger type as one of the event types mentioned below. The data from the selected event will be shared with the workflow.
- Epcis object event
- Epcis aggregation event
- Epcis association event
- Epcis transaction event
- Epcis transformation event
-
Filter the event as needed. Refer to the filter section to know more about available filters.
-
Choose a workflow to trigger.
-
Now you can map the available EPCIS Event types to the available Workflow parameters.
Inside the workflow, you can:
- Convert the file
- Validate or log the document
- Forward it to another system
- Store it in a database
- and more.
✅ Use Case Example
Scenario: A packaging line publishes EPCIS 2.0 events to RCOM Gateway whenever a carton is sealed or associated with a pallet.
- Trigger Type:
EpcisObject - Event Type:
AggregationEvent - Filtering: Only process events where
BizStep = packingandDisposition = active - Workflow:
CartonToPalletTrackingWorkflow - Result: Each packing event triggers a check on pallet capacity and logs carton-pallet associations.
When to Use EpcisObject vs EpcisMessage
| Use Case | Recommended Trigger |
|---|---|
| Batch upload with no filtering | EpcisMessage |
| Real-time per-event workflows | EpcisObject |
| Need to inspect individual fields | EpcisObject |
| Event grouping is important | EpcisMessage |