Device

Add, edit, enable, disable, and delete transaction devices in the Device tab. Set the connection type of the transactions device, define filter conditions for the transaction information, pair the camera, and choose the style of On-Screen Display.

Add device

To add a transaction device:

  1. Click add. An Add Transaction Device Wizard window will appear.
  2. Enter a name to identify this device in the Name field.
  3. Select a transaction source from the Transactions source drop-down menu:
    • POS: This option is only used for identifying the device, and does not affect the actual operation.
    • Third-party software: This option is only used for identifying the device, and does not affect the actual operation.
  4. Select one of the following connection types from the Connection type drop-down menu:
    • TCP: Enter the network information of the source in the IP address and Port field.
    • Serial port: Make sure that all settings are consistent with the connection source.
    • Surveillance Station WebAPI: Enter the IP address and port to check connection status. Although these are not mandatory fields, incorrect settings may lead to disconnection and other problems. For more information, please see the section on Surveillance Station WebAPI below.
  5. Click Next to continue with the setting of data definition. If you select Surveillance Station WebAPI as the connection type, you will be directed to the display settings.
  6. Select the correct encoding method, check that Start Collecting Raw Data is enabled and enter the data on the device side. The received data is displayed in the Raw data field.
  7. Please set the rules for the start and end of the transaction.
  8. You can add a filter rule by clicking on the button at the top right corner. You can ignore characters, or replace characters with line break or with other characters.
  9. The results of filtered data will be displayed directly in the filtered data field. And the corresponding data will be marked in the original data.
  10. Click Next to continue with display settings.
  11. Select whether or not you want to set up a paired camera for this device from Paired Camera.
  12. In On-Screen Display, transaction data can be set to be displayed in live view and video clips.
  13. Click Finish to complete the setting.

Limitations:

  • The device name is case sensitive. 1 to 32 Unicode characters are allowed, excluding the following symbols:
    ! " # $ % & ' ( ) * + , / : ; < = > ? @ [ ] \ ^ ` { } | ~
  • If you do not have the encoding you are using in the encoding list, you can also enter it manually.
  • For filter conditions, if you want to filter control characters, please use "<" and ">" to enclose the characters.
  • If the encoding method or filter condition is set up incorrectly, the transaction will not be recorded. In the Data Definition page, the data that can be filtered correctly will be displayed in Filtered Data, and will be marked bold in Raw Data.
  • When setting up a paired camera, you can see the camera and transaction data in live view and relevant recording clips.

Edit device

To edit a transaction device:

  1. Select the device you want to modify, then click Edit. You can also double-click on the device to change the settings.
  2. Set up User Defined events in the Event page. This can be used in Action Rule, Live View alerts, and Notification.
  3. Texts corresponding to Start of transaction, End of transaction, or Canceled transaction can be set to be omitted in the Advanced page, omitted text will not be stored in historical records, and will not be displayed on the on-screen display.
  4. Specify a duration for clearing the on-screen text overlay in the Advanced page. Set the duration (in seconds) for the texts to remain on the on-screen display when there are no new messages generated. You can also choose to clear texts from the on-screen display upon receiving specific texts or upon the start of a new transaction.
  5. Click Finish to save changes.

Enable or disable the device

The new device must be enabled before managing all supported actions.

To enable or disable a device:

  1. Select the device you want to enable or disable, And Enable or Disable from the Enable drop-down menu.

Note:

  • Disabling the device will not delete its settings.

Delete device

  1. Select the device you want to delete, then click Delete.
  2. You will see a confirmation window. Once you have chosen to keep the transactions of the device, click Yes to continue.

Note:

  • When deleting a device, if you choose to delete all transactions, the locked transactions will also be permanently removed from Surveillance Station.

Surveillance Station Web API

Surveillance Station Web API provides you with a more convenient way to connect your device, send Web API requests in a format that conforms to the specification, and record your transaction data.

Standard format to send Web API requests:

  1. API: SYNO.SurveillanceStation.Transactions provides the following five types of methods (Insert,Begin, Complete, Cancel, and AppendData) to record transaction information:
  2. Insert:

    Notifies Surveillance Station to start recording a transaction. Includes the following parameters:

    • dsName: String type; optional; the name of the CMS recording server which the transaction device is on.
    • deviceName: String type; the name of the transaction device on Surveillance Station.
    • content: String type; the content of the whole transaction.
    • format: String type; format of the content, json indicates the content is of JSON format; string indicates the content is pure text.
    • timestamp: Integer type; optional; the number of seconds that have elapsed from 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970 to the occurrence time of the transaction.
    • account: String type; optional; account name.
    • password: String type; optional; password of the account.

    Begin:

    Notifies Surveillance Station to start recording a transaction. Includes the following parameters:

    • dsName: String type; optional; the name of the CMS recording server which the transaction device is on.
    • deviceName: String type; the name of the transaction device on Surveillance Station.
    • sessionId: String type; the ID of the transaction session.
    • timeout: Integer type; transaction time limit (seconds). Exceeding the transaction time limit automatically ends the transaction.
    • timestamp: Integer type; optional; the number of seconds that have elapsed from 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970 to the starting time of the transaction.
    • account: String type; optional; account name.
    • password: String type; optional; password of the account.

    Complete:

    Notifies Surveillance Station to end the transaction and that the transaction is completed. Includes the following parameters:

    • dsName: String type; optional; the name of the CMS recording server which the transaction device is on.
    • deviceName: String type; the name of the transaction device on Surveillance Station.
    • sessionId: String type; the ID of the transaction session.
    • timestamp: Integer type; optional; the number of seconds that have elapsed from 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970 to the time of the completion of the transaction.
    • account: String type; optional; account name.
    • password: String type; optional; password of the account.

    Cancel:

    Notifies Surveillance Station to end a transaction and that the transaction is canceled. Includes the following parameters:

    • dsName: String type; optional; the name of the CMS recording server which the transaction device is on.
    • deviceName: String type; the name of the transaction device on Surveillance Station.
    • sessionId: String type; the ID of the transaction session.
    • timestamp: Integer type; optional; the number of seconds that have elapsed from 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970 to the time of the cancellation of the transaction.
    • account: String type; optional; account name.
    • password: String type; optional; password of the account.

    AppendData:

    Notifies Surveillance Station to record the contents of a transaction. Includes the following parameters:

    • dsName: String type; optional; the name of the CMS recording server which the transaction device is on.
    • deviceName: String type; the name of the transaction device on Surveillance Station.
    • sessionId: String type; the ID of the transaction session.
    • content: String type; contents of a transaction. Each incoming data is a separate line, however \ n can be used for line breaks in the incoming data.
    • timestamp: Integer type; optional; the number of seconds that have elapsed from 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970 to the time of the generation of the data.
    • account: String type; optional; account name.
    • password: String type; optional; password of the account.
  3. Basic request format: http://{IP}:{Port}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Transactions.Transaction&method="{method}"&version=2&deviceName="{device name}"&sessionId="{session id}"

Examples of Web API requests:

  1. Starting the transaction:

    http://{IP}:{Port}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Transactions.Transaction&method="Begin"&version=2&deviceName="POS01"&sessionId="1"&timeout=300

  2. Recording the transaction:

    http://{IP}:{Port}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Transactions.Transaction&method="AppendData"&version=2&deviceName="POS01"&sessionId="1"&content="Start\n2017/01/01"

  3. Recording the transaction:

    http://{IP}:{Port}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Transactions.Transaction&method="AppendData"&version=2&deviceName="POS01"&sessionId="1"&content="Pen $40\nBook $300"

  4. Recording the transaction:

    http://{IP}:{Port}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Transactions.Transaction&method="AppendData"&version=2&deviceName="POS01"&sessionId="1"&content="Total $340\nEnd"

  5. Ending the transaction:

    http://{IP}:{Port}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Transactions.Transaction&method="Complete"&version=2&deviceName="POS01"&sessionId="1"

Note:

  • You need to log in a session before sending Surveillance Station WebAPI requests or specify account and password as parameters. For detailed login methods, please refer to the Web API Document.
  • If your Synology NAS is a CMS Host server, you can specify dsName to designate a CMS recording server in which the transaction device is connected to. If dsName is not specified, the CMS Host server will be searched before CMS recording servers for transaction devices that match the given name. If two or more CMS recording servers connects to transaction devices that match the given name and dsName is not specified, the command will be ignored.
  • sessionId is used to distinguish between different transaction events. The same deviceName and sessionId will be treated as the same record. If the same parameter is sent again, the Begin method will be ignored until the transaction has completed, canceled, or exceeded transaction time limit. After that, sessionId can be reused.
  • After the start of the transaction, if the time limit is exceeded before receiving the Complete or Cancel methods, the transaction record will be saved and marked as Incomplete.
Add device
Edit device
Enable or disable the device
Delete device
Surveillance Station Web API