The header fields that every Nexo message starts with.
The message header is mandatory and contains the following properties:
| Field | Description |
|---|---|
ProtocolVersion | Always "3.1" |
MessageClass | Enum: Service, Device, or Event |
MessageCategory | Enum: Login, Logout, CardAcquisition, Payment, StoredValue, BalanceInquiry, Reconciliation, TransactionStatus, Diagnosis, Abort, EnableService, Reversal, Display, PIN, Event, Input |
MessageType | Enum: Request, Response, Notification |
ServiceID | Identification of a service message pair |
DeviceID | Identification of a device message pair. Only used for messages with MessageClass=Device |
SaleID | Identification of the ECR system. Note: the value used in this field must match the value used in the 'saleName' parameter in the connection string. |
POIID | Terminal ID |
Message identification
Messages are identified by the data elements ServiceID and DeviceID of the MessageHeader. See section 2.2.5, Identification of Message Exchanges, in the Nexo Sale to POI specification for additional information.
ServiceID and DeviceID is of type string with length: 1-10. It should be unique per service or device dialogue (request+response pair). As a practical recommendation to make log reading and troubleshooting easier, is to use a sequential numeric ID. This makes it easy to spot mismatches when reading logs.
Message extensions
Aera has made some extensions (additional fields) to the Nexo messages in cases where no suitable fields exist in standard Nexo. Such extensions are prefixed with 'Ae' to make them easily recognisable.