Login

Open a session between the ECR and the terminal. Send it before any other request.

Message categoryClassDirection
LoginServiceECR → terminal

A login message creates a session between the ECR and the terminal, and allows the ECR and terminal to exchange information about capabilities. Login must be performed before any other requests are sent from ECR.

Example request and response

login

All fields

Example request
{
  "SaleToPOIRequest": {
    "MessageHeader": {
      "ProtocolVersion": "3.1",
      "ServiceID": "1",
      "MessageClass": "Service",
      "MessageCategory": "Login",
      "MessageType": "Request",
      "SaleID": "ECR123",
      "POIID": "AT12345"
    },
    "LoginRequest": {
      "DateTime": "2026-05-28T08:47:49.443Z",
      "SaleSoftware": {
        "ProviderIdentification": "ECR Provider Inc",
        "ApplicationName": "BestECR",
        "SoftwareVersion": "1.3.4"
      }
    }
  }
}
FieldRequiredDescription
LoginRequestRequiredContains the fields below
↳ DateTimeRequiredRequest timestamp
↳ SaleSoftwareRequiredInformation about the ECR software. Used for troubleshooting purposes
    ↳ ProviderIdentificationRequiredName of ECR provider
    ↳ ApplicationNameRequiredName of ECR application
    ↳ SoftwareVersionRequiredECR application version
Example response
{
  "SaleToPOIResponse": {
    "MessageHeader": {
      "MessageCategory": "Login",
      "MessageClass": "Service",
      "MessageType": "Response",
      "POIID": "AT12345",
      "ProtocolVersion": "3.1",
      "SaleID": "ECR123",
      "ServiceID": "1"
    },
    "LoginResponse": {
      "Response": {
        "Result": "Success"
      },
      "AeAllowedPaymentBrand": [
        "VISA",
        "MASTERCARD",
        "MAESTRO",
        "BANCONTACT"
      ],
      "AeAllowedPaymentBrandCategory": [
        "NORMAL",
        "VOUCHER"
      ],
      "POISystemData": {
        "DateTime": "2026-05-28T10:47:50.679+02:00",
        "POISoftware": {
          "ProviderIdentification": "Aera",
          "ApplicationName": "Aera Payment App",
          "SoftwareVersion": "2026.2.3"
        },
        "POITerminalData": {
          "POISerialNumber": "236TKR500040"
        }
      }
    }
  }
}
FieldRequiredDescription
LoginResponseRequiredContains the fields below
↳ ResponseRequiredContains the fields below
    ↳ ResultRequiredSuccess or Failure
↳ AeAllowedPaymentBrandOptionalList of card brands that are enabled locally in the terminal. See Payment methods and card brands
↳ AeAllowedPaymentBrandCategoryOptionalList of card brand categories configured locally in the terminal. See Payment methods and card brands
↳ POISystemDataRequiredInformation about terminal software
    ↳ POITerminalDataRequiredContains the fields below
        ↳ POISerialNumberRequiredSerial number of terminal
Example of error response
{
  "SaleToPOIResponse": {
    "MessageHeader": {
      "MessageCategory": "Login",
      "MessageClass": "Service",
      "MessageType": "Response",
      "POIID": "AT12345",
      "ProtocolVersion": "3.1",
      "SaleID": "ECR123",
      "ServiceID": "1"
    },
    "LoginResponse": {
      "Response": {
        "AdditionalResponse": "'AE123456' not connected.",
        "Result": "Failure",
        "ErrorCondition": "UnavailableDevice"
      }
    }
  }
}
FieldRequiredDescription
LoginResponseRequiredContains the fields below
↳ ResponseRequiredContains the fields below
    ↳ ResultRequiredSuccess or Failure
    ↳ AdditionalResponseOptionalTextString. Additional information related to processing status of a message request.
    ↳ ErrorConditionOptionalEnum. Condition that has produced an error on the processing of a message request. See Handle responses and timeouts for general error handling and all the enum values for this field.

Note: The Response object (Result, ErrorCondition and AdditionalResponse) is the same in every response message. It is described only here, on the Login page.