Scanners.

Barcode and Digital Link scanners produce reads at a point in a process. Those reads become the epcList of an EPCIS 2.0 event; the gateway does not read the tag, it accepts and validates the event the read produces.

POST /capturePOST /translate

From a scan to a stamped event.

scan: https://id.gs1.org/01/09506000134352/21/A1-9

becomes:
  "type": "ObjectEvent", "action": "OBSERVE", "bizStep": "receiving",
  "epcList": [ /* the scan, normalized */ ],
  "who":              "did:human:crew-lead",  // asserted, graded
  "spine:capturedBy": "acct:store-operator"   // stamped

Illustrative: the handheld's read, and the event it becomes. The scan supplies the What; the capture supplies the rest — validated, graded, stamped, hashed, appended.

For the engineer wiring the back door.

The scanner vendor's SDK ends at the string; the standard begins at the event. Keeping that seam explicit is what lets you change hardware without changing the record — the door validates events, not devices.