Guides
Log In
Guides

Scan

Overview

The Scan Command is used to initiate a barcode scanning transaction between an ECR and a Moneris terminal. This command enables the ECR to request the terminal to scan one or more barcodes and return the scanned data in a structured response.


📘

NOTE

For idempotent transactions, only the last scanned item is returned due to storage limitations.


Request Structure

ElementTypeDescriptionSizeRequired
apiVersionStringAPI version numberV20Required
istConfigCodeStringMoneris provided integration configuration codeV50Required
dataIdStringMerchant defined unique identifier for the data objectV50Required
dataTimestampStringDate and time of the request (YYYY-MM-DD HH:MM:SS)F19Required
dataObjectObject that contains all transaction requests
requestArrayContains data applicable to transaction request
idempotencyKeyStringUnique transaction identifier to avoid duplicate requestV50Required
linkIdStringID used to group related transactionsV50Optional
terminalIdStringDestination Terminal IDF8Optional
userNameStringUnique identifier for clerk / userV30Optional
customIdDataStringCustom fieldV50Optional
actionString"scan"V50Required
progressStatusStringIf value is set to "True", terminal will return progress to ECR. Note: This feature is only available on Direct Integration.V5Optional
barcodeTypeStringList of supported barcode formats to be scannedV50Optional

Request example

{
  "apiVersion": "3.0",
  "istConfigCode": "example_istConfigCode",
  "dataId": "example_dataId",
  "dataTimestamp": "1969-12-31 23:59:59",
  "data": {
    "request": [
      {
        "idempotencyKey": "example_idempotencyKey",
        "action": "scan"
      }
    ]
  }
}

Response Structure

ElementTypeDescriptionSizeRequired
apiVersionStringAPI version numberV20Required
statusCodeStringStatus code for the overall transaction requestV4Required
statusStringDescription of the statusCodeV50Required
dataIdStringMerchant defined unique identifier for the data objectV50Required
dataTimestampStringDate and time of the request (YYYY-MM-DD HH:MM:SS)F19Required
dataObjectObject that contains all transaction requests
responseArrayContains data applicable to transaction request
idempotencyKeyStringUnique transaction identifier to avoid duplicate requestV50Required
linkIdStringID used to group related transactionsV50Optional
actionString"scan"V50Required
statusCodeStringStatus code for individual requestV4Required
statusStringDescription of the individual statusCodeV50Required
completedString"true" or "false"V5Required
barcodeArray
dataStringScanned data of the barcodeV200Conditional
formatStringList of supported barcode formats to be scannedV50Optional
sessionCounterStringTrack what sequence the barcode was scannedV3Required

Response example

{
  "apiVersion": "3.0",
  "statusCode": "example_statusCode",
  "status": "example_status",
  "dataId": "example_dataId",
  "dataTimestamp": "1969-12-31 23:59:59",
  "data": {
    "response": [
      {
        "idempotencyKey": "example_idempotencyKey",
        "statusCode": "example_statusCode",
        "status": "example_status",
        "completed": "true",
        "action": "scan",
        "barcode": [
          {
            "data": "example_barcode_data",
            "format": "example_barcode_format",
            "sessionCounter": "example_sessionCounter"
          },
          {
            "data": "example_barcode_data",
            "format": "example_barcode_format",
            "sessionCounter": "example_sessionCounter"
          }
        ]
      }
    ]
  }
}

Errors

If your response contains errors, visit the Errors page for a detailed description of each one.