If you want to use Terminal API requests to retrieve transaction totals of a terminal or reconcile balance mismatches, you must first make a Terminal API request to log in to the terminal.
This login request can additionally mark events like a change of operator or the start of a new shift, so that you can get the totals by operator or shift.
The login request does not authenticate the operator.
Requirements
Before you begin, take into account the following requirements.
| Requirement | Description |
|---|---|
| Integration type | A Terminal API integration with payment terminals. |
Log in to the terminal
-
Make a Terminal API login request, specifying:
-
The standard
SaleToPOIRequest.MessageHeaderobject, withMessageClassset to Service andMessageCategoryset to Login.Parameter Required Description ProtocolVersion
3.0 MessageClass
Service MessageCategory
Login MessageType
Request ServiceID
Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal ( POIID) being used.SaleID
Your unique ID for the POS system component to send this request from. POIID
The unique ID of the terminal to send this request to. Format: [device model]-[serial number]. -
The LoginRequest object, with:
Parameter Required Description DateTime
The date and time in UTC format. SaleSoftware
An object with the manufacturer, application name, software version, and certification code of the sale system. OperatorLanguage
The language of the operator in two-character ISO 639-1 format. For example, en for English. OperatorIDYour identification of the operator. SaleTerminalData.TotalsGroupIDYour identification of a group of transactions, for reconciliation purposes. ShiftNumberYour identification of the shift.
-
-
In the LoginResponse, check the following:
Response.Result: Success indicates that you logged in to the terminal.POIStatus: Indicates if the terminal is ready for use.
{ "SaleToPOIResponse":{ "LoginResponse":{ "POISystemData":{ "POISoftware":{ "CertificationCode":"", "SoftwareVersion":"adyen_423314", "ManufacturerID":"Adyen", "ApplicationName":"Nexo" }, "DateTime":"2018-04-03T08:50:23.000Z", "POIStatus":{ "CommunicationOKFlag":true, "GlobalStatus":"OK" } }, "Response":{ "Result":"Success" } }, "MessageHeader":{ "ProtocolVersion":"3.0", "SaleID":"POSSystemID12345", "MessageClass":"Service", "MessageCategory":"Login", "ServiceID":"0403105031", "POIID":"P400Plus-275008565", "MessageType":"Response" } } }
After logging in, the terminal saves the provided values. The values remain in effect until a new login request is processed for the same terminal, or until you log out from this terminal.
Log out from the terminal
-
Make a Terminal API logout request, specifying:
-
The standard
SaleToPOIRequest.MessageHeaderobject, withMessageClassset to Service andMessageCategoryset to Logout.Parameter Required Description ProtocolVersion
3.0 MessageClass
Service MessageCategory
Logout MessageType
Request ServiceID
Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal ( POIID) being used.SaleID
Your unique ID for the POS system component to send this request from. POIID
The unique ID of the terminal to send this request to. Format: [device model]-[serial number]. -
An empty LogoutRequest object.
-
-
In the LogoutResponse, check the following:
Response.Result: Success indicates that you logged out from the terminal.
{ "SaleToPOIResponse":{ "LogoutResponse":{ "Response":{ "Result":"Success" } }, "MessageHeader":{ "ProtocolVersion":"3.0", "SaleID":"POSSystemID12345", "MessageClass":"Service", "MessageCategory":"Logout", "ServiceID":"0403105613", "POIID":"P400Plus-275008565", "MessageType":"Response" } } }