0% found this document useful (0 votes)
11 views114 pages

CSL HTTP API Manual Version 1.6

The CSL HTTP API Manual version 1.6, released on October 22, 2024, outlines the specifications and functionalities of the CSL Intelligent Reader and Event Engine, including new Tag Group APIs. It details the structure of HTTP queries, user management commands, and various API categories for system management, network management, and event handling. The document serves as a comprehensive guide for remote management of readers using HTTP protocols.

Uploaded by

Carlson Lam
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views114 pages

CSL HTTP API Manual Version 1.6

The CSL HTTP API Manual version 1.6, released on October 22, 2024, outlines the specifications and functionalities of the CSL Intelligent Reader and Event Engine, including new Tag Group APIs. It details the structure of HTTP queries, user management commands, and various API categories for system management, network management, and event handling. The document serves as a comprehensive guide for remote management of readers using HTTP protocols.

Uploaded by

Carlson Lam
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

CSL HTTP API Manual

CSL HTTP API Specifications

Version 1.6

2024 10 22

© Convergence Systems Limited. All Rights Reserved. 1


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

1. Release Notes

Dates Release Description

2024 10 22 1.6 Add new Tag Group APIs,


Revised Layouts

© Convergence Systems Limited. All Rights Reserved. 2


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

2. Content

1. RELEASE NOTES ...................................................................................................... 2


2. CONTENT .................................................................................................................... 3
3. INTRODUCTION........................................................................................................ 4
3.1 CSL INTELLIGENT READER ........................................................................................... 4
3.2 CSL EVENT ENGINE ...................................................................................................... 5
4. CSL HTTP API CATEGORIES ................................................................................. 9
5. CSL HTTP API SYNTAX.......................................................................................... 10
6. USER’S MANAGEMENT ........................................................................................ 11
7. SYSTEM MANAGEMENT ...................................................................................... 19
8. NETWORK MANAGEMENT ................................................................................. 46
9. TIME & TIMER MANAGEMENT ......................................................................... 57
10. TAG & TAG FILTER MANAGEMENT ............................................................. 60
11. GPIO MANAGEMENT ........................................................................................ 91
12. EVENTS MANAGEMENT .................................................................................. 94
13. VERSION MANAGEMENT .............................................................................. 112
14. LEGACY CS461 TCP FORMAT TO TCP SERVER ....................................... 113

© Convergence Systems Limited. All Rights Reserved. 3


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

3. Introduction

3.1 CSL Intelligent Reader

The CSL Intelligent Reader family are intelligent reader designed to work standalone in an
autonomous manner. An intelligent Event Engine is embedded with configurable
complex logic sequence, triggers and resultant actions that are automatically activated on
power up. All reader settings, including the events, can be saved and further deployed to
as many readers, as many sites as you want, thus providing easy scalability for the system
integrators.

The readers can act alone and be configured to send tag data to Cloud servers anywhere, or,
on top of that, work together with other readers in the site in Master/Slave manner.
Operators can remote control the readers, adding and modifying tag groups for
membership management in the case of RFID access control.

This document describes how to remote manage the readers using HTTP protocols.

© Convergence Systems Limited. All Rights Reserved. 4


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

3.2 CSL Event Engine

The CSL Event Engine is a multilevel event loop that allows configurable triggers and
resultant actions. Such event, looped around endlessly, provides autonomous control and
management of all kinds of business scenarios.

Inventory Enabling Trigger

Inventory Enabling Action

Trigger Logic

Resultant Action

Inventory Disabling Trigger

Inventory Disabling Action

© Convergence Systems Limited. All Rights Reserved. 5


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

Definitions

The CSL Event Engine consists of layers of triggers and actions. Here are
the definitions of various types of triggers and actions:

Inventory Enabling Trigger: This is the trigger that cause the reader to
start doing inventory

Inventory Enabling Action: This is the actions that the reader would do
when starting inventory

Trigger Logic: This is the trigger that would cause the reader to act on some
particular RFID tag IDs collected during inventory

Resultant Action: This is the action that the reader would do on those RFID
tag IDs singled out because of the above Trigger Logic.

Inventory Disabling Trigger: This is the trigger that would cause the reader
to stop inventory and loop back to the start of the Event Loop

Inventory Disabling Action: This is the action that accompanies the reader
when it stops inventory.

© Convergence Systems Limited. All Rights Reserved. 6


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

Triggers:

can be used in
Trigger Mode Inventory Inventory
Trigger
Enabling Disabling
Logic
Trigger Trigger
Always On x
Never Stop x
Read Any Tags (any ID, 1 trigger
X
per tag)
Input Sensor State X X
No Tag Read in Specified Time
X
Span from Start of Inventory
No Tag Read in Specified Time
Span from last Tag Read and X
Triggered
Trigger in Tag Group X
Trigger in Tag Database X
Trigger if RSSI larger than or
X
equal to
Trigger if Moisture is larger than
X
or equal to
Trigger if Moisture is less than or
X
equal to
Trigger if Temperature is larger
X
than or equal to
Trigger if Temperature is less
X
than or equal to
Specified Time Span elapsed from
X X
start of event
Periodic Time X
UDP Trigger X

© Convergence Systems Limited. All Rights Reserved. 7


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

Resultant Actions:

can be used in
Action Mode
Inventory Inventory
Resultant
Enabling Disabling
Action
Action Action
Do Nothing (Only Show on Screen) X
Batch Alert to Server X
Instant Alert to Server (No Duplicate
X
Elimination)
Low Latency Alert to Server X X X
Alert on TCP Listening Port X
Output Port X X X
Save to External USB Memory X
Display Tag Database Record X
Display Tag Group Record X
Debug Serial Port (No Duplicate
X
Elimination)
Debug Serial Port (with Duplicate
X
Elimination)
UDP Message X X

© Convergence Systems Limited. All Rights Reserved. 8


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

4. CSL HTTP API Categories


This document contains 8 categories of HTTP query strings and the XML based response
document layout:

1. Users Management
2. System Management
3. Network Management
4. Time and Timer Management
5. Tag and Tag Filter Management
6. GPIO Management
7. Events Management
8. Version Management

This table of API is for Web Application 1.4.82

© Convergence Systems Limited. All Rights Reserved. 9


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

5. CSL HTTP API Syntax


(1) Server  Reader
The format of High-level HTTP API query from server to reader is as follows:

[Link]
mmand=<command>[&<param1>=<param1_value>]
where:
Variable Description
<IP_address_of_Reader> IP address of the CSL intelligent fixed reader
<session_id> The session ID obtained in the XML response message from reader after
user login (not necessary for some commands, e.g. login)
<command> High-level API command
<param1> Setting parameter for the corresponding command. It can be optional or
more than one parameter
<param1_value> Value for the corresponding parameter setting

(2) Reader  Server


The format of XML/HTTP response from reader to server is as follows:
<?xml version="1.0" ?>
<CSL>
<Command>command</Command>
<Ack>ack_value</Ack>
</CSL>

or
<?xml version="1.0" ?>
<CSL>
<Command>command</Command>
<name attribute1="attribute1_value" attribute2="attribute2_value"
/>
</CSL>

Note:
- This document is applicable to CS463 web application 1.1.8 or above.
- All High-Level HTTP API query strings are Case-Sensitive.

© Convergence Systems Limited. All Rights Reserved. 10


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

6. User’s Management

query_string Description

Users Management

6.1 session_id=<login_session_id>& Adds a new user with name username, password password, and
command=addUser& permission of accessing item.
username=username& e.g.
password=password& session_id=<login_session_id>&command=addUser&usernam
[desc=desc] e=BruceLi&password=pw123&Status=1&LogFileConfiguratio
[&item=permission] n=1&DownloadLogFile=4&TagInventory=1

Valid attributes:
item permission
Status 1
UserManagement 1, 2
ForceLogout 4
ReaderId 1, 2
CompanyLabel 1, 2
CapturePointName 1, 2
AccessMode 1, 2
CustomEmbeddedApplication 1, 2
FrequencyConfiguration 1, 2
OperationProfile 1, 2
ConfigureLNAGain 1, 2
MemoryInformation 1, 2
PowerUpNotification 1, 2
HeartBeatNotification 1, 2
ReaderErrorNotification 1, 2
GPIInterruptNotification 1, 2
ConfigurationBackupRestore 1, 2
LogFileConfiguration 1, 2
DownloadLogFile 4

© Convergence Systems Limited. All Rights Reserved. 11


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

ScheduledReboot 1, 2
RebootSystem 4
EthernetWiFiConfiguration 1, 2
CloudServer 1, 2
DataFormat 1, 2
TimeSetting 1, 2
TagGroup 1, 2
TagDatabase 1, 2
IOPortControl 1, 2, 4
Trigger 1, 2
ResultactionAction 1, 2
Event 1, 2
DisplayFormat 1, 2
TagInventory 1
FirmwareUpgrade 4
SSLCertificate 1, 2
TagFilter 1, 2

Note:
permission : 1=read, 2=write, 4=execute or bitwise OR of
these values

result:
<?xml version="1.0" ?>
<CSL>
<Command>addUser</Command>
<Ack>OK:</Ack>
</CSL>

6.2 session_id=<login_session_id>& Modify the permission of accessing item of a user with name
command=modUser& username.
username=username& e.g.
[&item=permission] session_id=<login_session_id>&command=modUser&userna
⁝ me=BruceLi&Status=1&LogFileConfiguration=3&Download
LogFile=4&TagInventory=1&Event=3&DisplayFormat=3

Valid attributes:

© Convergence Systems Limited. All Rights Reserved. 12


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

item permission
Status 1
UserManagement 1, 2
ForceLogout 4
ReaderId 1, 2
CompanyLabel 1, 2
CapturePointName 1, 2
AccessMode 1, 2
CustomEmbeddedApplication 1, 2
FrequencyConfiguration 1, 2
OperationProfile 1, 2
ConfigureLNAGain 1, 2
MemoryInformation 1, 2
PowerUpNotification 1, 2
HeartBeatNotification 1, 2
ReaderErrorNotification 1, 2
GPIInterruptNotification 1, 2
ConfigurationBackupRestore 1, 2
LogFileConfiguration 1, 2
DownloadLogFile 4
ScheduledReboot 1, 2
RebootSystem 4
EthernetWiFiConfiguration 1, 2
CloudServer 1, 2
DataFormat 1, 2
TimeSetting 1, 2
TagGroup 1, 2
TagDatabase 1, 2
IOPortControl 1, 2, 4
Trigger 1, 2
ResultactionAction 1, 2
Event 1, 2
DisplayFormat 1, 2
TagInventory 1
FirmwareUpgrade 4

© Convergence Systems Limited. All Rights Reserved. 13


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

SSLCertificate 1, 2
TagFilter 1, 2

Note:
permission : 1=read, 2=write, 4=execute or bitwise OR of
these values

result:
<?xml version="1.0" ?>
<CSL>
<Command>modUser</Command>
<Ack>OK:</Ack>
</CSL>

6.3 session_id=<login_session_id>& Removes the user with name username.


command=delUser& e.g.
username=username session_id=<login_session_id>&command=delUser&usernam
e=Bruce Li

result:
<?xml version="1.0" ?>
<CSL>
<Command>delUser</Command>
<Ack>OK:</Ack>
</CSL>

6.4 session_id=<login_session_id>& Sets the user password for the user with name username.
command=setUserPassword& Only “root” user can invoke this command.
username=username&
password=password e.g.
session_id=<login_session_id>&command=setUserPassword&
username=Bruce Li&password=mod123

result:
<?xml version="1.0" ?>
<CSL>
<Command>setUserPassword</Command>
<Ack>OK:</Ack>
</CSL>

© Convergence Systems Limited. All Rights Reserved. 14


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

6.5 session_id=<login_session_id>& List all users information.


command=listUsers e.g.
session_id=<login_session_id>&command=listUsers

result:
<?xml version="1.0" ?>
<CSL>
<Command>listUsers</Command>
<Account desc="top level administrator"
username="root"
Status="1"
UserManagement="3"
ForceLogout="4"
ReaderId="3"
CompanyLabel="3"
CapturePointName="3"
AccessMode="3"
CustomEmbeddedApplication="3"
FrequencyConfiguration="3"
OperationProfile="3"
ConfigureLNAGain="3"
MemoryInformation="3"
PowerUpNotification="3"
HeartBeatNotification="3"
ReaderErrorNotification="3"
GPIInterruptNotification="3"
ConfigurationBackupRestore="3"
LogFileConfiguration="3"
DownloadLogFile="4"
ScheduledReboot="3"
RebootSystem="4"
EthernetWiFiConfiguration="3"
CloudServer="3"
DataFormat="3"
TimeSetting="3"
TagGroup="3"
TagDatabase="3"
IOPortControl="7"
Trigger="3"
ResultantAction="3"
Event="3"
DisplayFormat="3"
TagInventory="1"
FirmwareUpgrade="4"
SSLCertificate="3"
ReaderErrorNotification="3"
TagFilter="3" />
<Account desc=""
username="BruceLi"
Status="1"
LogFileConfiguration="3"
DownloadLogFile="4"
Event="3"
DisplayFormat="3"
© Convergence Systems Limited. All Rights Reserved. 15
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

TagInventory="1" />
</CSL>

6.6 command=login& Login is required for access to the reader.


username=username& Login is successful if password for the user is correct.
password=password
e.g.
command=login&username=root&password=csl

result 1:
(Login successfully)
<?xml version="1.0" ?>
<CSL>
<Command>login</Command>
<Ack>OK: session_id=768f32f8</Ack>
</CSL>

result 2:
(If other user has already logged-in)
<?xml version="1.0" ?>
<CSL>
<Command>login</Command>
<Error alreadyLoginIP="[Link]"
alreadyLoginUser="root" code="-10"
msg="Error: Only one user can login
the system at the same
time!Another User root has already
logged-in the system (by browser or
API command) at location
[Link].Please logout the
other user and retry login." />
</CSL>

6.7 session_id=<login_session_id>& Log out is recommended to ensure the security and integrity of
command=logout the system.
e.g.
session_id=<login_session_id>&command=logout

result:
<?xml version="1.0" ?>
<CSL>
<Command>logout</Command>
<Ack>OK:</Ack>
</CSL>

© Convergence Systems Limited. All Rights Reserved. 16


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

6.8 command=forceLogout& Force logout the system and intend to login another session for
username=username& operation.
password=password
e.g.
command=forceLogout&username=root&password=<passwor
d>
Remark : username must be “root”

result:
<?xml version="1.0" ?>
<CSL>
<Command>forceLogout</Command>
<Ack>OK:</Ack>
</CSL>

6.9 session_id=<login_session_id>& Set the auto logout time to the Edge Server such that the it will
command=setAutoLogoutTime& automatically be logout after the idle time, time.
time=time
e.g.
session_id=<login_session_id>&command=setAutoLogoutTim
e&time=30

Valid attributes:
time : unit = minute, 0 = login session never expire

result:
<?xml version="1.0" ?>
<CSL>
<Command>setAutoLogoutTime</Command>
<Ack>OK:</Ack>
</CSL>

6.10 session_id=<login_session_id>& Get the auto logout time.


command=getAutoLogoutTime
e.g.
session_id=<login_session_id>&command=getAutoLogoutTi
me

result:
<?xml version="1.0" ?>

© Convergence Systems Limited. All Rights Reserved. 17


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

<CSL>
<Command>getAutoLogoutTime</Command>
<Logout time="30" unit="minute" />
</CSL>

© Convergence Systems Limited. All Rights Reserved. 18


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

7. System Management
query_string Description

System Management

7.1 session_id=<login_session_id>& Set Reader ID.


command=setReaderID& e.g.
reader_id=reader_id&desc=desc session_id=<login_session_id>&command=setReaderID&read
er_id=CS463 Demo Reader&desc=Demo Reader

result:
<?xml version="1.0" ?>
<CSL>
<Command>setReaderID</Command>
<Ack>OK:</Ack>
</CSL>

7.2 session_id=<login_session_id>& Get Reader ID.


command=getReaderID e.g.
session_id=<login_session_id>&command=getReaderID

result:
<CSL>
<Command>getReaderID</Command>
<Reader desc="CS463 Demo Reader"
reader_id="Demo Reader" />
</CSL>

7.3 session_id=<login_session_id>& Set Antenna Read Point Names.


command=setCapturePointName
e.g.1
&capturepoint_id=capturepoint_i
[Link]
d&name=name
mand=setCapturePointName&capturepoint_id=Antenn
a1&name=Room1

e.g.2
[Link]
mand=setCapturePointName&capturepoint_id=Antenn
a2&name=Room2

© Convergence Systems Limited. All Rights Reserved. 19


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

e.g.3
[Link]
mand=setCapturePointName&capturepoint_id=Antenn
a3&name=Room3

e.g.4
[Link]
mand=setCapturePointName&capturepoint_id=Antenn
a4&name=Room4

Valid attributes :
capturepoint_id : Antenna1, Antenna2 …… Antenna16

7.4 session_id=<login_session_id>& Get Capture Point Name (Antenna Name).


command=getCapturePointNam
e.g.
e
[Link]
mand=getCapturePointName

<?xml version="1.0" ?>


<CSL>
<Command>getCapturePointName</Co
mmand>
<capturepoint id="Antenna1"
name="Capture Point 1"
selected="true" />
<capturepoint id="Antenna2"
name="Capture Point 2"
selected="true" />
<capturepoint id="Antenna3"
name="Capture Point 3"
selected="true" />
<capturepoint id="Antenna4"
name="Capture Point 4"
selected="true" />
<capturepoint id="Antenna5"
name="Capture Point 5"
selected="true" />
<capturepoint id="Antenna6"
name="Capture Point 6"
selected="true" />
<capturepoint id="Antenna7"
name="Capture Point 7"
selected="true" />
<capturepoint id="Antenna8"
name="Capture Point 8"
selected="true" />
<capturepoint id="Antenna9"

© Convergence Systems Limited. All Rights Reserved. 20


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

name="Capture Point 9"


selected="true" />
<capturepoint id="Antenna10"
name="Capture Point 10"
selected="true" />
<capturepoint id="Antenna11"
name="Capture Point 11"
selected="true" />
<capturepoint id="Antenna12"
name="Capture Point 12"
selected="true" />
<capturepoint id="Antenna13"
name="Capture Point 13"
selected="true" />
<capturepoint id="Antenna14"
name="Capture Point 14"
selected="true" />
<capturepoint id="Antenna15"
name="Capture Point 15"
selected="true" />
<capturepoint id="Antenna16"
name="Capture Point 16"
selected="true" />
</CSL>

7.5 session_id=<login_session_id>& To set Access Mode of the reader.


command=setAccessMode&
mode=mode e.g.
session_id=<login_session_id>&command=setAccessMode&
mode=http

Valid attributes:
mode : high or http = High Level HTTP API Mode
low = Low Level Mach1 API Mode
cslapi = CSL Unified API High Level Mode
cslapilow = CSL Unified API Low Level Mode
llrp = LLRP API Mode
bluetooth = CS108 Bluetooth API Mode
customembedded = Custom Embedded RFID HTTP
API Mode
cslapirs232 = CSL Unified API Mode via RS232
Control Serial Port
cslapilowrs232 = CSL Unified API Low Level
Mode via RS232 Control Serial Port

© Convergence Systems Limited. All Rights Reserved. 21


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

result:
<?xml version="1.0" ?>
<CSL>
<Command>setAccessMode</Command>
<Ack>OK:</Ack>
</CSL>

7.6 session_id=<login_session_id>& To get Access Mode of the reader.


command=getAccessMode
e.g.
session_id=<login_session_id>&command=getAccessMode

result 1:
<?xml version="1.0" ?>
<CSL>
<Command>getAccessMode</Command>
<Access mode="1" name=" HTTP/XML" />
</CSL>

result 2:
<?xml version="1.0" ?>
<CSL>
<Command>getAccessMode</Command>
<Access mode="2" name=" CS461 Low
Level API (MACH1)" />
</CSL>

result 3:
<?xml version="1.0" ?>
<CSL>
<Command>getAccessMode</Command>
<Access mode="3" name="CSL Unified
API/High Level" />
</CSL>

result 4:
<?xml version="1.0" ?>
<CSL>
<Command>getAccessMode</Command>
<Access mode="4" name="LLRP" />
</CSL>

result 5:
<?xml version="1.0" ?>
<CSL>
<Command>getAccessMode</Command>
<Access mode="5" name="CS108
Bluetooth API" />
© Convergence Systems Limited. All Rights Reserved. 22
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

</CSL>

result 6:
<?xml version="1.0" ?>
<CSL>
<Command>getAccessMode</Command>
<Access mode="6" name="Custom
Embedded RFID HTTP" />
</CSL>

result 7:
<?xml version="1.0" ?>
<CSL>
<Command>getAccessMode</Command>
<Access mode="7" name="CSL Unified
API/High Level via RS232 Control Serial
Port" />
</CSL>

result 8:
<?xml version="1.0" ?>
<CSL>
<Command>getAccessMode</Command>
<Access mode="8" name="CSL Unified
API/Low Level " />
</CSL>

result 9:
<?xml version="1.0" ?>
<CSL>
<Command>getAccessMode</Command>
<Access mode="9" name="CSL Unified
API/Low Level via RS232 Control Serial
Port" />
</CSL>

7.7 session_id=<login_session_id>& Set Custom Embedded RFID Application.


command=setEmbeddedRFIDAp e.g.
p& session_id=<login_session_id>&command=setEmbeddedRFI
path=path& DApp&path=%2Fopt%2Fcsl_embedded_rfid_example_2.6_20
cmd=cmd 190828&cmd=.%2Fexample+-conf+config_HK.txt

result:
<CSL>
<Command>setEmbeddedRFIDApp</Command>
<Ack>OK:</Ack>
</CSL>

© Convergence Systems Limited. All Rights Reserved. 23


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

7.8 session_id=<login_session_id>& Get Reader ID.


command=getEmbeddedRFIDA e.g.
pp session_id=<login_session_id>&command=getReaderID

result:
<CSL>
<Command>getEmbeddedRFIDApp</Command>
<embeddedRFIDApp
path="/opt/csl_embedded_rfid_example_2
.6_20190828" cmd="./example -conf
config_HK.txt" />
</CSL>

7.9 session_id=<login_session_id>& Configure Operation Profile.


command=setOperProfile&
profile_id= profile_id& e.g. 1 (same transmit power on all antenna)
linkProfile= linkProfile& [Link]
populationEst= populationEst& mand=setOperProfile&profile_id=Default Profile&

sessionNo=sessionNo& linkProfile=1&populationEst=50&sessionNo=0&target=

target=target& 2&queryAlgorithm=DynamicQ&reflectedPowerThreshol

queryAlgorithm=queryAlgorithm d=24&tagModel=ANY&antenna_port=1,2,3,4&transmit
& Power=30.00&dwellTime1=2000&dwellTime2=2000&d

reflectedPowerThreshold=reflecte wellTime3=2000&dwellTime4=2000
dPowerThreshold&
e.g. 2 (different transmit power on each antenna)
tagModel=tagModel&
[Link]
antenna_port=antenna_port
mand=setOperProfile&profile_id=Default
[&transmitPower=transmitPower
Profile&linkProfile=1&populationEst=50&sessionNo=0&
]
target=0&queryAlgorithm=DynamicQ&reflectedPowerT
[&transmitPower1=transmitPowe hreshold=24&tagModel=ANY&antenna_port=1,2,3,4&tr
r1 ansmitPower1=21.00&transmitPower2=22.00&transmit
&transmitPower2=transmitPower Power3=23.00&transmitPower4=24.00&dwellTime1=2
2 000&dwellTime2=2000&dwellTime3=2000&dwellTime4
&transmitPower3=transmitPower =2000
3
&transmitPower4=transmitPower Valid attributes :
4 linkProfile : 0 = Multipath Interface Resistance

&transmitPower5=transmitPower 1 = Range/Dense Reader

5 2 = Range/Throughput/Dense Reader

© Convergence Systems Limited. All Rights Reserved. 24


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

&transmitPower6=transmitPower 3 = Max Throughput


6 populationEst : 1 – 8192
&transmitPower7=transmitPower sessionNo : 0 = S0 , 1 = S1 , 2 = S2, 3 = S3
7 target : 0 = A, 1 = B, 2 = A/B Togggle
&transmitPower8=transmitPower queryAlgorithm : FixedQ, DynamicQ
8 reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
&transmitPower9=transmitPower tagModel : ANY, Magnus_S2, Magnus_S3, Ctesius
9 antenna_port : 1 – 16, any combinations with comma
&transmitPower10=transmitPow separated, e.g. 1,2,3,4
er10 transmitPower : 0.0 – 32.0 in step of 0.1 dBm
&transmitPower11=transmitPow transmitPower1 – 16 : 0.0 – 32.0 in step of 0.1 dBm
er11 dwellTime1 – 16 : unit=ms, >= 0ms
&transmitPower12=transmitPow retry : >= 0
er12 tagFocus : true, false (if it is true, sessionNo is set to 1 and
&transmitPower13=transmitPow target is set to 0 automatically)
er13
&transmitPower14=transmitPow Optional attributes:
er14 memoryBank1 : Bank0, Bank1, Bank2, Bank3
&transmitPower15=transmitPow memoryBank1Offset : >= 0
er15 memoryBank1Length : unit=no. of words, >= 0
&transmitPower16=transmitPow memoryBank2 : Bank0, Bank1, Bank2, Bank3
er16] memoryBank2Offset : >= 0
[&dwellTime1= dwellTime1 memoryBank2Length : unit=no. of words, >= 0
&dwellTime2= dwellTime2 fastId : true, false
&dwellTime3= dwellTime3 minOnChipRSSI : 0 – 31, unit=dBm
&dwellTime4= dwellTime4 maxOnChipRSSI : 0 – 31, unit=dBm
&dwellTime5= dwellTime5 moistAvgWindow : 1 – 50
&dwellTime6= dwellTime6 tempAvgWindow : 1 – 50
&dwellTime7= dwellTime7 reconfigAntennaPortError : true, false
&dwellTime8= dwellTime8 retryErrorAntennaPortTime : unit=second, >=0, 0=never retry
&dwellTime9= dwellTime9 preFilter1 – 7 : ID of Tag Filter, the type of the filter must be
&dwellTime10= dwellTime10 PRE_FILTER
&dwellTime11= dwellTime11 postFilter : ID of Tag Filter, the type of the filter must be
&dwellTime12= dwellTime12 POST_FILTER
&dwellTime13= dwellTime13
Note:
&dwellTime14= dwellTime14
If tagModel is ANY, there can be 7 pre-filters.
If tagModel is Magnus_S2, there can be 5 pre-filters.
© Convergence Systems Limited. All Rights Reserved. 25
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

&dwellTime15= dwellTime15 If tagModel is Magnus_S3, there can be 4 pre-filters.


If tagModel is Ctesius, there can be 6 pre-filters.
&dwellTime16= dwellTime16]
[&memoryBank1=memoryBank1 result :
&memoryBank1Offset=memoryB <?xml version="1.0" ?>
<CSL>
ank1Offset <Command>setOperProfile</Command>
<Ack>OK:</Ack>
&memoryBank1Length=memory
</CSL>
Bank1Length]
[&memoryBank2=memoryBank2
&memoryBank2Offset=memoryB
ank2Offset
&memoryBank2Length=memory
Bank2Length]
[&retry=retry]
[&tagFocus=tagFocus]
[&fastId=fastId]
[&minOnChipRSSI=minOnChip
RSSI]
[&maxOnChipRSSI=maxOnChip
RSSI]
[&moistAvgWindow=moistAvgW
indow]
[&tempAvgWindow=tempAvgWi
ndow]
[&reconfigAntennaPortError=rec
onfigAntennaPortError]
[&retryErrorAntennaPortTime=re
tryErrorAntennaPortTime]
[&preFilter1=preFilter1]
[&preFilter2=preFilter2]
[&preFilter3=preFilter3]
[&preFilter4=preFilter4]
[&preFilter5=preFilter5]
[&preFilter6=preFilter6]
[&preFilter7=preFilter7]
[&postFilter=postFilter]

© Convergence Systems Limited. All Rights Reserved. 26


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

7.10 session_id=<login_session_id>& Get Operation Profile information.


command=getOperProfile
e.g.
[Link]
mmand=getOperProfile

<?xml version="1.0" ?>


<CSL>
<Command>getOperProfile</Command>
<ProfileList>
<profile profile_id="Default Profile"
active="true"
linkProfile="1"
populationEst="50"
sessionNo="0"
target="2"
queryAlgorithm="DynamicQ"
reflectedPowerThreshold="24.0"
tagModel="ANY"
retry="0"
tagFocus="false"
fastId="false"
minOnChipRSSI="16"
maxOnChipRSSI="21"
moistAvgWindow="5"
tempAvgWindow="5"
reconfigAntennaPortError="false"
retryErrorAntennaPortError="0"
antenna_port="1,2,3,4"
transmitPower="30.0"
transmitPower1="30.0"
transmitPower2="30.0"
transmitPower3="30.0"
transmitPower4="30.0"
transmitPower5="30.0"
transmitPower6="30.0"
transmitPower7="30.0"
transmitPower8="30.0"
transmitPower9="30.0"
transmitPower10="30.0"
transmitPower11="30.0"
transmitPower12="30.0"
transmitPower13="30.0"
transmitPower14="30.0"
transmitPower15="30.0"
transmitPower16="30.0"
dwellTime1="2000"
dwellTime2="2000"
dwellTime3="2000"
dwellTime4="2000"
dwellTime5="2000"
dwellTime6="2000"
dwellTime7="2000"
dwellTime8="2000"

© Convergence Systems Limited. All Rights Reserved. 27


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

dwellTime9="2000"
dwellTime10="2000"
dwellTime11="2000"
dwellTime12="2000"
dwellTime13="2000"
dwellTime14="2000"
dwellTime15="2000"
dwellTime16="2000"
memoryBank1="Bank2"
memoryBank1Offset="0"
memoryBank1Length="2"
memoryBank2="Bank3"
memoryBank2Offset="0"
memoryBank2Length="2" />
</ProfileList>
</CSL>

7.11 session_id=<login_session_id>& Remove operation profile.


command=delOperProfile&
profile_id= profile_id e.g.
session_id=<login_session_id>&command=delOperProfile&se
rver_id=ExampleProfile

result:
<?xml version="1.0" ?>
<CSL>
<Command>delOperProfile</Command>
<Ack>OK:</Ack>
</CSL>

7.12 session_id=<login_session_id>& Set RF LNA Gain and IF LNA Gain settings.


command=setRFLNAIFLNAGai e.g.
n& session_id=<login_session_id>&command=setRFLNAIFLNA
rf_lna_compression_mode=rf_ln Gain&rf_lna_compression_mode=1&rf_lna_gain=1dB&if_lna
a_compression_mode& _gain=24dB&agc_gain=-6dB
rf_lna_gain=rf_lna_gain&
if_lna_gain=if_lna_gain& Valid attributes:
agc_gain=agc_gain rf_lna_compression_mode : 0, 1 (this must be 0 if rf_lna_gain
is 13dB)
rf_lna_gain : 1dB, 7dB, 13dB
if_lna_gain : 24dB, 18dB, 12dB, 6dB
agc_gain : -12dB, -6dB, 0dB, 6dB

result:

© Convergence Systems Limited. All Rights Reserved. 28


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

<?xml version="1.0" ?>


<CSL>
<Command>setRFLNAIFLNAGain</Command>
<Ack>OK:</Ack>
</CSL>

7.13 session_id=<login_session_id>& Get RF LNA Gain and IF LNA Gain settings.


command=getRFLNAIFLNAGai e.g.
n session_id=<login_session_id>&command=getRFLNAIFLNA
Gain

result:
<?xml version="1.0" ?>
<CSL>
<Command>getRFLNAIFLNAGain</Command>
<Settings
rf_lna_compression_mode="1"
rf_lna_gain="1dB"
if_lna_gain="24dB"
agc_gain="-6dB" />
</CSL>

7.14 session_id=<login_session_id>& Get system memory information.


command=getRAMMemory e.g.
session_id=<login_session_id>&command=getRAMMemory

result:
<?xml version="1.0" ?>
<CSL>
<Command>getRAMMemory</Command>
<SystemMemory>
<Total>64638976</Total>
<Used>50401280</Used>
<Free>14237696</Free>
</SystemMemory>
</CSL>

7.15 session_id=<login_session_id>& Get flash memory information.


command=getFlashMemory e.g.
session_id=<login_session_id>&command=getFlashMemory

result:
<?xml version="1.0" ?>
<CSL>
<Command>getFlashMemory</Command>
<FlashMemory>

© Convergence Systems Limited. All Rights Reserved. 29


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

<Total>4194304</Total>
<Used>3212000</Used>
<Free>982304</Free>
</FlashMemory>
</CSL>

7.16 command=getReaderStatus& Get the reader run-time status for inspection without login the
username=username& reader.
password=password
e.g.
[Link]
s&username=root&password=csl

result:
<?xml version="1.0" ?>
<CSL>
<Command>getReaderStatus</Command
>
<Model name="CS463-2" protocol="EPC
Class1 Gen 2" />
<Reader desc="CS463 Demo Reader"
reader_id="Demo Reader"
reader_serial_number="ABC0123456789"
pcb_serial_number="DEF9876543210024" />
<ReaderVersion
cs108_bluetooth_api_library="1.0.2"
cs461_low_level_api_mach1_library=" 1.0.4"
csl_unified_api_library="1.0.3"
java=" 1.8.0_221"
jni_library="1.0.4"
llrp_library="1.0.7"
os=" Linux
v4.14.78-imx_4.14.78_1.0.0_ga+g
94da7bd"
pcb_version="2.4"
rfid_firmware="2.6.29"
web_application="1.1.9" />
<Timezone daylight_saving="0"
tz="GMT+08:00" />
<Logout time="30" unit="minute" />
<UserStatus client_ip="[Link]"
login_status="yes"
session_id="00000000"
username="root" />
<AccessMode mode="1" name="HTTP/XML" />
<ActiveOperationProfile
antenna_power="1:30.0,2:30.0,3:
30.0,4:30.0,"
profile_id="Default Profile" />
<ActiveEventList>
<Event desc="Event Demo"
event_id="DemoEvent" />
© Convergence Systems Limited. All Rights Reserved. 30
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

<Event desc="" event_id="e45" />


</ActiveEventList>
<CurrentLocalTime day="9" hour="15"
minute="41" month="3" second="9"
year="2020" />
<CurrentUTCTime day="9" hour="7"
minute="41" month="3" second="9"
year="2020" />
</CSL>

7.17 command=healthCheck& Make a health check of the reader without login the reader first.
username=username&
password=password e.g.
[Link]
ername=root&password=csl

result:
<?xml version="1.0" ?>
<CSL>
<Command>healthCheck</Command>
<result checkTime="Mon Mar 9 15:43:20 2020"
freeRAM="15416368" upTime="16.25" />
</CSL>

7.18 session_id=<login_session_id>& Get the unresolved errors from the reader.


command=getReaderError
e.g.
[Link]
mand=getReaderError

result:
<?xml version="1.0" ?>
<CSL>
<Command>getReaderError</Command>
<readerError error_code="0309"
desc=" Reverse Power Too High – may be
antenna mismatch"
antennaPort="2"
reflected_power="26"
reflected_power_threshold="24"
upTime="16.25" />
<readerError error_code="0309"
desc=" Reverse Power Too High – may be
antenna mismatch"
antennaPort="3"
reflected_power="27"
reflected_power_threshold="24"
upTime="16.25" />
</CSL>
© Convergence Systems Limited. All Rights Reserved. 31
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

7.19 session_id=<login_session_id>& Reboot the system.


command=restartSystem
e.g.
[Link]
mand=restartSystem

result:
<?xml version="1.0" ?>
<CSL>
<Command>restartSystem</Command>
<Ack>OK:</Ack>
</CSL>

7.20 session_id=<login_session_id>& To check if the reader is on-line.


command=isOnline
e.g.
[Link]
mand=isOnline

result:
<?xml version="1.0" ?>
<CSL>
<Command>isOnline</Command>
<Ack>OK: Online,CS463.</Ack>
</CSL>

7.21. session_id=<login_session_id>& Get the scheduled restart settings


command=getScheduledRestart
e.g.
[Link]
mand=getScheduledRestart

result:
<?xml version="1.0" ?>
<CSL>
<Command>getScheduledRestart</Command>
<ScheduledRebootList>
<scheduleReboot
enable="false"
mode="Monday"
month=""
day=""
time1="17:47"
time2="" />
© Convergence Systems Limited. All Rights Reserved. 32
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

</ScheduledRebootList>
</CSL>

7.22 session_id=<login_session_id>& The system may be scheduled to restart.


command=setScheduledRestart
&mode=mode Valid attributes :
&enable=enable mode : ANNUAL, SEMI_ANNUAL, QUARTERLY,
[&month=month] BI_MONTHLY, MONTHLY, SUNDAY, MONDAY,
[&day=day] TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,
&time1=time1 SATURDAY, DAILY, TWICE_PER_DAY
[&time2=time2] enable : true, false
month : 1 – 12 for mode ANNUAL
1 – 6 for mode SEMI_ANNUAL
1 – 3 for mode QUARTERLY
1 or 2 for mode BI_MONTHLY
Not required for other mode
day : 1 – 31, only required for mode ANNUAL,
SEMI_ANNUAL, QUARTERLY, BI_MONTHLY,
MONTHLY
time1 : hh:mm (hh is hour in 24 hour format, mm
is minute)
time2 : hh:mm (hh is hour in 24 hour format, mm
is minute), only required for mode
TWICE_PER_DAY

e.g.
[Link]
mand=setScheduledRestart&mode=MONDAY&enable=t
rue&time1=23:00

result:
if successful,
<?xml version="1.0" ?>
<CSL>
<Command>setScheduledRestart</Command>
<Ack>OK:</Ack>
</CSL>

if fail (the example is wrong mode),


<?xml version="1.0" ?>
© Convergence Systems Limited. All Rights Reserved. 33
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

<CSL>
<Command>setScheduledRestart</Command>
<Error code="-10" msg="Error: mode is
not valid" />
</CSL>

7.23 session_id=<login_session_id>& Add Power Up Notification to be sent to server.


command=addPowerUpNotificat
ion e.g.
&notification_id=notification_id session_id=<login_session_id>&command=addPowerUpNotifi
&type=type cation&notification_id=Example Power Up
&server_id=server_id Notification&type=HTTP POST&server_id=Example CSL
&data_format_id=data_format_i Demo Cloud Server&data_format_id=Example Power Up
d Notification Data Format&enable=true
&enable=enable
Valid attributes :
type : HTTP POST, MQTT
enable : true, false

result:
<?xml version="1.0" ?>
<CSL>
<Command>addPowerUpNotification
</Command>
<Ack>OK:</Ack>
</CSL>

7.24 session_id=<login_session_id>& Modify Power Up Notification to be sent to server.


command=modPowerUpNotifica
tion e.g.
&notification_id=notification_id session_id=<login_session_id>&command=modPowerUpNoti
&type=type fication&notification_id=Example Power Up
&server_id=server_id Notification&type=HTTP POST&server_id=Example CSL
&data_format_id=data_format_i Demo Cloud Server&data_format_id=Example Power Up
d Notification Data Format&enable=false
&enable=enable
Valid attributes :
type : HTTP POST, MQTT
enable : true, false

© Convergence Systems Limited. All Rights Reserved. 34


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

result:
<?xml version="1.0" ?>
<CSL>
<Command>modPowerUpNotification
</Command>
<Ack>OK:</Ack>
</CSL>

7.25 session_id=<login_session_id>& Remove Power Up Notification.


command=delPowerUpNotificati
on e.g.
&notification_id=notification_id session_id=<login_session_id>&command=delPowerUpNotifi
cation&notification_id=Example Power Up Notification

result:
<?xml version="1.0" ?>
<CSL>
<Command>delPowerUpNotification
</Command>
<Ack>OK:</Ack>
</CSL>

7.26 session_id=<login_session_id>& List Power Up Notification.


command=listPowerUpNotificati
on e.g.
session_id=<login_session_id>&command=listPowerUpNotifi
cation

result:
<?xml version="1.0" ?>
<CSL>
<Command>listPowerUpNotification
</Command>
<PowerUpNotificationList>
<notification data_format_id="Example Power
Up Notification Data Format"
enable="false"
notification_id="Example Power Up
Notification"
server_id="Example CSL Demo Cloud
Server"
type="HTTP POST" />
<notification data_format_id="Example Power
Up Notification Data Format"
enable="false"
notification_id="Example Power Up
Notification to MQTT Broker"

© Convergence Systems Limited. All Rights Reserved. 35


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

server_id="Example MQTT Broker"


type="MQTT" />
</PowerUpNotificationList>
</CSL>
7.27 session_id=<login_session_id>& Add Reader Error Notification to be sent to server.
command=addReaderErrorNotif
ication e.g.
&notification_id=notification_id session_id=<login_session_id>&command=addReaderErrorNo
&type=type tification&notification_id=Example Reader Error
&server_id=server_id Notification&type=HTTP POST&server_id=Example CSL
&data_format_id=data_format_i Demo Cloud Server&data_format_id=Example Reader Error
d Notification Data Format&enable=true
&enable=enable
Valid attributes :
type : HTTP POST, MQTT
enable : true, false

result:
<?xml version="1.0" ?>
<CSL>
<Command>addReaderErrorNotification
</Command>
<Ack>OK:</Ack>
</CSL>

7.28 session_id=<login_session_id>& Modify Reader Error Notification to be sent to server.


command=modReaderErrorNoti
fication e.g.
&notification_id=notification_id session_id=<login_session_id>&command=modReaderErrorN
&type=type otification&notification_id=Example Reader Error
&server_id=server_id Notification&type=HTTP POST&server_id=Example CSL
&data_format_id=data_format_i Demo Cloud Server&data_format_id=Example Reader Error
d Notification Data Format&enable=false
&enable=enable
Valid attributes :
type : HTTP POST, MQTT
enable : true, false

result:
<?xml version="1.0" ?>
© Convergence Systems Limited. All Rights Reserved. 36
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

<CSL>
<Command>modReaderErrorNotification
</Command>
<Ack>OK:</Ack>
</CSL>

7.29 session_id=<login_session_id>& Remove Reader Error Notification.


command=delReaderErrorNotifi
cation e.g.
&notification_id=notification_id session_id=<login_session_id>&command=delReaderErrorNo
tification&notification_id=Example Reader Error Notification

result:
<?xml version="1.0" ?>
<CSL>
<Command>delReaderErrorNotification
</Command>
<Ack>OK:</Ack>
</CSL>

7.30 session_id=<login_session_id>& List Reader Error Notification.


command=listReaderErrorNotifi
cation e.g.
session_id=<login_session_id>&command=listReaderErrorNo
tification

result:
<?xml version="1.0" ?>
<CSL>
<Command>listReaderErrorNotification
</Command>
<ReaderErrorNotificationList>
<notification data_format_id="Example Reader
Error Notification Data Format"
enable="false"
notification_id="Example Reader Error
Notification"
server_id="Example CSL Demo Cloud
Server"
type="HTTP POST" />
<notification data_format_id="Example Reader
Error Notification Data Format"
enable="false"
notification_id="Example Reader Error
Notification to MQTT Broker"
server_id="Example MQTT Broker"
type="MQTT" />
</ReaderErrorNotificationList>
© Convergence Systems Limited. All Rights Reserved. 37
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

</CSL>
7.31 session_id=<login_session_id>& Add GPI Interrupt Notification to be sent to server.
command=addGPIInterruptNotif
ication e.g.
&notification_id=notification_id session_id=<login_session_id>&command=addGPIInterruptN
&interrupt_type=interrupt_type otification&notification_id=Example GPI Interrupt
&gpi_port=gpi_port Notification&interrupt_type=Rising Edge&gpi_port=1
&type=type &type=HTTP POST&server_id=Example CSL Demo Cloud
&server_id=server_id Server&data_format_id=Example GPI Interrupt Notification
&data_format_id=data_format_i Data Format&enable=true
d
&enable=enable Valid attributes :
interrupt_type : Rising Edge, Falling Edge, Both
gpi_port : 1, 2, 3 or 4
type : HTTP POST, MQTT
enable : true, false

result:
<?xml version="1.0" ?>
<CSL>
<Command>addGPIInterruptNotification
</Command>
<Ack>OK:</Ack>
</CSL>
7.32 session_id=<login_session_id>& Modify GPI Interrupt Notification to be sent to server.
command=modGPIInterruptNoti
fication e.g.
&notification_id=notification_id session_id=<login_session_id>&command=modGPIInterruptN
&interrupt_type=interrupt_type otification&notification_id=Example GPI Interrupt
&gpi_port=gpi_port Notification&interrupt_type=Falling Edge&gpi_port=1
&type=type &type=HTTP POST&server_id=Example CSL Demo Cloud
&server_id=server_id Server&data_format_id=Example GPI Interrupt Notification
&data_format_id=data_format_i Data Format&enable=false
d
&enable=enable Valid attributes :
interrupt_type : Rising Edge, Falling Edge, Both
gpi_port : 1, 2, 3 or 4
type : HTTP POST, MQTT

© Convergence Systems Limited. All Rights Reserved. 38


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

enable : true, false

result:
<?xml version="1.0" ?>
<CSL>
<Command>modGPIInterruptNotification
</Command>
<Ack>OK:</Ack>
</CSL>
7.33 session_id=<login_session_id>& Remove GPI Interrupt Notification.
command=delGPIInterruptNotifi
cation e.g.
&notification_id=notification_id session_id=<login_session_id>&command=delGPIInterruptNo
tification&notification_id=Example GPI Interrupt Notification

result:
<?xml version="1.0" ?>
<CSL>
<Command>delGPIInterruptNotification
</Command>
<Ack>OK:</Ack>
</CSL>
7.34 session_id=<login_session_id>& List GPI Interrupt Notification.
command=listGPIInterruptNotifi
cation e.g.
session_id=<login_session_id>&command=listGPIInterruptNo
tification

result:
<?xml version="1.0" ?>
<CSL>
<Command>listGPIInterruptNotification
</Command>
<GPIInterruptNotificationList>
<notification data_format_id="Example GPI
Interrupt Notification Data Format"
enable="false"
gpi_port="1"
interrupt_type="Falling Edge"
notification_id="Example GPI Interrupt
Notification"
server_id="Example CSL Demo Cloud
Server"
type="HTTP POST" />
</GPIInterruptNotificationList>
</CSL>

© Convergence Systems Limited. All Rights Reserved. 39


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

7.35 session_id=<login_session_id>& Backup reader configuration.


command=configurationBackup e.g.
session_id=<login_session_id>&command=configurationBack
up

result:
<?xml version="1.0" ?>
<CSL>
<Command>configurationBackup</Command>
<Configuration>{configuration in Json
format}</Configuration>
</CSL>
7.36 session_id=<login_session_id>& Restore reader configuration.
command=configurationRestore e.g.
& session_id=<login_session_id>&command=configurationRest
configuration=configuration ore&configuration={configuration in Json format}

Valid attributes :
configuration : configuration of reader in Json format

result:
<?xml version="1.0" ?>
<CSL>
<Command>configurationRestore</Command>
<Ack>OK: Please wait a moment… System
restarting…</Ack>
</CSL>

7.37 session_id=<login_session_id>& Add Heart Beat to be sent to server.


command=addHeartBeat
&heart_beat_id=heart_beat_id e.g.
&type=type session_id=<login_session_id>&command=addHeartBeat&he
&interval=interval art_beat_id=Heart Beat to Demo Cloud Server&type=HTTP
&enable=enable POST&interval=60&server_id=Example CSL Demo Cloud
[&address=address] Server&data_format_id=Example Heart Beat Data
[&server_id=server_id] Format&enableReset=true&resetPort=ethernet&tryBeforeRese
[&data_format_id=data_format_i t=5&enable=true
d]
[&enableReset=enableReset] Valid attributes :

© Convergence Systems Limited. All Rights Reserved. 40


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

[&resetPort=resetPort] type : ICMP Ping, HTTP POST, MQTT, arp, arp Gateway
[&tryBeforeReset=tryBeforeReset interval : unit=second, 30 – 86400
] enable : true, false
address : required if type is ICMP Ping
server_id : required if type is HTTP POST or MQTT
data_format_id : required if type is HTTP POST or MQTT
enableReset: required if type is not arp
resetPort : ethernet, wifi or both, required if enableReset is true
tryBeforeReset : 1 – 10, required if enableReset is true

result:
<?xml version="1.0" ?>
<CSL>
<Command>addHeartBeat</Command>
<Ack>OK:</Ack>
</CSL>

7.38 session_id=<login_session_id>& Modify Heart Beat to be sent to server.


command=modHeartBeat
&heart_beat_id=heart_beat_id e.g.
&type=type session_id=<login_session_id>&command=modHeartBeat&he
&interval=interval art_beat_id=Heart Beat to Demo Cloud Server&type=HTTP
&enable=enable POST&interval=60&server_id=Example CSL Demo Cloud
[&address=address] Server&data_format_id=Example Heart Beat Data
[&server_id=server_id] Format&enableReset=true&resetPort=ethernet&tryBeforeRese
[&data_format_id=data_format_i t=5&enable=false
d]
[&enableReset=enableReset] Valid attributes :
[&resetPort=resetPort] type : ICMP Ping, HTTP POST, MQTT, arp, arp Gateway
[&tryBeforeReset=tryBeforeReset interval : unit=second, 30 – 86400
] enable : true, false
address : required if type is ICMP Ping
server_id : required if type is HTTP POST or MQTT
data_format_id : required if type is HTTP POST or MQTT
enableReset: required if type is not arp
resetPort : ethernet, wifi or both, required if enableReset is true
tryBeforeReset : 1 – 10, required if enableReset is true

© Convergence Systems Limited. All Rights Reserved. 41


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

result:
<?xml version="1.0" ?>
<CSL>
<Command>modHeartBeat</Command>
<Ack>OK:</Ack>
</CSL>

7.39 session_id=<login_session_id>& Remove Heart Beat.


command=delHeartBeat
&heart_beat_id=heart_beat_id e.g.
session_id=<login_session_id>&command=delHeartBeat&hea
rt_beat_id=Heart Beat to Demo Cloud Server

result:
<?xml version="1.0" ?>
<CSL>
<Command>delHeartBeat</Command>
<Ack>OK:</Ack>
</CSL>

7.40 session_id=<login_session_id>& List Heart Beat.


command=listHeartBeat
e.g.
session_id=<login_session_id>&command=listHeartBeat

result:
<?xml version="1.0" ?>
<CSL>
<Command>listHeartBeat</Command>
<HeartBeatList>
<heartbeat address=""
data_format_id="Example Heart Beat Data
Format"
enable="true"
enableReset="false"
heart_beat_id="Heart Beat to Demo Cloud
Server"
interval="60"
resetPort="ethernet"
server_id="Example CSL Demo Cloud
Server"
tryBeforeReset="5"
type="HTTP POST" />
<heartbeat address=""
data_format_id=""
enable="true"
enableReset="true"
heart_beat_id="ARPING of Local Gateway"
© Convergence Systems Limited. All Rights Reserved. 42
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

interval="30"
resetPort="ethernet"
server_id=""
tryBeforeReset="5"
type="arping Gateway" />
</ReaderErrorNotificationList>
</CSL>
7.41 session_id=<login_session_id>& Upload file to the reader.
command=uploadFile&
fileName=fileName Here below is an example showing how to upload the SSL
certificate that will be used for Secure Web Access via HTTP
POST protocol written in C# (printed in blue color).

HttpClient client = new HttpClient();


var stream = new
FileStream(“C:\\temp\\[Link]”,
[Link]);
var content = new StreamContent(stream);
var requestUri =
“[Link]
mmand=uploadFile&fileName=[Link]”;
var response = await [Link](requestUri,
content);

result:
<?xml version="1.0" ?>
<CSL>
<Command>uploadFile</Command>
<Ack>OK:</Ack>
</CSL>

7.42 session_id=<login_session_id>& Configure to use HTTP or HTTPS for accessing the web
command=setSecureWebAccess interface of the reader and the SSL certificate to be used for
&useSelfSignedCert=useSelfSign HTTPS.
edCert
[&certFile=certFile] e.g. 1 (use the ex-factory self-signed certificate and key for
[&keyFile=keyFile] HTTPS)
[&keyPassword=keyPassword] session_id=<login_session_id>&command=setSecureWebAcc
ess&useSelfSignedCert=true

e.g. 2 (use the client provided certificate and private key for
© Convergence Systems Limited. All Rights Reserved. 43
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

HTTPS, the certificate and key files must be uploaded


to the reader first by using the uploadFile command,
the certificate and key files must be in PEM format,
keyPassword must be provided if the key file is
encrypted)
session_id=<login_session_id>&command=setSecureWebAcc
ess&useSelfSignedCert=false&certFile=[Link]&keyFile=key
.pem

e.g. 3 (use HTTP for web access)


session_id=<login_session_id>&command=setSecureWebAcc
ess&useSelfSignedCert=false&certFile=&keyFile=

result:
<?xml version="1.0" ?>
<CSL>
<Command>setSecureWebAccess</Command>
<Ack>OK:</Ack>
</CSL>

7.43 session_id=<login_session_id>& Get the configuration of Secure Web Access.


command=getSecureWebAccess
e.g.
session_id=<login_session_id>&command=getSecureWebAcc
ess

result:
<?xml version="1.0" ?>
<CSL>
<Command>getSecureWebAccess</Command>
<SecureWebAccess certFile=""
keyFile=""
keyPassword=""
useSelfSignedCert="false" />
</CSL>

7.44 session_id=<login_session_id>& Configure the certificate, private key files and key password of
command=setTwoWayAuth the reader to be used for HTTPS two way authentication.
&certFile=certFile
&keyFile=keyFile e.g. 1 (the certificate and key files must be uploaded to the
&keyPassword=keyPassword reader first by using the uploadFile command, the

© Convergence Systems Limited. All Rights Reserved. 44


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

certificate and key files must be in PEM format,


keyPassword must be provided if the key file is
encrypted)
session_id=<login_session_id>&command=setTwoWayAuth&
certFile=[Link]&keyFile=[Link]

e.g. 2 (remove the certificate and key files from the reader)
session_id=<login_session_id>&command=setTwoWayAuth&
certFile= &keyFile=

result:
<?xml version="1.0" ?>
<CSL>
<Command>setTwoWayAuth</Command>
<Ack>OK:</Ack>
</CSL>

7.45 session_id=<login_session_id>& Get the configuration of Two Way Authentication.


command=getTwoWayAuth
e.g.
session_id=<login_session_id>&command=getTwoWayAuth

result:
<?xml version="1.0" ?>
<CSL>
<Command>getTwoWayAuth</Command>
<SecureWebAccess certFile=""
keyFile=""
keyPassword="" />
</CSL>

© Convergence Systems Limited. All Rights Reserved. 45


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

8. Network Management
query_string Description

Network Management

8.1 session_id=<login_session_id>& Set Network Properties of the following setting:


command=setNetworkConfig& Type, DHCP Mode, IP Address, Subnet Mask, Default
type=type& Gateway, DNS Server 1 and DNS Server 2
[enable=enable&]
dhcpmode=dhcpmode e.g.1
[&ip=ip [Link]
&mask=mask mand=setNetworkConfig&type=ethernet&dhcpmode=1

&gateway=gateway]
[&dns_server1=dns_server1] e.g.2
[&dns_server2=dns_server2] [Link]

[&security=security] mand=setNetworkConfig&type=wifi&dhcpmode=0&ip=

[&ssid=ssid [Link]&mask=[Link]&gateway=192.

&psk=psk] 168.25.1&dns_server1=[Link]&dns_server2=8.
8.8.8&security=wpa-psk&ssid=TestAP&psk=password

Valid attributes :
type : ethernet, wifi
enable : true or false, only valid for type wifi
dhcpmode : 0 = Static IP
1 = DHCP Mode
security : none or wpa-psk, required for type wifi

result:
<?xml version="1.0" ?>
<CSL>
<Command>setNetworkConfig</Command>
<Ack>OK:</Ack>
</CSL>

8.2 session_id=<login_session_id>& Get Network Properties such as IP Address, Subnet Mask,


command=getNetworkConfig Default Gateway, MAC Address.

© Convergence Systems Limited. All Rights Reserved. 46


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

e.g.
session_id=<login_session_id>&command=getNetworkConfig

result:
<?xml version="1.0" ?>
<CSL>
<Command>getNetworkConfig</Command>
<NetworkConfigList>
<NetworkConfig type="ethernet"
dhcpmode="0"
gateway="[Link]"
ip="[Link]"
mask="[Link]"
MAC="00:0D:60:A5:8F:E3" />
<NetworkConfig type="wifi"
enable="true"
dhcpmode="1"
gateway="[Link]"
ip="[Link]"
mask="[Link]"
MAC="00:0D:60:34:56:78"
security="wpa-psk"
ssid="TestAP" />
</NetworkConfigList>
</CSL>

8.3 session_id=<login_session_id>& Set host notification url and port to be


command=setServerID& communicated with.
server_id=server_id& e.g.1 Example CSL Demo Cloud Server
desc=desc&
[Link]
type=type&
ommand=setServerID&server_id=Example CSL
server_ip=server_ip
Demo Cloud Server&desc=Demo Http Cloud
[&server_port=server_port]
Server&type=HTTP&server_ip=[Link]
[&client_id=client_id]
[Link]/WebServiceRESTs/1.0/re
[&username =username]
q/create-update-delete/update-entity/tagdata
[&password=password]
[&enable_ssl=enable_ssl] e.g.2 Example TCP Server
[&ssl_version=ssl_version]
[Link]
[&two_way_authentication=two_ dc&command=setServerID&server_id=Demo
way_authentication] TCP Server&desc=Demo TCP
Server&type=TCP&server_ip=[Link]&
[&topic=topic] server_port=9090
[&clean_session=clean_session]
e.g.2 Example MQTT Server
[&qos =qos]

© Convergence Systems Limited. All Rights Reserved. 47


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

[Link]
dc&command=setServerID&server_id=Demo
MQTT Server&desc=Demo MQTT
Server&type=MQTT&server_ip=
[Link]&server_port=8883&enable_s
sl=true&ssl_version=TLSv1.2&two_way_authen
tication=false&topic=csl/tagdata&clean_session
=true&qos=0

Valid attributes :
type : HTTP, TCP, MQTT
server_port : required if type is TCP or MQTT
client_id : optional depends on MQTT server
username : optional depends on MQTT server
password : optional depends on MQTT server
enable_ssl : true, false, required if type is MQTT
ssl_version : TLSv1.2, TLSv1.1, TLSv1, SSLv3, SSLv2,
required if enable_ssl is true
two_way_authentication : true, false, required if type is
enable_ssl is true
clean_session : true, false, required if type is MQTT
qos : 0 (at most once), 1 (at least once), 2 (exactly
once), required if type is MQTT

result:
<?xml version="1.0" ?>
<CSL>
<Command>setServerID</Command>
<Ack>OK:</Ack>
</CSL>

8.4 session_id=<login_session_id>& Modify host notification url and port to be


command=modServerID& communicated with.
server_id=server_id&
desc=desc& Valid attributes :
type=type& type : HTTP, TCP, MQTT
server_ip=server_ip server_port : required if type is TCP
[&server_port=server_port] client_id : optional depends on MQTT server
[&client_id=client_id] username : optional depends on MQTT server
[&username =username] password : optional depends on MQTT server

© Convergence Systems Limited. All Rights Reserved. 48


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

[&password=password] enable_ssl : true, false, required if type is MQTT


[&enable_ssl=enable_ssl] ssl_version : TLSv1.2, TLSv1.1, TLSv1, SSLv3, SSLv2,
[&ssl_version=ssl_version] required if enable_ssl is true
[&two_way_authentication=two_ two_way_authentication : true, false, required if type is
way_authentication] enable_ssl is true
[&topic=topic] clean_session : true, false, required if type is MQTT
[&clean_session=clean_session] qos : 0 (at most once), 1 (at least once), 2 (exactly
[&qos =qos] once), required if type is MQTT

result:
<?xml version="1.0" ?>
<CSL>
<Command>modServerID</Command>
<Ack>OK:</Ack>
</CSL>

8.5 session_id=<login_session_id>& Remove server from the server list.


command=delServerID&
server_id= server_id e.g.
session_id=<login_session_id>&command=delServerID&serv
er_id=DemoServer

result:
<?xml version="1.0" ?>
<CSL>
<Command>delServerID</Command>
<Ack>OK:</Ack>
</CSL>

8.6 session_id=<login_session_id>& List server table.


command=listServer
e.g.
session_id=<login_session_id>&command=listServer

result:
<?xml version="1.0" ?>
<CSL>
<Command>listServer</Command>
<ServerList>
<Server desc="Demo Http Cloud Server"
server_id="Examp CSL Demo Cloud Server"
server_ip="[Link]
[Link]/WebServiceRESTs/1.0
© Convergence Systems Limited. All Rights Reserved. 49
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

/req/create-update-delete/update-entit
y/tagdata"
server_port=""
type="HTTP" />
<Server desc="Demo TCP Server"
server_id="Demo TCP Server"
server_ip="[Link]"
server_port="9090"
type="TCP" />
</ServerList>
</CSL>

8.7 session_id=<login_session_id>& Upload the SSL certificate of the specified server. The
command=setServerCertificate& certificate must be in PEM format.
server_id=server_id&
serverCertFile=serverCertFile Here below is an example showing how to upload the SSL
certificate via HTTP POST protocol written in C# (printed in
blue color).

HttpClient client = new HttpClient();


var stream = new
FileStream(“C:\\temp\\[Link]”,
[Link]);
var content = new StreamContent(stream);
var requestUri =
“[Link]
mmand=setServerCertificate&server_id=Demo MQTT
Server&serverCertFile=[Link]”;
var response = await [Link](requestUri,
content);

result:
<?xml version="1.0" ?>
<CSL>
<Command>setServerCertificate</Command>
<Ack>OK:</Ack>
</CSL>

8.8 session_id=<login_session_id>& Remove the SSL certificate of the specified server.


command=delServerCertificate&
server_id=server_id e.g.
session_id=<login_session_id>&command=delServerCertificat

© Convergence Systems Limited. All Rights Reserved. 50


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

e&server_id=Demo MQTT Server

result:
<?xml version="1.0" ?>
<CSL>
<Command>delServerCertificate</Command>
<Ack>OK:</Ack>
</CSL>

8.9 session_id=<login_session_id>& Add data format of packet to be sent to server.


command=addDataFormat&
data_format_id=data_format_id e.g.
& session_id=<login_session_id>&command=addDataFormat&d
desc=desc& ata_format_id=ExampleDataFormat&desc=Example Data
format=format Format&format=JSON&field1=RFIDReaderName&label1=rfi
&field{m}=field dReaderName&field2=EthernetMACAddress&label2=ethernet
&label{m}=label MACAddress&field3=NumberOfTags&label3=numberOfTags
[&tagDataField{n}=tagDataFiel &field4=TagDataList&label4=tags&tagDataField1=EPC&tag
d DataLabel1=epc&tagDataField2=AntennaPort&tagDataLabel2
&tagDataLabel{n}=tagDataLabe =antennaPort&tagDataField3=RSSI&tagDataLabel3=rssi&tag
l] DataField4=TimeOfRead&tagDataLabel4=time

Valid attributes :
format : JSON, XML, CSV
field : SequenceNumber,
NumberOfTags,
TagDataList,
RFIDReaderName,
RFIDReaderSerialNumber,
RFIDReaderInternalSerialNumber,
EthernetMACAddress,
WiFiMACAddress,
EthernetMACAddressWithColon,
WiFiMACAddressWithColon,
HeartBeatFlag,
PowerUpFlag,
ReaderErrorFlag,
ReaderErrorCode,

© Convergence Systems Limited. All Rights Reserved. 51


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

ReaderErrorDescription,
ReaderErrorAntennaPort,
ReaderErrorReflectedPower,
ReaderErrorReflectedPowerThreshold,
TimeOfHeartBeat,
TimeOfPowerUp,
TimeOfReaderError,
TimeStampOfHeartBeat,
TimeStampOfPowerUp,
TimeStampOfReaderError,
TimeZone
tagDataField (effective only if field TagDataList exists) :
PC,
EPC,
TidBank,
UserBank,
TimeOfRead,
TimeStampOfRead,
TimeZone,
AntennaPort,
AntennaPort_Number,
RSSI,
RSSI_Number,
Frequency,
Phase,
EventId,
HeartBeatFlag,
PowerUpFlag,
ReaderErrorFlag,
ReaderErrorCode,
ReaderErrorDescription,
ReaderErrorAntennaPort,
ReaderErrorReflectedPower,
ReaderErrorReflectedPowerThrehold,
TimeOfHeartBeat,
TimeOfPowerUp,

© Convergence Systems Limited. All Rights Reserved. 52


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

TimeOfReaderError,
TimeStampOfHeartBeat,
TimeStampOfPowerUp,
TimeStampOfReaderError

result:
<?xml version="1.0" ?>
<CSL>
<Command>addDataFormat</Command>
<Ack>OK:</Ack>
</CSL>

8.10 session_id=<login_session_id>& Modify data format of packet to be sent to server.


command=modDataFormat&
data_format_id=data_format_id e.g.
& session_id=<login_session_id>&command=modDataFormat&
[desc=desc&] data_format_id=ExampleDataFormat&desc=Example Data
format=format Format&format=XML&field1=RFIDReaderName&label1=rfi
&field{m}=field dReaderName&field2=EthernetMACAddress&label2=ethernet
&label{m}=label MACAddress&field3=NumberOfTags&label3=numberOfTags
[&tagDataField{n}=tagDataFiel &field4=TagDataList&label4=tags&tagDataField1=EPC&tag
d DataLabel1=epc&tagDataField2=AntennaPort&tagDataLabel2
&tagDataLabel{n}=tagDataLabe =antennaPort&tagDataField3=RSSI&tagDataLabel3=rssi&tag
l] DataField4=TimeStampOfRead&tagDataLabel4=timeStamp

Valid attributes :
format : JSON, XML, CSV
field : SequenceNumber,
NumberOfTags,
TagDataList,
RFIDReaderName,
RFIDReaderSerialNumber,
RFIDReaderInternalSerialNumber,
EthernetMACAddress,
WiFiMACAddress,
EthernetMACAddressWithColon,
WiFiMACAddressWithColon,
HeartBeatFlag,

© Convergence Systems Limited. All Rights Reserved. 53


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

PowerUpFlag,
ReaderErrorFlag,
ReaderErrorCode,
ReaderErrorDescription,
ReaderErrorAntennaPort,
ReaderErrorReflectedPower,
ReaderErrorReflectedPowerThreshold,
TimeOfHeartBeat,
TimeOfPowerUp,
TimeOfReaderError,
TimeStampOfHeartBeat,
TimeStampOfPowerUp,
TimeStampOfReaderError,
TimeZone
tagDataField (effective only if field TagDataList exists) :
PC,
EPC,
TidBank,
UserBank,
TimeOfRead,
TimeStampOfRead,
TimeZone,
AntennaPort,
AntennaPort_Number,
RSSI,
RSSI_Number,
Frequency,
Phase,
EventId,
HeartBeatFlag,
PowerUpFlag,
ReaderErrorFlag,
ReaderErrorCode,
ReaderErrorDescription,
ReaderErrorAntennaPort,
ReaderErrorReflectedPower,

© Convergence Systems Limited. All Rights Reserved. 54


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

ReaderErrorReflectedPowerThrehold,
TimeOfHeartBeat,
TimeOfPowerUp,
TimeOfReaderError,
TimeStampOfHeartBeat,
TimeStampOfPowerUp,
TimeStampOfReaderError

result:
<?xml version="1.0" ?>
<CSL>
<Command>modDataFormat</Command>
<Ack>OK:</Ack>
</CSL>

8.11 session_id=<login_session_id>& Remove data format.


command=delDataFormat&
data_format_id=data_format_id e.g.
session_id=<login_session_id>&command=delDataFormat&d
ata_format_id=ExampleDataFormat

result:
<?xml version="1.0" ?>
<CSL>
<Command>delDataFormat</Command>
<Ack>OK:</Ack>
</CSL>

8.12 session_id=<login_session_id>& List data format.


command=listDataFormat
e.g.
session_id=<login_session_id>&command=listDataFormat

result:
<?xml version="1.0" ?>
<CSL>
<Command>listDataFormat</Command>
<DataFormatList>
<dataFormat
data_format_id="ExampleDataFormat"
desc="Example Data Format"
field1="RFIDReaderName"
field2="EthernetMACAddress"

© Convergence Systems Limited. All Rights Reserved. 55


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

field3="NumberOfTags"
field4="TagDataList"
format="XML"
label1="rfidReaderName"
label2="ethernetMACAddress"
label3="numberOfTags"
label4="tags"
tagDataField1="EPC"
tagDataField2="AntennaPort"
tagDataField3="RSSI"
tagDataField4="TimeStampOfRead"
tagDataLabel1="epc"
tagDataLabel2="antennaPort"
tagDataLabel3="rssi"
tagDataLabel1="timeStamp" />
</DataFormatList>
</CSL>

© Convergence Systems Limited. All Rights Reserved. 56


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

9. Time & Timer Management


query_string Description

Time and Timer Management

9.1 session_id=<login_session_id>& Set system UTC date time as the parameters pass. Time is in
command=setDateTime& the 24-hours format.
Year=year&Month=month&
Day=day&Hour=hour& e.g.
Minute=minute&Second=second session_id=<login_session_id>&command=setDateTime&Yea
r=2020&Month=5&Day=1&Hour=15&Minute=32&Second=5
8

9.2 session_id=<login_session_id>& Set Time Zone and Daylight Saving Time (DST).
command=setTimeZone& The setting can be read by calling getDateTime command.
time_zone=time_zone&dst=dst
e.g.
session_id=<login_session_id>&command=setTimeZone&
time_zone=08:00&dst=0

Valid attributes :
time_zone=<in hh:mm or -hh:mm format where hh=hour,
mm=minute>
dst=-1,0,1

result:
<?xml version="1.0" ?>
<CSL>
<Command>setTimeZone</Command>
<Ack>OK:</Ack>
</CSL>

9.3 session_id=<login_session_id>& Get date/time in the format of asctime() (ANSI C).


command=getDateTime e.g.
session_id=<login_session_id>&command=getDateTime

© Convergence Systems Limited. All Rights Reserved. 57


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

result:
<?xml version="1.0" ?>
<CSL>
<Command>getDateTime</Command>
<DateTime>Wed Nov 29 09:43:48
2020</DateTime>
<UTCDateTime>Wed Nov 29 01:43:48
2020</UTCDateTime>
<TimeZone>GMT+08:00</TimeZone>
<DaylightSavingTime>0</DaylightSavingTime>
<UpTime>325.23</UpTime>
</CSL>

9.4 session_id=<login_session_id>& Get NTP server information.


command=getNTP e.g.
[Link]
mmand=getNTP

result:
<?xml version="1.0" ?>
<CSL>
<Command>getNTP</Command>
<ntp enable="true" ip1="[Link]"
ip2="[Link]"
mode="Saturday"
time="00:00" />
</CSL>

9.5 session_id=<login_session_id>& Configure NTP server.


command=setNTP e.g.
&ip1=ip1 [Link]
&ip2=ip2 mmand=setNTP&ip1=[Link]&ip2=[Link]
&mode=mode g&mode=Saturday&time=00:00&enable=true

&time=time
&enable=enable Valid attributes :
[&immedidateUpdate=immediate ip1, ip2 : NTP server address in form of dot-notation
Update] [Link] or valid URL
mode : Every, Monday, Tuesday, Wednesday, Thursday,
Friday, Saturday, Sunday
time : in 24-hour form of hh:mm, e.g. 00:00, 23:59
enable : true,false
immedidateUpdate=true (false by default), synchronize the
date/time with time server immediately

© Convergence Systems Limited. All Rights Reserved. 58


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

result:
<?xml version="1.0" ?>
<CSL>
<Command>setNTP</Command>
<Ack>OK:</Ack>
</CSL>

© Convergence Systems Limited. All Rights Reserved. 59


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

10. Tag & Tag Filter Management


# query_string Description

10.1 session_id=<login_session_id>&com ADD TAGGROUP EMPTY GROUPID: Create new tag


mand=newTagGroup&group_id=grou group without tag data
p_id

10.2 session_id=<login_session_id>&com ADD TAG GROUPID EPCID : Add one tag data to tag
mand=addTagGroupMember&group_ group
id=group_id&tag_id=EPCID

10.3 session_id=<login_session_id>&com DEL TAG GROUPID EPCID (delete one tag in tag
mand=delTagGroupMember&group_ group)
id=group_id&tag_id=EPCID

10.4 session_id=<login_session_id>&com DELALL TAG GROUPID (delete all tag data in tag
mand=delTagGroupMemberAll&gro group)
up_id=group_id

10.5 session_id=<login_session_id>&com IMPORT TAG GROUPID


mand=importTagGroup&group_id=gr EPCIDSTRING_CSV_FORMAT (add multiple new tag
oup_id&tagGroupContent=tagGroup data to old tag group, new tag data in CSV format)
Content
10.6. [Link] create new Tag Group in reader and import data from
CSV file in remote PC server.
session_id=<login_session_id>&
tagGroupFilename=tagGroupFilenam Here below is an example showing how to import CSV
e& file via HTTP POST protocol written in C# (printed in
tagGroupContent=tagGroupContent blue color).

HttpClient client = new HttpClient();


var str =
[Link](“C:\\temp\\[Link]”);
var map = new Dictionary<string, string>
© Convergence Systems Limited. All Rights Reserved. 60
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

{
{ “session_id”, “a33219dc” },
{ “tagGroupFilename”, “[Link]” },
{ “tagGroupContent”, str }
}
var content = new FormUrlEncodedContent(map);
var requestUri =
“[Link]
var response = await [Link](requestUri,
content);

result:
<?xml version="1.0" ?>
<CSL>
<Command>importTagGroupCSV</Command
>
<Ack>OK:</Ack>
</CSL>

or

<?xml version="1.0" ?>


<CSL>
<Command>importTagGroupCSV</Command
>
<Ack>Error: Tag Group already existed.
(Remark: Tag Group =
<filename>)</Ack>
</CSL>

10.7 session_id=<login_session_id>& Remove a tag group.


command=delTagGroup& e.g.
group_id=group_id session_id=<login_session_id>&command=delTagGroup
&group_id=DemoGroup

result:
<?xml version="1.0" ?>
<CSL>
<Command>delTagGroup</Command>
<Ack>OK:</Ack>
</CSL>

10.8 session_id=<login_session_id>& List tag group.


command=listTagGroup e.g.

© Convergence Systems Limited. All Rights Reserved. 61


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

session_id=<login_session_id>&command=listEvent

result:
<?xml version="1.0" ?>
<CSL>
<Command>listTagGroup</Command
>
<TagGroupList>
<tagGroup group_id="DemoGroup">
<tag
id="01234567890123456789ABCD"
/>
<tag id="000000020090505095227234"
/>
</tagGroup>
</ TagGroupList>
</CSL>
10.9 session_id=<login_session_id>& Set database configuration.
command=setDatabaseConfiguratio e.g.
n& [Link]
databasePath=databasePath &command=setDatabaseConfiguration&databaseP
ath=%2Frun%2Fmedia%2Fmmcblk2p5%2Fmysql

result:
<?xml version="1.0" ?>
<CSL>
<Command>setDatabaseConfiguration
</Command>
<Ack>OK: </Ack>
</CSL>

10.10 session_id=<login_session_id>& Set database configuration.


command=getDatabaseConfiguratio e.g.
n session_id=<login_session_id>&command=getDatabaseC
onfiguration

result:
<?xml version="1.0" ?>
<CSL>
<Command>getDatabaseConfiguration</Co
mmand>
<Database
path="/run/media/mmcblk2p5/mysql"
/>
</CSL>

© Convergence Systems Limited. All Rights Reserved. 62


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

10.11 session_id=<login_session_id>& Add database.


command=addDatabase& e.g.
databaseName=databaseName [Link]
[&field{n}=field &command=addDatabase&databaseName=Produc

&dataType{n}=datatype] tDB&field1=EPC&dataType1=STRING&field2=Prod
uctId&dataType2=STRING&field3=ProductName&d
ataType3=STRING&field4=ProductPrice&dataType4
=NUMBER

Valid attributes :
dataType : STRING, NUMBER, IMAGE

Note :
A STRING dateType EPC field is always used as the
primary key field in the database. If the HTTP message
does not contain a EPC field, the system adds it.

result:
<?xml version="1.0" ?>
<CSL>
<Command>addDatabase</Command>
<Ack>OK: </Ack>
</CSL>

10.12 session_id=<login_session_id>& Modify database.


command=modDatabase& e.g.
databaseName=databaseName [Link]
[&field{n}=field &command=modDatabase&databaseName=Produ
&dataType{n}=datatype] ctDB&field1=EPC&dataType1=STRING&field2=Pro
ductId&dataType2=STRING&field3=ProductName&
dataType3=STRING&field4=ProductImage&dataTy
pe4=IMAGE&field5=ProductPrice&dataType5=NUM
BER

Valid attributes :
dataType : STRING, NUMBER, IMAGE

Note :
A STRING dateType EPC field is always used as the
© Convergence Systems Limited. All Rights Reserved. 63
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

primary key field in the database. The field should not be


modified.

result:
<?xml version="1.0" ?>
<CSL>
<Command>modDatabase</Command>
<Ack>OK: </Ack>
</CSL>

10.13 session_id=<login_session_id>& Delete database.


command=delDatabase& e.g.
databaseName=databaseName session_id=<login_session_id>&command=delDatabase
&databaseName=ProductDB

result:
<?xml version="1.0" ?>
<CSL>
<Command>delDatabase</Command>
<Ack>OK: </Ack>
</CSL>

10.14 session_id=<login_session_id>& List the field names and the data types of all databases.
command=listDatabase e.g.
session_id=<login_session_id>&command=listDatabase

result:
<?xml version="1.0" ?>
<CSL>
<Command>listDatabase</Command>
<DatabaseList>
<database dataType1="STRING"
dataType2="STRING"
dataType3="IMAGE"
dataType4="NUMBER"
databaseName="ProductDB"
field1="ProductId"
field2="ProductName"
field3="ProductImage"
field4="ProductPrice"
keyDataType="STRING"
keyField="EPC"/>
</DatabaseList>
</CSL>

© Convergence Systems Limited. All Rights Reserved. 64


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

10.15 session_id=<login_session_id>& Add tag record to the database.


command=addTagDatabaseRecord e.g.
&databaseName=databaseName [Link]
&EPC=EPC &command=addTagDatabaseRecord&databaseNa

[&fieldname=value] me=ProductDB&EPC=01234567890123456789AB
CD&ProductId=1234&ProductName=Orange%20Ju
ice&ProductPrice=1.5

Note :
EPC field is always used as the primary key field in the
database. It must be included in the
addTagDatabaseRecord message and must not be null or
empty.
Use setTagDatabaseRecordImage command to set the
image field.

result:
<?xml version="1.0" ?>
<CSL>
<Command>addTagDatabaseRecord</Comm
and>
<Ack>OK: </Ack>
</CSL>

10.16 session_id=<login_session_id>& Modify tag record in the database.


command=modTagDatabaseRecord e.g.
&databaseName=databaseName [Link]
&EPC=EPC &command=modTagDatabaseRecord&databaseNa
[&fieldname=value] me=ProductDB&EPC=01234567890123456789AB
CD&ProductId=1234&ProductName=Orange%20Ju
ice&ProductPrice=1.75

Note :
EPC field is always used as the primary key field in the
database. It must be included in the
modTagDatabaseRecord message and must not be null or
empty.
Use setTagDatabaseRecordImage command to set the
image field.

© Convergence Systems Limited. All Rights Reserved. 65


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

result:
<?xml version="1.0" ?>
<CSL>
<Command>modTagDatabaseRecord</Com
mand>
<Ack>OK: </Ack>
</CSL>

10.17 session_id=<login_session_id>& Delete tag record from the database.


command=delTagDatabaseRecord e.g.
&databaseName=databaseName [Link]
&EPC=EPC &command=delTagDatabaseRecord&databaseNam
e=ProductDB&EPC=01234567890123456789ABCD

Note :
EPC field is always used as the primary key field in the
database. It must be included in the
delTagDatabaseRecord message.

result:
<?xml version="1.0" ?>
<CSL>
<Command>delTagDatabaseRecord</Comm
and>
<Ack>OK: </Ack>
</CSL>

10.18 session_id=<login_session_id>& List tag records in the database.


command=listTagDatabaseRecord e.g.
&databaseName=databaseName [Link]
&command=listTagDatabaseRecord&databaseNam
e=ProductDB

Note :
Use getTagDatabaseRecordImage command to get the
image field.

result:
<?xml version="1.0" ?>
<CSL>
<Command>listTagDatabaseRecord</Comm
© Convergence Systems Limited. All Rights Reserved. 66
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

and>
<TagDatabaseRecordList>
<tagDatabaseRecord
EPC="01234567890123456789ABCD"
ProductId="1234"
ProductName="Orange Juice"
ProductImage=""
ProductPrice="1.75" />
<tagDatabaseRecord
EPC="000000020090505095227234"
ProductId="2345"
ProductName="Apple Juice"
ProductImage=""
ProductPrice="1.65" />
</TagDatabaseRecordList>
</CSL>

10.19 session_id=<login_session_id>& Set an image to the image field of a record in the


command=setTagDatabaseRecordIm database.
age
&databaseName=databaseName Here below is an example showing how to set an image to
&EPC=EPC the image field of a record in the database via HTTP
&imageFieldName=imageFieldName POST protocol written in C# (printed in blue color).
&imageFileExtension=imageFileExte
nsion HttpClient client = new HttpClient();
var stream = new
FileStream(“C:\\temp\\[Link]”,
[Link]);
var content = new StreamContent(stream);
var requestUri =
“[Link]
&command=setTagDatabaseRecordImage&databas
eName=ProductDB&EPC=01234567890123456789
ABCD&imageFieldName=ProductImage&imageFile
Extension=jpg”;
var response = await [Link](requestUri,
content);

result:
<?xml version="1.0" ?>
<CSL>
<Command>setTagDatabaseRecordI
mage</Command>
<Ack>OK:</Ack>
</CSL>
© Convergence Systems Limited. All Rights Reserved. 67
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

10.20 session_id=<login_session_id>& Get the image from a record in the database.


command=getTagDatabaseRecordIm
age Here below is an example showing how to get the image
&databaseName=databaseName from a record in the database via HTTP POST protocol
&EPC=EPC written in C# (printed in blue color).
&imageFieldName=imageFieldName
HttpClient client = new HttpClient();
var requestUri =
“[Link]
&command=getTagDatabaseRecordImage&databa
seName=ProductDB&EPC=0123456789012345678
9ABCD&imageFieldName=ProductImage”;
var response = await [Link](requestUri);
var content = [Link];
if([Link]
ns(“image”))
{
var fileName =
[Link];
var stream =
[Link]().Result;
using (var fileStream = new
FileStream(“C:\\temp\\” + fileName,
[Link], [Link],
[Link]))
{
Await [Link](fileStream);
}
}

10.21 session_id=<login_session_id>& Backup the database and get the backup zip file.
command=databaseBackup e.g.
&databaseName=databaseName [Link]
&command=databaseBackup&databaseName=Pro
ductDB

© Convergence Systems Limited. All Rights Reserved. 68


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

Here below is an example, written in C# (printed in blue


color), showing how to backup database ProductDB and
save it as [Link] in C:\temp.

HttpClient client = new HttpClient();


var requestUri =
“[Link]
ommand=databaseBackup&databaseName=Produ
ctDB”;
var response = await [Link](requestUri);
var stream =
[Link]().Result;
using (var fileStream = new
FileStream(“C:\\temp\\[Link]”,
[Link], [Link],
[Link]))
{
await [Link](fileStream);
}

10.22 session_id=<login_session_id>& Restore the database by loading the backup file to the
command=databaseRestore reader.

Here below is an example showing how to restore the


database via HTTP POST protocol written in C# (printed
in blue color).

HttpClient client = new HttpClient();


var stream = new
FileStream(“C:\\temp\\[Link]”,
[Link]);
var content = new StreamContent(stream);
var requestUri =
“[Link]
ommand=databaseRestore”;
var response = await [Link](requestUri,

© Convergence Systems Limited. All Rights Reserved. 69


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

content);

10.23 session_id=<login_session_id>& Read Temperature in degree Celsius from FM13DT160


command=fm13dt160ReadTemperat tag.
ure
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160Re
&transmitPower=transmitPower adTemperature&linkProfile=1&antennaPort=1&transmitP
&dwellTime=dwellTime ower=30&dwellTime=2000&reflectedPowerThreshold=2
&reflectedPowerThreshold=reflected 4&maskBank=Bank1&mask=E282700100000000000000
PowerThreshold 01&accessPassword=00000000
&maskBank=maskBank
&mask=mask Valid attributes :
&accessPassword=accessPassword linkProfile : 0 = Multipath Interface Resistance
1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160ReadTemperat
ure</Command>
<EPC>E28270010000000000000001</EPC
>
<RSSI>-44.00</RSSI>
<Temperature>26.25</Temperature>
</CSL>
10.24 session_id=<login_session_id>& Read Battery Voltage in volt from FM13DT160 tag.
command=fm13dt160ReadBatteryVo
ltage e.g.
&linkProfile=linkProfile session_id=<login_session_id>&command=fm13dt160Re
&antennaPort=antennaPort adBatteryVoltage&linkProfile=1&antennaPort=1&transmi
&transmitPower=transmitPower tPower=30&dwellTime=2000&reflectedPowerThreshold

© Convergence Systems Limited. All Rights Reserved. 70


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

&dwellTime=dwellTime =24&maskBank=Bank1&mask=E2827001000000000000
&reflectedPowerThreshold=reflected 0001&accessPassword=00000000
PowerThreshold
&maskBank=maskBank Valid attributes :
&mask=mask linkProfile : 0 = Multipath Interface Resistance
&accessPassword=accessPassword 1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160ReadBatteryVolt
age</Command>
<BatteryVoltage>1.47</BatteryVoltage
>
<EPC>E28270010000000000000001</EPC
>
<RSSI>-44.00</RSSI>
</CSL>

10.25 session_id=<login_session_id>& Read External Voltage in volt from FM13DT160 tag.


command=fm13dt160ReadExtVoltag
e e.g.
&linkProfile=linkProfile session_id=<login_session_id>&command=fm13dt160Re
&antennaPort=antennaPort adExtVoltage&linkProfile=1&antennaPort=1&transmitPo
&transmitPower=transmitPower wer=30&dwellTime=2000&reflectedPowerThreshold=24
&dwellTime=dwellTime &maskBank=Bank1&mask=E2827001000000000000000
&reflectedPowerThreshold=reflected 1&accessPassword=00000000
PowerThreshold
&maskBank=maskBank Valid attributes :
&mask=mask linkProfile : 0 = Multipath Interface Resistance
&accessPassword=accessPassword 1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput

© Convergence Systems Limited. All Rights Reserved. 71


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160ReadExtVol
tage</Command>
<EPC>E28270010000000000000001</EPC
>
<ExtVoltage>1.47</ExtVoltage>
<RSSI>-44.00</RSSI>
</CSL>

10.26 session_id=<login_session_id>& Read External Sensor Voltage in volt from FM13DT160


command=fm13dt160ReadExtSensor tag.
Voltage
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160Re
&transmitPower=transmitPower adExtSensorVoltage&linkProfile=1&antennaPort=1&tran
&dwellTime=dwellTime smitPower=30&dwellTime=2000&reflectedPowerThresh
&reflectedPowerThreshold=reflected old=24&maskBank=Bank1&mask=E2827001000000000
PowerThreshold 0000001&accessPassword=00000000
&maskBank=maskBank
&mask=mask Valid attributes :
&accessPassword=accessPassword linkProfile : 0 = Multipath Interface Resistance
1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3

result:
<?xml version="1.0" ?>
© Convergence Systems Limited. All Rights Reserved. 72
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

<CSL>
<Command>fm13dt160ReadExtSensorVolt
age</Command>
<EPC>E28270010000000000000001</EP
C>
<ExtSensorVoltage>1.47</ExtSensorVoltage
>
<RSSI>-44.00</RSSI>
</CSL>

10.27 session_id=<login_session_id>& Read data from memory in FM13DT160 tag.


command=fm13dt160ReadMemory
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160Re
&transmitPower=transmitPower adMemory&linkProfile=1&antennaPort=1&transmitPowe
&dwellTime=dwellTime r=30&dwellTime=2000&reflectedPowerThreshold=24&
&reflectedPowerThreshold=reflected maskBank=Bank1&mask=E28270010000000000000001
PowerThreshold &accessPassword=00000000&address=b040&length=4
&maskBank=maskBank
&mask=mask Valid attributes :
&accessPassword=accessPassword linkProfile : 0 = Multipath Interface Resistance
&address=address 1 = Range/Dense Reader
&length=length 2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3
address : 0000 – C1FC, hex value and must be
divisible by 4
length : 0 – 500, must be a multiple of 4

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160ReadMe
mory</Command>
<Data>4FB030CF</Data>
<EPC>E28270010000000000000001</EP
C>
<RSSI>-44.00</RSSI>
</CSL>
© Convergence Systems Limited. All Rights Reserved. 73
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

10.28 session_id=<login_session_id>& Write data to memory in FM13DT160 tag.


command=fm13dt160WriteMemory
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160W
&transmitPower=transmitPower riteMemory&linkProfile=1&antennaPort=1&transmitPow
&dwellTime=dwellTime er=30&dwellTime=2000&reflectedPowerThreshold=24&
&reflectedPowerThreshold=reflected maskBank=Bank1&mask=E28270010000000000000001
PowerThreshold &accessPassword=00000000&address=0&data=8C9F7E6
&maskBank=maskBank 0
&mask=mask
&accessPassword=accessPassword Valid attributes :
&address=address linkProfile : 0 = Multipath Interface Resistance
&length=length 1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3
address : 0000 – C1FF, hex value
data : hex string, at most 4 bytes

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160WriteMe
mory</Command>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EP
C>
<RSSI>-44.00</RSSI>
</CSL>

10.29 session_id=<login_session_id>& Read user_cfg data from FM13DT160 tag.


command=fm13dt160ReadUserCfg
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160Re

© Convergence Systems Limited. All Rights Reserved. 74


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

&transmitPower=transmitPower adUserCfg&linkProfile=1&antennaPort=1&transmitPowe
&dwellTime=dwellTime r=30&dwellTime=2000&reflectedPowerThreshold=24&
&reflectedPowerThreshold=reflected maskBank=Bank1&mask=E28270010000000000000001
PowerThreshold &accessPassword=00000000&user_cfg=0
&maskBank=maskBank
&mask=mask Valid attributes :
&accessPassword=accessPassword linkProfile : 0 = Multipath Interface Resistance
&user_cfg=user_cfg 1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3
user_cfg : 0–3

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160ReadUser
Cfg</Command>
<Data>4F</Data>
<EPC>E28270010000000000000001</EP
C>
<RSSI>-44.00</RSSI>
</CSL>

10.30 session_id=<login_session_id>& Write user_cfg data to FM13DT160 tag.


command=fm13dt160WriteUserCfg
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160W
&transmitPower=transmitPower riteUserCfg&linkProfile=1&antennaPort=1&transmitPow
&dwellTime=dwellTime er=30&dwellTime=2000&reflectedPowerThreshold=24&
&reflectedPowerThreshold=reflected maskBank=Bank1&mask=E28270010000000000000001
PowerThreshold &accessPassword=00000000&user_cfg=1&data=30
&maskBank=maskBank
&mask=mask Valid attributes :
&accessPassword=accessPassword linkProfile : 0 = Multipath Interface Resistance

© Convergence Systems Limited. All Rights Reserved. 75


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

&user_cfg=user_cfg 1 = Range/Dense Reader


&data =data 2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3
user_cfg : 0–3
data : 00 – FF, hex value, 1 byte only

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160WriteUse
rCfg</Command>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EP
C>
<RSSI>-44.00</RSSI>
</CSL>

10.31 session_id=<login_session_id>& Read data from register in FM13DT160 tag.


command=fm13dt160ReadReg
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160Re
&transmitPower=transmitPower adReg&linkProfile=1&antennaPort=1&transmitPower=3
&dwellTime=dwellTime 0&dwellTime=2000&reflectedPowerThreshold=24&mas
&reflectedPowerThreshold=reflected kBank=Bank1&mask=E28270010000000000000001&ac
PowerThreshold cessPassword=00000000&address=c000
&maskBank=maskBank
&mask=mask Valid attributes :
&accessPassword=accessPassword linkProfile : 0 = Multipath Interface Resistance
&address=address 1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms

© Convergence Systems Limited. All Rights Reserved. 76


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm


maskBank : Bank0, Bank1, Bank2, Bank3
address : c000 – c0ff, hex value

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160ReadReg</Comma
nd>
<Data>0600</Data>
<EPC>E28270010000000000000001</EP
C>
<RSSI>-44.00</RSSI>
</CSL>

10.32 session_id=<login_session_id>& Write data to register in FM13DT160 tag.


command=fm13dt160WriteReg
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160W
&transmitPower=transmitPower riteReg&linkProfile=1&antennaPort=1&transmitPower=3
&dwellTime=dwellTime 0&dwellTime=2000&reflectedPowerThreshold=24&mas
&reflectedPowerThreshold=reflected kBank=Bank1&mask=E28270010000000000000001&ac
PowerThreshold cessPassword=00000000&address=c000&data=0600
&maskBank=maskBank
&mask=mask Valid attributes :
&accessPassword=accessPassword linkProfile : 0 = Multipath Interface Resistance
&address=address 1 = Range/Dense Reader
&data =data 2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3
address : c000 – c0ff, hex value
data : 0000 – ffff, hex value

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160WriteReg</Comma
© Convergence Systems Limited. All Rights Reserved. 77
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

nd>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EP
C>
<RSSI>-44.00</RSSI>
</CSL>

10.33 session_id=<login_session_id>& Send Deep Sleep command to FM13DT160 tag.


command=fm13dt160DeepSleep
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160De
&transmitPower=transmitPower epSleep&linkProfile=1&antennaPort=1&transmitPower=
&dwellTime=dwellTime 30&dwellTime=2000&reflectedPowerThreshold=24&ma
&reflectedPowerThreshold=reflected skBank=Bank1&mask=E28270010000000000000001&ac
PowerThreshold cessPassword=00000000&enable=true
&maskBank=maskBank
&mask=mask Valid attributes :
&accessPassword=accessPassword linkProfile : 0 = Multipath Interface Resistance
&enable=enable 1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3
enable : true, false

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160DeepSleep</Comman
d>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EP
C>
<RSSI>-44.00</RSSI>
</CSL>

10.34 session_id=<login_session_id>& Send Op_Mode_Chk command to FM13DT160 tag.


command=fm13dt160OpModeChk
&linkProfile=linkProfile e.g.
© Convergence Systems Limited. All Rights Reserved. 78
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160O
&transmitPower=transmitPower pModeChk&linkProfile=1&antennaPort=1&transmitPow
&dwellTime=dwellTime er=30&dwellTime=2000&reflectedPowerThreshold=24&
&reflectedPowerThreshold=reflected maskBank=Bank1&mask=E28270010000000000000001
PowerThreshold &accessPassword=00000000&refreshTempMeasurement
&maskBank=maskBank =false
&mask=mask
&accessPassword=accessPassword Valid attributes :
&refreshTempMeasurement=refreshT linkProfile : 0 = Multipath Interface Resistance
empMeasurement 1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3
refreshTempMeasurement : true, false

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160OpModeChk</Comma
nd>
<EPC>E28270010000000000000001</EPC>
<OpMode>user_access_en,vbat_pwr_
flag</OpMode>
<RSSI>-44.00</RSSI>
</CSL>

OpMode :
user_access_en : user has valid access right
rtc_logging : RTC logging in progress
vdet_process_flag : instant temperature measurement is
interrupted
light_chk_flag : light strength over preset value
vbat_pwr_flag : battery voltage is higher than 0.9V

© Convergence Systems Limited. All Rights Reserved. 79


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

10.35 session_id=<login_session_id>& Send Initial Regfile command to FM13DT160 tag.


command=fm13dt160InitialRegfile
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160Ini
&transmitPower=transmitPower tialRegfile&linkProfile=1&antennaPort=1&transmitPowe
&dwellTime=dwellTime r=30&dwellTime=2000&reflectedPowerThreshold=24&
&reflectedPowerThreshold=reflected maskBank=Bank1&mask=E28270010000000000000001
PowerThreshold &accessPassword=00000000
&maskBank=maskBank
&mask=mask Valid attributes :
&accessPassword=accessPassword linkProfile : 0 = Multipath Interface Resistance
1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160InitialRe
gfile</Command>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EPC
>
<RSSI>-44.00</RSSI>
</CSL>

10.36 session_id=<login_session_id>& Send Led Ctrl command to FM13DT160 tag.


command=fm13dt160LedCtrl
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160Le
&transmitPower=transmitPower dCtrl&linkProfile=1&antennaPort=1&transmitPower=30
&dwellTime=dwellTime &dwellTime=2000&reflectedPowerThreshold=24&mask
&reflectedPowerThreshold=reflected Bank=Bank1&mask=E28270010000000000000001&acce
PowerThreshold ssPassword=00000000&enable=true

© Convergence Systems Limited. All Rights Reserved. 80


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

&maskBank=maskBank
&mask=mask Valid attributes :
&accessPassword=accessPassword linkProfile : 0 = Multipath Interface Resistance
&enable=enable 1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3
enable : true, false

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160LedCtrl</Command>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EPC
>
<RSSI>-44.00</RSSI>
</CSL>

10.37 session_id=<login_session_id>& Send Start Logging command to FM13DT160 tag.


command=fm13dt160StartLogging
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160St
&transmitPower=transmitPower artLogging&linkProfile=1&antennaPort=1&transmitPow
&dwellTime=dwellTime er=30&dwellTime=2000&reflectedPowerThreshold=24&
&reflectedPowerThreshold=reflected maskBank=Bank1&mask=E28270010000000000000001
PowerThreshold &accessPassword=00000000&startDelay=5&timeStep=3
&maskBank=maskBank 0&sampleNumber=5&sampleFlash=true&sampleFlashLe
&mask=mask ngth=1&outOfLimitFlash=true&outOfLimitFlashLength=
&accessPassword=accessPassword 0.5&outOfLimitFlashNumber=3&loggingMode=Out_Of_
&startDelay=startDelay Range_Only&minLimit=0&maxLimit=20
&timeStep=timeStep
&sampleNumber=sampleNumber Valid attributes :
&sampleFlash=sampleFlash linkProfile : 0 = Multipath Interface Resistance
[&sampleFlashLength=sampleFlashL 1 = Range/Dense Reader

© Convergence Systems Limited. All Rights Reserved. 81


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

ength] 2 = Range/Throughput/Dense Reader


[&outOfLimitFlash=outOfLimitFlash 3 = Max Throughput
&outOfLimitFlashLength=outOfLimit antennaPort : 1 – 16
FlashLength transmitPower : 0.0 – 32.0 in step of 0.1 dBm
&outOfLimitFlashNumber=outOfLim dwellTime : unit=ms, >= 0ms
itFlashNumber] reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
&loggingMode=loggingMode maskBank : Bank0, Bank1, Bank2, Bank3
[&minLimit=minLimit startDelay : unit minute, 0 – 65535, time delay to start
&maxLimit=maxLimit] logging after command is received
timeStep : unit second, 1 – 65535, time interval
between each temperature measurement
sample
sampleNumber : 1 – 4864, number of samples to be
taken
sampleFlash : true, false, LED flash after each sampling
sampleFlashLength : unit second, 0.1 – 1.6, LED flash
time duration after each
sampling
outOfLimitFlash : true, false, LED flash if temperature
sample is lower than the
minLimit or higher than the maxLimit
outOfLimitFlash : unit second, 0.1 – 1.6, LED flash
time duration if temperature sample
is out of the preset limit
outOfLimitFlashNumber : 1 – 15, number of flashes if
temperature sample is out
of the preset limit
loggingMode : Normal, Out_Of_Range_Only
minLimit : unit degree Celsius, -127.75 – 127.75
maxLimit : unit degree Celsius, -127.75 – 127.75

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160StartLog
ging</Command>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EPC
>
© Convergence Systems Limited. All Rights Reserved. 82
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

<RSSI>-44.00</RSSI>
</CSL>

10.38 session_id=<login_session_id>& Send Stop Logging command to FM13DT160 tag.


command=fm13dt160StopLogging
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160St
&transmitPower=transmitPower opLogging&linkProfile=1&antennaPort=1&transmitPowe
&dwellTime=dwellTime r=30&dwellTime=2000&reflectedPowerThreshold=24&
&reflectedPowerThreshold=reflected maskBank=Bank1&mask=E28270010000000000000001
PowerThreshold &accessPassword=00000000
&maskBank=maskBank
&mask=mask Valid attributes :
&accessPassword=accessPassword linkProfile : 0 = Multipath Interface Resistance
1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160StopLogg
ing</Command>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EPC
>
<RSSI>-44.00</RSSI>
</CSL>

10.39 session_id=<login_session_id>& Send Get Logging command to FM13DT160 tag.


command=fm13dt160GetLogging
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=fm13dt160Ge
&transmitPower=transmitPower tLogging&linkProfile=1&antennaPort=1&transmitPower
&dwellTime=dwellTime =30&dwellTime=2000&reflectedPowerThreshold=24&m

© Convergence Systems Limited. All Rights Reserved. 83


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

&reflectedPowerThreshold=reflected askBank=Bank1&mask=E28270010000000000000001&a
PowerThreshold ccessPassword=00000000
&maskBank=maskBank
&mask=mask Valid attributes :
&accessPassword=accessPassword linkProfile : 0 = Multipath Interface Resistance
1 = Range/Dense Reader
2 = Range/Throughput/Dense Reader
3 = Max Throughput
antennaPort : 1 – 16
transmitPower : 0.0 – 32.0 in step of 0.1 dBm
dwellTime : unit=ms, >= 0ms
reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3

result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160GetLogging</Comma
nd>
<EPC>E28270010000000000000001</EPC>
<RSSI>-44.00</RSSI>
<LocalStartTime>Tue Apr 20 17:26:56
2021</LocalStartTime>
<UTCStartTime>Tue Apr 20 09:26:56
2021</UTCStartTime>
<StartDelay>5</StartDelay>
<StartDelayUnit>minute</StartDelayUni
t>
<TimeStep>30</TimeStep>
<TimeStepUnit>second</TimeStepUnit
>
<LoggingMode>Out_Of_Range_Only
</LoggingMode>
<MinLimit>0</MinLimit>
<MaxLimit>20</MaxLimit>
<LogList>
<log temperature="22.25"
localTime="Tue Apr 20 17:31:56 2021"
utcTime="Tue Apr 20 09:31:56 2021"
/>
<log temperature="22.50"
localTime="Tue Apr 20 17:32:26 2021"
utcTime="Tue Apr 20 09:32:26 2021"
/>
<log temperature="22.50"
localTime="Tue Apr 20 17:32:56 2021"
utcTime="Tue Apr 20 09:32:56 2021"
/>

© Convergence Systems Limited. All Rights Reserved. 84


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

<log temperature="22.25"
localTime="Tue Apr 20 17:33:26 2021"
utcTime="Tue Apr 20 09:33:26 2021"
/>
<log temperature="22.50"
localTime="Tue Apr 20 17:33:56 2021"
utcTime="Tue Apr 20 09:33:56 2021"
/>
</LogList>
</CSL>

10.40 session_id=<login_session_id>& Read tag data.


command=readTag
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=readTag&link
&transmitPower=transmitPower Profile=1&antennaPort=1&transmitPower=30&dwellTim
&dwellTime=dwellTime e=2000&reflectedPowerThreshold=24&maskBank=Bank
&reflectedPowerThreshold=reflected 1&mask=E28270010000000000000001&accessPassword
PowerThreshold =00000000&readAccessPassword=true&readKillPasswor
&maskBank=maskBank d=true&readTidBank=true&tidBankOffset=0&tidBankLe
&mask=mask ngth=2&readUserBank=true&userBankOffset=0&userBa
&accessPassword=accessPassword nkLength=2
&readAccessPassword=readAccessP
assword Valid attributes :
&readKillPassword=readKillPasswor linkProfile : 0 = Multipath Interface Resistance
d 1 = Range/Dense Reader
&readTidBank=readTidBank 2 = Range/Throughput/Dense Reader
[&tidBankOffset=tidBankOffset 3 = Max Throughput
&tidBankLength=tidBankLength] antennaPort : 1 – 16
&readUserBank=readUserBank transmitPower : 0.0 – 32.0 in step of 0.1 dBm
[&userBankOffset=userBankOffset dwellTime : unit=ms, >= 0ms
&userBankLength=userBankLength] reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
maskBank : Bank0, Bank1, Bank2, Bank3
readAccessPassword : true, false
readKillPassword : true, false
readTidBank : true, false
readUserBank : true, false

result:
<?xml version="1.0" ?>
<CSL>
© Convergence Systems Limited. All Rights Reserved. 85
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

<Command>readTag</Command>
<PC>3000</PC>
<EPC>E28270010000000000000001</EPC>
<AccessPassword>00000000</AccessPassword
>
<KillPassword>00000000</KillPassword>
<TidBank>E2827001</TidBank>
<UserBank>33192F61</UserBank>
</CSL>

10.41 session_id=<login_session_id>& Write tag data.


command=writeTag
&linkProfile=linkProfile e.g.
&antennaPort=antennaPort session_id=<login_session_id>&command=writeTag&lin
&transmitPower=transmitPower kProfile=1&antennaPort=1&transmitPower=30&dwellTi
&dwellTime=dwellTime me=2000&reflectedPowerThreshold=24&maskBank=Ban
&reflectedPowerThreshold=reflected k1&mask=616161616000000000000000&accessPasswor
PowerThreshold d=00000000&writePC=true&newPC=3000&writeEPC=tr
&maskBank=maskBank ue&newEPC=626263636000000000000000&writeTidBa
&mask=mask nk=true&newTidBankOffset=0&newTidBank=E2801160
&accessPassword=accessPassword
[&writePC=writePC Valid attributes :
&newPC=newEPC] linkProfile : 0 = Multipath Interface Resistance
[&writeEPC=writeEPC 1 = Range/Dense Reader
&newEPC=newEPC] 2 = Range/Throughput/Dense Reader
[&writeAccessPassword=writeAccess 3 = Max Throughput
Password antennaPort : 1 – 16
&newAccessPassword=newAccessPa transmitPower : 0.0 – 32.0 in step of 0.1 dBm
ssword] dwellTime : unit=ms, >= 0ms
[&writeKillPassword=writeKillPassw reflectedPowerThreshold : 1.0 – 32.0 in step of 0.1 dBm
ord maskBank : Bank0, Bank1, Bank2, Bank3
&newKillPassword=newKillPasswor writeAccessPassword : true, false
d] writeKillPassword : true, false
[&writeTidBank=writeTidBank writeTidBank : true, false
&newTidBankOffset=newTidBankOff writeUserBank : true, false
set
&newTidBank=newTidBank] result:
[&writeUserBank=writeUserBank <?xml version="1.0" ?>
<CSL>
&newUserBankOffset=newBankOffse <Command>writeTag</Command>
<PC>3000</PC>

© Convergence Systems Limited. All Rights Reserved. 86


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

t <EPC>616161616000000000000000</EPC>
<WritePC>OK</WritePC>
&newUserBank=newUserBank] <WriteEPC>OK</WriteEPC>
<WriteTidBank>Error</WriteTidBank>
</CSL>

10.42 session_id=<login_session_id>& Add Tag Filter.


command=addTagFilter
&tag_filter_id=tag_filter_id e.g.
&type=type [Link]
&bank=bank &command=addTagFilter&tag_filter_id=Pre%20Filt
&offset=offset er%201&type=PRE_FILTER&bank=Bank1&offset=

&mask=mask 0&mask=6161&action=0

&action=action
Valid attributes :
type : PRE_FILTER, POST_FILTER
bank : Bank0, Bank1, Bank2, Bank3
offset : unit = bits
action :
If type is PRE_FILTER :

Tag Not
Action Tag Matching
Matching
assert SL or deassert SL or
0
inventoried -> A inventoried -> B
assert SL or
1 do nothing
inventoried -> A
deassert SL or
2 do nothing
inventoried -> B
negate SL or (A -> B,
3 do nothing
B -> A)
deassert SL or assert SL or
4
inventoried -> B inventoried -> A
deassert SL or
5 do nothing
inventoried -> B
assert SL or
6 do nothing
inventoried -> A
negate SL or (A
7 do nothing
-> B, B -> A)

If type is POST_FILTER :
action 0 = Match mask

© Convergence Systems Limited. All Rights Reserved. 87


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

action 1 = Not match mask

result:
<?xml version="1.0" ?>
<CSL>
<Command>addTagFilter</Command>
<Ack>OK:</Ack>
</CSL>

10.43 session_id=<login_session_id>& Modiy Tag Filter.


command=modTagFilter
&tag_filter_id=tag_filter_id e.g.
&type=type [Link]
&bank=bank &command=modTagFilter&tag_filter_id=Pre%20Fil

&offset=offset ter%201&type=PRE_FILTER&bank=Bank1&offset=

&mask=mask 0&mask=6262&action=0

&action=action
Valid attributes :
type : PRE_FILTER, POST_FILTER
bank : Bank0, Bank1, Bank2, Bank3
offset : unit = bits
action :
If type is PRE_FILTER :

Tag Not
Action Tag Matching
Matching
assert SL or deassert SL or
0
inventoried -> A inventoried -> B
assert SL or
1 do nothing
inventoried -> A
deassert SL or
2 do nothing
inventoried -> B
negate SL or (A -> B,
3 do nothing
B -> A)
deassert SL or assert SL or
4
inventoried -> B inventoried -> A
deassert SL or
5 do nothing
inventoried -> B
assert SL or
6 do nothing
inventoried -> A
negate SL or (A
7 do nothing
-> B, B -> A)

© Convergence Systems Limited. All Rights Reserved. 88


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

If type is POST_FILTER :
action 0 = Match mask
action 1 = Not match mask

result:
<?xml version="1.0" ?>
<CSL>
<Command>modTagFilter</Command>
<Ack>OK:</Ack>
</CSL>

10.44 session_id=<login_session_id>& Delete Tag Filter


command=delTagFilter
&tag_filter_id=tag_filter_id e.g.
[Link]
&command=delTagFilter&tag_filter_id=Pre%20Filt
er%201

result:
<?xml version="1.0" ?>
<CSL>
<Command>delTagFilter</Command>
<Ack>OK:</Ack>
</CSL>

10.45 session_id=<login_session_id>& List Tag Filter


command=listTagFilter
e.g.
[Link]
&command=delTagFilter&tag_filter_id=Pre%20Filt
er%201

result:
<?xml version="1.0" ?>
<CSL>
<Command>listTagFilter</Command>
<TagFilterList>
<tagfilter action="0"
bank="Bank1"
mask="6161"
offset="0"
tag_filter_id="Pre Filter 1"
type="PRE_FILTER" />
© Convergence Systems Limited. All Rights Reserved. 89
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

<tagfilter action="1"
bank="Bank3"
mask="3005"
offset="0"
tag_filter_id="Post Filter 1"
type="POST_FILTER" />
</TagFilterList>
</CSL>

© Convergence Systems Limited. All Rights Reserved. 90


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

11. GPIO Management


11.1 session_id=<login_session_id>& Set the output port port to the logic value oper_logic.
command=runIO_output&
port=port& e.g.
oper_logic=oper_logic [Link]
mand=runIO_output&port=1&oper_logic=1

result:
<?xml version="1.0" ?>
<CSL>
<Command>runIO_output</Command>
<Ack>OK:</Ack>
</CSL>

Valid attributes :
port : 1,2,3,4
oper_logic : 0,1

11.2 session_id=<login_session_id>& Set the output port to the logic value logic.
command=runIO_output8bits&
logic=logic e.g.
[Link]
mand=runIO_output8bits&logic=0F

result:
<?xml version="1.0" ?>
<CSL>
<Command>runIO_output8bits</Command>
<Ack>OK:</Ack>
</CSL>

Valid attributes :
logic : 2 hex digits, i.e. 00 - 0F

© Convergence Systems Limited. All Rights Reserved. 91


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

11.3 session_id=<login_session_id>& Get input status from I/O ports.


command=runIO_input
e.g.1 Synchronized mode
[Link]
mand=runIO_input

result:
<?xml version="1.0" ?>
<CSL>
<Command>runIO_input</Command>
<Input input_logic_list="0,1,0,0"
port_list="1,2,3,4" />
</CSL>

i.e.
port1 : logic ‘0’
port2 : logic ‘1’
port3 : logic ‘0’
port4 : logic ‘0’

The 0 or 1 in the input_logic_list represents the corresponding


logic of port number (port 1-4) in the port_list.

11.4 session_id=<login_session_id>& Set or reset the output port port according to the logic
command=directIOOutput& oper_logic (without login).
port=port&
oper_logic=oper_logic& e.g.
username=username& [Link]
passwor=password &port=1&oper_logic=1&username=root&password=csl

result:
<?xml version="1.0" ?>
<CSL>
<Command>directIOOutput</Command>
<Ack>OK:</Ack>
</CSL>

Valid attributes :
port : 1,2,3,4
oper_logic : 0,1

© Convergence Systems Limited. All Rights Reserved. 92


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

11.5 session_id=<login_session_id>& Set or reset the output port port according to the logic
command=directIOOutput8bits& oper_logic (without login).
logic=logic&
username=username& e.g.
passwor=password [Link]
8bits&logic=0F&username=root&password=csl

result:
<?xml version="1.0" ?>
<CSL>
<Command>directIOOutput8bits</Command>
<Ack>OK:</Ack>
</CSL>

Valid attributes :
logic : 2 hex digits, i.e. 00 - 0F

11.6 session_id=<login_session_id>& Get input status from I/O ports (without login).
command=directIOInput&
username=username& e.g.1 Synchronized mode
passwor=password [Link]
sername=root&password=csl

result:
<?xml version="1.0" ?>
<CSL>
<Command>directIOInput</Command>
<Input input_logic_list="0,1,0,0"
port_list="1,2,3,4" />
</CSL>

Valid attributes :
The 0 or 1 in the input_logic_list represents the corresponding
logic of port number (port 1-4) in the port_list.

© Convergence Systems Limited. All Rights Reserved. 93


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

12. Events Management

Events Management

12.1 session_id=<login_session_id> Create a triggering logic in <TriggeringLogic> table.


&
command=addTriggeringLogic e.g.1 This mode is used for “InventoryEnablingTrigger” or
& “Trigger Logic” in Event definition
logic_id=logic_id& [Link]
desc=desc& mand=addTriggeringLogic&logic_id=DemoTrigger&desc
mode=mode =Demo Trigger&mode=Read Any Tags (any ID, 1 trigger

[&logic=logic] per tag)

[&state_mode=state_mode]
[&capturePoint=capturePoint] e.g.2
[&referenceTagId=ref_tag] [Link]
mand=addTriggeringLogic&logic_id=Sensor1&desc=Se
snor 1&mode=Input Sensor
State&logic=Sensor1:0&state_mode=CHANGE

e.g.3 This mode is used for “InventoryDisablingTrigger” with


reference tag in Event definition
[Link]
mand=addTriggeringLogic&logic_id=NoTagAndStop&de
sc=Stop Inventory if no tag read more than 2
seconds&mode=No Tag Read in Specified Time
Span&logic=2000&referenceTagId=012345678901234
56789ABCD

e.g.4
[Link]
mand=addTriggeringLogic&logic_id=TagTest&desc=Tag
Read test&mode=Tag Group Filtering&logic=TagGroup1

© Convergence Systems Limited. All Rights Reserved. 94


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

Valid attributes :
mode : Read Any Tags (any ID, 1 trigger per tag),
Input Sensor State,
No Tag Read in Specified Time Span,
Trigger in Tag Group,
Trigger in Tag Database,
Trigger if RSSI larger than or equal to,
Trigger if Moisture is larger than or equal to,
Trigger if Moisture is less than or equal to,
Trigger if Temperature is larger than or equal to,
Trigger if Temperature is less than or equal to,
Specified Time Span elapsed,

If mode==Input Sensor State


logic=Sensor and input level in form of 'Sensor[n]:[0,1]' where
n=1,2,3,4. eg. Sensor1:0 ==> Sensor1 with input in high level,
Sensor2:1 ==> Sensor2 with input in low level

If mode==No Tag Read in Specified Time Span


logic=<time span in which no tag read, unit:ms>, refer to e.g.3
referenceTagId=<EPC>, EPC of the reference tag, which is
ignore in counting the time

If mode==Trigger in Tag Group


logic=<Tag Group>, refer to e.g.4

If mode==Trigger if RSSI larger than or equal to,


Trigger if Moisture is larger than or equal to,
Trigger if Moisture is less than or equal to,
Trigger if Temperature is larger than or equal to,
Trigger if Temperature is less than or equal to
logic=<threshold value>

state_mode : CHANGE = sensor input is changed to the


specified logic
LEVEL = sensor input meets the specified

© Convergence Systems Limited. All Rights Reserved. 95


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

logic

capturePoint : 1 – 16, any combinations with comma


separated

result:
<?xml version="1.0" ?>
<CSL>
<Command>addTriggeringLogic</Command>
<Ack>OK:</Ack>
</CSL>

12.2 session_id=<login_session_id> Modify an existing triggering logic in <TriggeringLogic> table


& by logic_id.
command=modTriggeringLogic
& e.g.1 modify capture point
logic_id=logic_id [Link]
[&desc=desc] mand=modTriggeringLogic&logic_id=DemoTrigger&cap
[&mode=mode] turePoint=1,3

[&logic=logic]
[&state_mode=state_mode] e.g.2 modify desc
[&capture_point=capture_point] [Link]
[&referenceTagId=ref_tag] mand=modTriggeringLogic&logic_id=DemoTrigger&des
c=ModifiedDemoTrigger

Valid attributes :
mode : Read Any Tags (any ID, 1 trigger per tag),
Input Sensor State,
No Tag Read in Specified Time Span,
Trigger in Tag Group,
Trigger in Tag Database,
Trigger if RSSI larger than or equal to,
Trigger if Moisture is larger than or equal to,
Trigger if Moisture is less than or equal to,
Trigger if Temperature is larger than or equal to,
Trigger if Temperature is less than or equal to,
Specified Time Span elapsed,

© Convergence Systems Limited. All Rights Reserved. 96


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

If mode==Input Sensor State


logic=Sensor and input level in form of 'Sensor[n]:[0,1]' where
n=1,2,3,4. eg. Sensor1:0 ==> Sensor1 with input in high level,
Sensor2:1 ==> Sensor2 with input in low level

If mode==No Tag Read in Specified Time Span


logic=<time span in which no tag read, unit:ms>, refer to e.g.3
referenceTagId=<EPC>, EPC of the reference tag, which is
ignore in counting the time

If mode==Trigger in Tag Group


logic=<Tag Group>, refer to e.g.5

If mode==Trigger if RSSI larger than or equal to,


Trigger if Moisture is larger than or equal to,
Trigger if Moisture is less than or equal to,
Trigger if Temperature is larger than or equal to,
Trigger if Temperature is less than or equal to
logic=<threshold value>

state_mode : CHANGE = sensor input is changed to the


specified logic
LEVEL = sensor input meets the specified
logic

capturePoint : 1 – 16, any combinations with comma


separated

result:
<?xml version="1.0" ?>
<CSL>
<Command>modTriggeringLogic</Command>
<Ack>OK:</Ack>
</CSL>

12.3 session_id=<login_session_id> Remove a triggering logic from the <TriggeringLogic> table.


&
command=delTriggeringLogic e.g.

© Convergence Systems Limited. All Rights Reserved. 97


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

& session_id=<login_session_id>&command=delTriggeringLogi
logic_id=logic_id c&logic _id=logic1

result:
<?xml version="1.0" ?>
<CSL>
<Command>delTriggeringLogic</Command>
<Ack>OK:</Ack>
</CSL>
12.4 session_id=<login_session_id> List Triggering Logic table.
&
command=listTriggeringLogic e.g.
session_id=<login_session_id>&command=listTriggeringLogi
c

result:
<?xml version="1.0" ?>
<CSL>
<Command>listTriggeringLogic</Command>
<TriggeringLogic>
<logic capture_point="1234"
desc="Read Burn-in Trigger Logic"
logic=""
logic_id="ReadBurninTrigger"
mode="Read Any Tags (any ID, 1 trigger
per tag)"
referenceTagId=""
state_mode="" />
<logic capture_point="1234"
desc="Read Burn-in Disabling Trigger
Logic"
logic="15000"
logic_id="ReadBurninDisableTrigger"
mode="No Tag Read in Specified Time
Span"
referenceTagId="00000002009050509522
7234"
state_mode="" />
</TriggeringLogic>
</CSL>

12.5 session_id=<login_session_id> Create a resultant action in <ResultantAction> table.


&
command=addResultantAction e.g.
& [Link]
action_id=action_id& mand=addResultantAction&action_id=DemoAction&des
desc=desc c=Demo%20Action&action_mode=Batch%20Alert%20t

© Convergence Systems Limited. All Rights Reserved. 98


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

[&condition=condition o%20Server&server_id=DemoServer
&condition_logic=condition_log
Valid attributes :
ic]
condition : None, Input Sensor State
&action_mode=action_mode
condition_logic : If condition is Input Sensor State, it
[&server_id=server_id
&pre_action_wait=pre_action_ represents Sensor and input level in

wait form of 'Sensor[n]:[0,1]' where


&post_action_delay=post_actio n=1,2,3,4. eg. Sensor1:0 ==> Sensor1
n_delay with input in high level, Sensor2:1
&action=action ==> Sensor2 with input in low level
&pulse_logic=pulse_logic action_mode : Do Nothing (Only Show on Screen),
&pulse_mode=pulse_mode Batch Alert to Server,
&pulse_width=pulse_width Instant Alert to Server,
&dutycycle=dutycycle Low Latency Alert to Server,
&duration=duration Output Port,
&transport=transport Display Tag Database Record,
&data_format_id=data_format_ Display Tag Group Record,
id server_id : <Cloud Server>
&display_format_id=display_for pre_acton_wait : unit = ms
mat_id post_acton_delay : unit = ms
&display_time_factor_type=disp action : Port[n]:[0,1,Pulse] where n=1,2,3,4;
lay_time_factor_type 0 ==> Open switch, 1 ==> Close switch
&display_time_factor=display_t pulse_logic : Positive ==> Open, Close, Open
ime_factor Negative ==> Close, Open, Close
&batch_alert_time_cycle=batch (for action=Pulse only)
_alert_time_cycle] pulse_mode : One Shot Pulse, Pulse Train
pulse_width : unit = ms
dutycycle : unit = % (for Pulse Train only)
duration : unit = ms (for Pulse Train only)
transport : TCP, HTTP POST, MQTT
display_time_factor_type : Additive, Multiplicative
batch_alert_time_cycle : unit = ms

Note :
If action_mode is Display Tag Database Record or Display Tag
Group Record, the display time is determined by

© Convergence Systems Limited. All Rights Reserved. 99


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

display_time_factor_type and display_time_factor.


e.g.1 display_time_factor_type = Additive
display time = Tag Duplicate Elimination Window +
display_time_factor (ms)
e.g.2 display_time_factor_type = Multiplicative
display time = Tag Duplicate Elimination Window ×
display_time_factor (ms)
If display_time_factor = 0, record shown on the page forever
until next record comes in.

result:
<?xml version="1.0" ?>
<CSL>
<Command>addResultantAction</Command>
<Ack>OK:</Ack>
</CSL>

12.6 session_id=<login_session_id> Modify an existing resultant action in <ResultantAction> table


& by action_id.
command=modResultantAction
& e.g.1
action_id=actiont_id [Link]
[&desc=desc] mand=modResultantAction&action_id=DemoAction&de

[&condition=condition] sc=Demo%20Action

[&condition_logic=condition_lo
gic] e.g.2
[&action_mode=action_mode] [Link]

[&server_id=server_id] mand=modResultantAction&action_id=DemoAction&se

[&pre_action_wait=pre_action_ rver_id=DemoServer
wait]
[&post_action_delay=post_actio Valid attributes :
n_delay] condition : None, Input Sensor State

[&action=action] condition_logic : If condition is Input Sensor State, it

[&pulse_logic=pulse_logic] represents Sensor and input level in

[&pulse_mode=pulse_mode] form of 'Sensor[n]:[0,1]' where


[&pulse_width=pulse_width] n=1,2,3,4. eg. Sensor1:0 ==> Sensor1
[&dutycycle=dutycycle] with input in high level, Sensor2:1
[&duration=duration] ==> Sensor2 with input in low level

© Convergence Systems Limited. All Rights Reserved. 100


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

[&transport=transport] action_mode : Do Nothing (Only Show on Screen),


[&data_format_id=data_format Batch Alert to Server,
_id] Instant Alert to Server,
[&display_format_id=display_fo Low Latency Alert to Server,
rmat_id] Output Port,
[&display_time_factor_type=dis Display Tag Database Record,
play_time_factor_type] Display Tag Group Record,
[&display_time_factor=display_ server_id : <Cloud Server>
time_factor] pre_acton_wait : unit = ms
[&batch_alert_time_cycle=batch post_acton_delay : unit = ms
_alert_time_cycle] action : Port[n]:[0,1,Pulse] where n=1,2,3,4;
0 ==> Open switch, 1 ==> Close switch
pulse_logic : Positive ==> Open, Close, Open
Negative ==> Close, Open, Close
(for action=Pulse only)
pulse_mode : One Shot Pulse, Pulse Train
pulse_width : unit = ms
dutycycle : unit = % (for Pulse Train only)
duration : unit = ms (for Pulse Train only)
transport : TCP, HTTP POST, MQTT
display_time_factor_type : Additive, Multiplicative
batch_alert_time_cycle : unit = ms

Note :
If action_mode is Display Tag Database Record or Display Tag
Group Record, the display time is determined by
display_time_factor_type and display_time_factor.
e.g.1 display_time_factor_type = Additive
display time = Tag Duplicate Elimination Window +
display_time_factor (ms)
e.g.2 display_time_factor_type = Multiplicative
display time = Tag Duplicate Elimination Window ×
display_time_factor (ms)
If display_time_factor = 0, record shown on the page forever
until next record comes in.

© Convergence Systems Limited. All Rights Reserved. 101


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

result:
<?xml version="1.0" ?>
<CSL>
<Command>modResultantAction</Command>
<Ack>OK:</Ack>
</CSL>

12.7 session_id=<login_session_id> Remove an events action from <ResultantActionList> table.


&
command=delResultantAction& e.g.
action_id=action_id session_id=<login_session_id>&command=delResultantActio
n&action _id=DemoAction

result:
<?xml version="1.0" ?>
<CSL>
<Command>delResultantAction</Command>
<Ack>OK:</Ack>
</CSL>

12.8 session_id=<login_session_id> List all events action from <ResultantActionList> table.


&
command=listResultantAction e.g.
session_id=<login_session_id>&command=listResultantActio
n

result:
<?xml version="1.0" ?>
<CSL>
<Command>listResultantAction</Command>
<ResultantActionList>
<resultantaction action=""
action_id="DemoAction"
action_mode="Instant Alert to Server"
batch_alert_time_cycle="0"
condition="None"
condition_logic=" "
data_format_id="Example Tag Format"
desc="Demo Action"
display_time_factor="0"
display_time_factor_type=""
duration="0"
dutycycle="0"
post_action_delay="0"
pre_action_wait="0"
pulse_logic=""
pulse_mode=""

© Convergence Systems Limited. All Rights Reserved. 102


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

pulse_width="0"
server_id="DemoServer"
transport="HTTP POST" />
</ResultantActionList>
</CSL>

12.9 session_id=<login_session_id> Create event definition.


& e.g. 1
command=addEvent& [Link]
event_id=event_id& mand=addEvent&event_id=DemoEvent&desc=Demo%
desc=desc& 20Event&operProfile_id=Default%20Profile&exclusivity

operProfile_id=operProfile_id& =Non-exclusive&duplicateEliminationWindow=10000&a
exclusivity=exclusivity& ntennaDifferentiation=false&triggering_logic=DemoTrig

duplicateEliminationWindow= ger&resultant_action=DemoAction&enable=true

duplicateEliminationWindow&
antennaDifferentiation= Valid attributes :

antennaDifferentiation& exclusivity : Exclusive, Non-exclusive

triggering_logic=triggering_logi duplicateEliminationWindow : unit = ms


c& antennaDifferentiation : true, false

resultant_action=resultant_actio enable : true, false

n& triggering_logic : <Read Any Tags (any ID, 1

enable=enable trigger per tag)>,

[&inventoryEnablingTrigger= <Trigger in Tag Group>,


<Trigger in Tag Database>,
inventoryEnablingTrigger
<Trigger if RSSI larger than or
&inventoryDisablingTrigger=
equal to>,
inventoryDisablingTrigger]
<Specified Time Span
[&inventoryEnablingAction=
elapsed>
inventoryEnablingAction
resultant_action : NONE,
&inventoryDisablingAction= <Do Nothing (Only Show on
inventoryDisablingAction] Screen)>,
<Batch Alert to Server>,
<Instant Alert to Server>,
<Low Latency Alert to
Server>,
<Output Port>,
<Display Tag Database
Record>,

© Convergence Systems Limited. All Rights Reserved. 103


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

<Display Tag Group Record>,


inventoryEnablingTrigger : Always On,
<Input Sensor State>
inventoryDisablingTrigger : Never Stop,
<Input Sensor State>,
<No Tag Read in Specified
Time Span>,
<Specified Time Span
elapsed>
inventoryEnablingAction : NONE,
<Output Port>
inventoryDisablingAction : NONE,
<Output Port>

The valid resultant action operation can be used in the


inventoryEnablingAction, inventoryDisablingAction and
resultant_action attributes are as follows:
AND, THEN

result:
<?xml version="1.0" ?>
<CSL>
<Command>addEvent</Command>
<Ack>OK:</Ack>
</CSL>

12.10 session_id=<login_session_id> Modify event definition.


& e.g. 1
command=modEvent& [Link]
event_id=event_id& mand=modEvent&event_id=DemoEvent&desc=Demo
desc=desc& %20Event&operProfile_id=Default%20Profile&triggerin

operProfile_id=operProfile_id& g_logic=DemoTrigger&resultant_action=DemoAction&e
exclusivity=exclusivity& vent_log=false&enable=true

duplicateEliminationWindow=
duplicateEliminationWindow& Valid attributes :

antennaDifferentiation= exclusivity : Exclusive, Non-exclusive

antennaDifferentiation& duplicateEliminationWindow : unit = ms

triggering_logic=triggering_logi antennaDifferentiation : true, false

© Convergence Systems Limited. All Rights Reserved. 104


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

c& enable : true, false


resultant_action=resultant_actio triggering_logic : <Read Any Tags (any ID, 1
n& trigger per tag)>,
enable=enable <Trigger in Tag Group>,
[&inventoryEnablingTrigger= <Trigger in Tag Database>,
inventoryEnablingTrigger] <Trigger if RSSI larger than or

[&inventoryDisablingTrigger= equal to>,

inventoryDisablingTrigger] <Specified Time Span


elapsed>
[&inventoryEnablingAction=
resultant_action : NONE,
inventoryEnablingAction
<Do Nothing (Only Show on
&inventoryDisablingAction=
Screen)>,
inventoryDisablingAction]
<Batch Alert to Server>,
<Instant Alert to Server>,
<Low Latency Alert to
Server>,
<Output Port>,
<Display Tag Database
Record>,
<Display Tag Group Record>,
inventoryEnablingTrigger : Always On,
<Input Sensor State>
inventoryDisablingTrigger : Never Stop,
<Input Sensor State>,
<No Tag Read in Specified
Time Span>,
<Specified Time Span
elapsed>
inventoryEnablingAction : NONE,
<Output Port>
inventoryDisablingAction : NONE,
<Output Port>

The valid resultant action operation can be used in the


inventoryEnablingAction, inventoryDisablingAction and
resultant_action attributes are as follows:

© Convergence Systems Limited. All Rights Reserved. 105


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

AND, THEN

result:
<?xml version="1.0" ?>
<CSL>
<Command>modEvent</Command>
<Ack>OK:</Ack>
</CSL>

12.11 session_id=<login_session_id> Enable/disable an event to be active/inactive.


&
command=enableEvent& e.g.
event_id=event_id& session_id=<login_session_id>&command=enableEvent&even
enable=enable t _id=DemoEvent&enable=true

Valid attributes :
enable : true => enable an event to be active
false => disable an event to be inactive

result:
<?xml version="1.0" ?>
<CSL>
<Command>enableEvent</Command>
<Ack>OK:</Ack>
</CSL>

12.12 session_id=<login_session_id> Remove an event definition from the table.


&
command=delEvent& e.g.
event_id=event_id session_id=<login_session_id>&command=delEvent&event
_id=DemoEvent

result:
<?xml version="1.0" ?>
<CSL>
<Command>delEvent</Command>
<Ack>OK:</Ack>
</CSL>

12.13 session_id=<login_session_id> List Event definition table.


& e.g.
command=listEvent session_id=<login_session_id>&command=listEvent
© Convergence Systems Limited. All Rights Reserved. 106
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

result:
<?xml version="1.0" ?>
<CSL>
<Command>listEvent</Command>
<EventMode mode="0" />
<EventList>
<event antennaDifferentiation="false"
desc="Event Demo"
duplicateEliminationWindow="10000"
enable="true"
event_id="DemoEvent"
exclusivity="Non-exclusive"
inventoryDisablingAction="NONE"
inventoryDisablingTrigger="Never Stop"
inventoryEnablingAction="NONE"
inventoryEnablingTrigger="Always On"
operProfile_id="Default Profile"
resultant_action="DemoAction"
triggering_logic="DemoTrigger" />
<event antennaDifferentiation="false"
desc=""
duplicateEliminationWindow="10000"
enable="true"
event_id="EventTest"
exclusivity="Non-exclusive"
inventoryDisablingAction="NONE"
inventoryDisablingTrigger="Never Stop"
inventoryEnablingAction="NONE"
inventoryEnablingTrigger="Always On"
operProfile_id="Default Profile"
resultant_action="NONE"
triggering_logic="DemoTrigger" />
</EventList>
</CSL>
12.14 session_id=<login_session_id> Add display format of tag data for displaying on web browser.
&
command=addDisplayFormat& e.g.
display_format_id=display_form session_id=<login_session_id>&command=addDisplayFormat
at_id &display_format_id=DBDisplayFormat&databaseName=Prod
[&databaseName=databaseNam uctDB&fieldName1=ProductId&displayLabel1=ID&topPositi
e] on1=10&leftPosition1=10&fontSize1=16&fontColor1=%2300
&fieldName{n}=fieldName 0000&fieldName2=ProductName&displayLabel2=Name&top
[&displayLabel{n}=displayLabe Position2=30&leftPosition2=10&fontSize2=16&fontColor2=
l] %23000000&fieldName3=ProductPrice&displayLabel3=Price
&topPosition{n}=topPosition &topPosition3=50&leftPosition3=10&fontSize3=16&fontColo
&leftPosition{n}=leftPosition r3=%23000000&fieldName4=ProductImage&topPosition4=10
[&fontSize{n}=fontSize &leftPosition4=200&imageHeight4=0&imageWidth4=0

© Convergence Systems Limited. All Rights Reserved. 107


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

&fontColor{n}=fontColor]
[&imageHeight{n}=imageHeigh Valid attributes :
t For displaying database record data :
&imageWidth{n}=imageWidth] databaseName : must be included
fieldName : DatabaseName, Time or the name of
field in the database
displayLabel : label displayed before data
topPosition : unit = px
leftPosition : unit = px
fontSize : unit = px
fontColor : color name (like “red”) or hex code (like
“#ff0000”)
imageHeight : unit = px, or 0 means auto
imageWidth : unit = px, or 0 means auto

For displaying tag group data :


databaseName : must be ignored
fieldName : TagGroupId, Time, TagId
displayLabel : label displayed before data
topPosition : unit = px
leftPosition : unit = px
fontSize : unit = px
fontColor : color name (like “red”) or hex code (like
“#ff0000”)

result:
<?xml version="1.0" ?>
<CSL>
<Command>addDisplayFormat</Command>
<Ack>OK:</Ack>
</CSL>

12.15 session_id=<login_session_id> Modify display format of tag data for displaying on web
& browser.
command=modDisplayFormat
& e.g.
display_format_id=display_form session_id=<login_session_id>&command=modDisplayForma

© Convergence Systems Limited. All Rights Reserved. 108


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

at_id t&display_format_id=DBDisplayFormat&databaseName=Prod
[&databaseName=databaseNam uctDB&fieldName1=Time&displayLabel1=Time&topPosition
e] 1=10&leftPosition1=10&fontSize1=16&fontColor1=%230000
&fieldName{n}=fieldName 00&fieldName2=ProductId&displayLabel2=ID&topPosition2=
[&displayLabel{n}=displayLabe 30&leftPosition2=10&fontSize2=16&fontColor2=%23000000
l] &fieldName3=ProductName&displayLabel3=Name&topPositi
&topPosition{n}=topPosition on3=50&leftPosition3=10&fontSize3=16&fontColor3=%2300
&leftPosition{n}=leftPosition 0000&fieldName4=ProductPrice&displayLabel4=Price&topPo
[&fontSize{n}=fontSize sition4=70&leftPosition4=10&fontSize4=16&fontColor4=%23
&fontColor{n}=fontColor] 000000&fieldName5=ProductImage&topPosition5=10&leftPo
[&imageHeight{n}=imageHeigh sition5=200&imageHeight5=0&imageWidth5=200
t
&imageWidth{n}=imageWidth] Valid attributes :
For displaying database record data :
databaseName : must be included
fieldName : DatabaseName, Time or the name of
field in the database
displayLabel : label displayed before data
topPosition : unit = px
leftPosition : unit = px
fontSize : unit = px
fontColor : color name (like “red”) or hex code (like
“#ff0000”)
imageHeight : unit = px, or 0 means auto
imageWidth : unit = px, or 0 means auto

For displaying tag group data :


databaseName : must be ignored
fieldName : TagGroupId, Time, TagId
displayLabel : label displayed before data
topPosition : unit = px
leftPosition : unit = px
fontSize : unit = px
fontColor : color name (like “red”) or hex code (like
“#ff0000”)

© Convergence Systems Limited. All Rights Reserved. 109


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

result:
<?xml version="1.0" ?>
<CSL>
<Command>addDisplayFormat</Command>
<Ack>OK:</Ack>
</CSL>

12.16 session_id=<login_session_id> Remove display format.


&
command=delDisplayFormat& e.g.
display_format_id=display_form session_id=<login_session_id>&command=delDisplayFormat
at_id &display_format_id=DBDisplayFormatFormat

result:
<?xml version="1.0" ?>
<CSL>
<Command>delDisplayFormat</Command>
<Ack>OK:</Ack>
</CSL>

12.17 session_id=<login_session_id> List display format.


&
command=listDisplayFormat e.g.
session_id=<login_session_id>&command=listDisplayFormat

result:
<?xml version="1.0" ?>
<CSL>
<Command>listDisplayFormat</Command>
<DisplayFormatList>
<displayFormat
databaseName="ProductDB"
display_format_id="DBDisplayFormat"
displayLabel1="Time"
displayLabel2="ID"
displayLabel3="Name"
displayLabel4="Price"
displayLabel5=""
fieldName1="Time"
fieldName2="ProductId"
fieldName3="ProductName"
fieldName4="ProductPrice"
fieldName5="ProductImage"
fontColor1="#000000"
fontColor2="#000000"
fontColor3="#000000"
fontColor4="#000000"
fontColor5="#000000"
© Convergence Systems Limited. All Rights Reserved. 110
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

fontSize1="16.0"
fontSize1="16.0"
fontSize1="16.0"
fontSize1="16.0"
fontSize1="16.0"
imageHeight1="0.0"
imageHeight2="0.0"
imageHeight3="0.0"
imageHeight4="0.0"
imageHeight5="0.0"
imageWidth1="0.0"
imageWidth2="0.0"
imageWidth3="0.0"
imageWidth4="0.0"
imageWidth5="200.0"
leftPosition1="10.0"
leftPosition2="10.0"
leftPosition3="10.0"
leftPosition4="10.0"
leftPosition5="200.0"
topPosition1="10.0"
topPosition2="30.0"
topPosition3="50.0"
topPosition4="70.0"
topPosition5="10.0" />
</DataFormatList>
</CSL>

© Convergence Systems Limited. All Rights Reserved. 111


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

13. Version Management


13.1 session_id=<login_session_id>& Get version information of the Reader.
command=getReaderVersion e.g.
session_id=<login_session_id>&command=getReaderVersion

result:
<CSL>
<Command>getReaderVersion</Command>
<ReaderVersion
cs108_bluetooth_api_library="1.0.2"
cs461_low_level_api_mach1_library=" 1.0.4"
csl_unified_api_library="1.0.3"
java=" 1.8.0_221"
jni_library="1.0.4"
llrp_library="1.0.7"
os=" Linux
v4.14.78-imx_4.14.78_1.0.0_ga+g
94da7bd"
pcb_version="2.4"
rfid_firmware=" 2.6.29"
web_application="1.1.9" />
</CSL>

© Convergence Systems Limited. All Rights Reserved. 112


Information in this document is subject to change without prior notice.
CSL HTTP API Manual

14. Legacy CS461 TCP Format to TCP


Server
If a resultant action has a TCP transport type defined, tag data will be sent to the server by
TCP protocol. The protocol is configurable, except for one legacy format: CS461 TCP
Format. The following describes the legacy CS461 TCP Format of tag data.

(1) Tag Data

cmd=evtNtf&evt_id=%s&src_ip=%s&ant=Antenna%d&cp_id=%s&idx=A%d&tag_
id=%s&rssi=%d&time=%s&cnt=%d&freq=%d&PC=%04X&usec=%d\n

cmd=evtNtf&evt_id=DemoEvent&src_ip=[Link]&ant=Antenn
a1&cp_id=CapturePoint1&tag_id=100000000000000000000004&rssi=
-35&time=1587524604&freq=924.25&phase=22.5&PC=3000&usec=1580
00

cmd is the command type, and in this case is event notification;


evt_id is the event ID;
src_ip is the reader IP address;
ant is the antenna port where the tag is received and is of the
form ant=Antenna1 or ant=Antenna2 etc;
cp_id is the capture point (alias read point) name;
rssi is the tag rssi in unit of dBm;
time is the time of tag capture based on Linux epoch time.
freq is the frequency in Hz.
phase is the phase in degree.
PC is the protocol control bits.
usec is the micro-seconds part of the time of tag capture based
on Linux epoch time.

(2) End of batch message

This message is sent after the last tag data in each packet.

cmd=evtNtf&batchEnd=yes\n

cmd=evtNtf is the command type.

(3) Tag Data with additional bank (bank0, bank2, bank3)

If bank0 is selected in the Active Operation Profile,


cmd=evtNtf&evt_id=%s&src_ip=%s&ant=Antenna%d&cp_id=%s&tag_id=%s&rs
si=%d&time=%s&bank0=%s&freq=%s&phase=%s&PC=%04X&usec=%d\n

If bank2 is selected in the Active Operation Profile,


cmd=evtNtf&evt_id=%s&src_ip=%s&ant=Antenna%d&cp_id=%s&tag_id=%s&rs
si=%d&time=%s&bank2=%s&freq=%s&phase=%s&PC=%04X&usec=%d\n
© Convergence Systems Limited. All Rights Reserved. 113
Information in this document is subject to change without prior notice.
CSL HTTP API Manual

If bank3 is selected in the Active Operation Profile,


cmd=evtNtf&evt_id=%s&src_ip=%s&ant=Antenna%d&cp_id=%s&tag_id=%s&rs
si=%d&time=%s&bank3=%s&freq=%s&phase=%s&PC=%04X&usec=%d\n

© Convergence Systems Limited. All Rights Reserved. 114


Information in this document is subject to change without prior notice.

You might also like