CSL HTTP API Manual Version 1.6
CSL HTTP API Manual Version 1.6
Version 1.6
2024 10 22
1. Release Notes
2. Content
3. Introduction
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.
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.
Trigger Logic
Resultant Action
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.
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
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
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
[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
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.
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
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:
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
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>
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>
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>
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>
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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>getAutoLogoutTime</Command>
<Logout time="30" unit="minute" />
</CSL>
7. System Management
query_string Description
System Management
result:
<?xml version="1.0" ?>
<CSL>
<Command>setReaderID</Command>
<Ack>OK:</Ack>
</CSL>
result:
<CSL>
<Command>getReaderID</Command>
<Reader desc="CS463 Demo Reader"
reader_id="Demo Reader" />
</CSL>
e.g.2
[Link]
mand=setCapturePointName&capturepoint_id=Antenn
a2&name=Room2
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
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
result:
<?xml version="1.0" ?>
<CSL>
<Command>setAccessMode</Command>
<Ack>OK:</Ack>
</CSL>
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>
result:
<CSL>
<Command>setEmbeddedRFIDApp</Command>
<Ack>OK:</Ack>
</CSL>
result:
<CSL>
<Command>getEmbeddedRFIDApp</Command>
<embeddedRFIDApp
path="/opt/csl_embedded_rfid_example_2
.6_20190828" cmd="./example -conf
config_HK.txt" />
</CSL>
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
5 2 = Range/Throughput/Dense Reader
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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>delOperProfile</Command>
<Ack>OK:</Ack>
</CSL>
result:
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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>getRAMMemory</Command>
<SystemMemory>
<Total>64638976</Total>
<Used>50401280</Used>
<Free>14237696</Free>
</SystemMemory>
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>getFlashMemory</Command>
<FlashMemory>
<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
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>
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
result:
<?xml version="1.0" ?>
<CSL>
<Command>restartSystem</Command>
<Ack>OK:</Ack>
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>isOnline</Command>
<Ack>OK: Online,CS463.</Ack>
</CSL>
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>
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>
<CSL>
<Command>setScheduledRestart</Command>
<Error code="-10" msg="Error: mode is
not valid" />
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>addPowerUpNotification
</Command>
<Ack>OK:</Ack>
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>modPowerUpNotification
</Command>
<Ack>OK:</Ack>
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>delPowerUpNotification
</Command>
<Ack>OK:</Ack>
</CSL>
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"
result:
<?xml version="1.0" ?>
<CSL>
<Command>addReaderErrorNotification
</Command>
<Ack>OK:</Ack>
</CSL>
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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>delReaderErrorNotification
</Command>
<Ack>OK:</Ack>
</CSL>
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.
¬ification_id=notification_id session_id=<login_session_id>&command=addGPIInterruptN
&interrupt_type=interrupt_type otification¬ification_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.
¬ification_id=notification_id session_id=<login_session_id>&command=modGPIInterruptN
&interrupt_type=interrupt_type otification¬ification_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
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.
¬ification_id=notification_id session_id=<login_session_id>&command=delGPIInterruptNo
tification¬ification_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>
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>
[&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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>modHeartBeat</Command>
<Ack>OK:</Ack>
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>delHeartBeat</Command>
<Ack>OK:</Ack>
</CSL>
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).
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
result:
<?xml version="1.0" ?>
<CSL>
<Command>setSecureWebAccess</Command>
<Ack>OK:</Ack>
</CSL>
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
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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>getTwoWayAuth</Command>
<SecureWebAccess certFile=""
keyFile=""
keyPassword="" />
</CSL>
8. Network Management
query_string Description
Network Management
&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>
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>
[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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>modServerID</Command>
<Ack>OK:</Ack>
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>delServerID</Command>
<Ack>OK:</Ack>
</CSL>
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).
result:
<?xml version="1.0" ?>
<CSL>
<Command>setServerCertificate</Command>
<Ack>OK:</Ack>
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>delServerCertificate</Command>
<Ack>OK:</Ack>
</CSL>
Valid attributes :
format : JSON, XML, CSV
field : SequenceNumber,
NumberOfTags,
TagDataList,
RFIDReaderName,
RFIDReaderSerialNumber,
RFIDReaderInternalSerialNumber,
EthernetMACAddress,
WiFiMACAddress,
EthernetMACAddressWithColon,
WiFiMACAddressWithColon,
HeartBeatFlag,
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,
ReaderErrorReflectedPowerThrehold,
TimeOfHeartBeat,
TimeOfPowerUp,
TimeOfReaderError,
TimeStampOfHeartBeat,
TimeStampOfPowerUp,
TimeStampOfReaderError
result:
<?xml version="1.0" ?>
<CSL>
<Command>addDataFormat</Command>
<Ack>OK:</Ack>
</CSL>
Valid attributes :
format : JSON, XML, CSV
field : SequenceNumber,
NumberOfTags,
TagDataList,
RFIDReaderName,
RFIDReaderSerialNumber,
RFIDReaderInternalSerialNumber,
EthernetMACAddress,
WiFiMACAddress,
EthernetMACAddressWithColon,
WiFiMACAddressWithColon,
HeartBeatFlag,
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,
ReaderErrorReflectedPowerThrehold,
TimeOfHeartBeat,
TimeOfPowerUp,
TimeOfReaderError,
TimeStampOfHeartBeat,
TimeStampOfPowerUp,
TimeStampOfReaderError
result:
<?xml version="1.0" ?>
<CSL>
<Command>modDataFormat</Command>
<Ack>OK:</Ack>
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>delDataFormat</Command>
<Ack>OK:</Ack>
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>listDataFormat</Command>
<DataFormatList>
<dataFormat
data_format_id="ExampleDataFormat"
desc="Example Data Format"
field1="RFIDReaderName"
field2="EthernetMACAddress"
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>
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>
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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>getNTP</Command>
<ntp enable="true" ip1="[Link]"
ip2="[Link]"
mode="Saturday"
time="00:00" />
</CSL>
&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
result:
<?xml version="1.0" ?>
<CSL>
<Command>setNTP</Command>
<Ack>OK:</Ack>
</CSL>
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
{
{ “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
result:
<?xml version="1.0" ?>
<CSL>
<Command>delTagGroup</Command>
<Ack>OK:</Ack>
</CSL>
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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>getDatabaseConfiguration</Co
mmand>
<Database
path="/run/media/mmcblk2p5/mysql"
/>
</CSL>
&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>
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
result:
<?xml version="1.0" ?>
<CSL>
<Command>modDatabase</Command>
<Ack>OK: </Ack>
</CSL>
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>
[&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>
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.
result:
<?xml version="1.0" ?>
<CSL>
<Command>modTagDatabaseRecord</Com
mand>
<Ack>OK: </Ack>
</CSL>
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>
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>
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.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
10.22 session_id=<login_session_id>& Restore the database by loading the backup file to the
command=databaseRestore reader.
content);
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
&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>
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>
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>
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
result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160WriteMe
mory</Command>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EP
C>
<RSSI>-44.00</RSSI>
</CSL>
&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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160WriteUse
rCfg</Command>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EP
C>
<RSSI>-44.00</RSSI>
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160ReadReg</Comma
nd>
<Data>0600</Data>
<EPC>E28270010000000000000001</EP
C>
<RSSI>-44.00</RSSI>
</CSL>
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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160DeepSleep</Comman
d>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EP
C>
<RSSI>-44.00</RSSI>
</CSL>
&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
result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160InitialRe
gfile</Command>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EPC
>
<RSSI>-44.00</RSSI>
</CSL>
&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>
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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>fm13dt160StopLogg
ing</Command>
<Ack>OK:</Ack>
<EPC>E28270010000000000000001</EPC
>
<RSSI>-44.00</RSSI>
</CSL>
&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"
/>
<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>
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>
t <EPC>616161616000000000000000</EPC>
<WritePC>OK</WritePC>
&newUserBank=newUserBank] <WriteEPC>OK</WriteEPC>
<WriteTidBank>Error</WriteTidBank>
</CSL>
&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
result:
<?xml version="1.0" ?>
<CSL>
<Command>addTagFilter</Command>
<Ack>OK:</Ack>
</CSL>
&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)
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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>delTagFilter</Command>
<Ack>OK:</Ack>
</CSL>
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>
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
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’
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
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.
Events Management
[&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.4
[Link]
mand=addTriggeringLogic&logic_id=TagTest&desc=Tag
Read test&mode=Tag Group Filtering&logic=TagGroup1
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,
logic
result:
<?xml version="1.0" ?>
<CSL>
<Command>addTriggeringLogic</Command>
<Ack>OK:</Ack>
</CSL>
[&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,
result:
<?xml version="1.0" ?>
<CSL>
<Command>modTriggeringLogic</Command>
<Ack>OK:</Ack>
</CSL>
& 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>
[&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
Note :
If action_mode is Display Tag Database Record or Display Tag
Group Record, the display time is determined by
result:
<?xml version="1.0" ?>
<CSL>
<Command>addResultantAction</Command>
<Ack>OK:</Ack>
</CSL>
[&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
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.
result:
<?xml version="1.0" ?>
<CSL>
<Command>modResultantAction</Command>
<Ack>OK:</Ack>
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>delResultantAction</Command>
<Ack>OK:</Ack>
</CSL>
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=""
pulse_width="0"
server_id="DemoServer"
transport="HTTP POST" />
</ResultantActionList>
</CSL>
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 :
result:
<?xml version="1.0" ?>
<CSL>
<Command>addEvent</Command>
<Ack>OK:</Ack>
</CSL>
operProfile_id=operProfile_id& g_logic=DemoTrigger&resultant_action=DemoAction&e
exclusivity=exclusivity& vent_log=false&enable=true
duplicateEliminationWindow=
duplicateEliminationWindow& Valid attributes :
AND, THEN
result:
<?xml version="1.0" ?>
<CSL>
<Command>modEvent</Command>
<Ack>OK:</Ack>
</CSL>
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>
result:
<?xml version="1.0" ?>
<CSL>
<Command>delEvent</Command>
<Ack>OK:</Ack>
</CSL>
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
&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
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
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
result:
<?xml version="1.0" ?>
<CSL>
<Command>addDisplayFormat</Command>
<Ack>OK:</Ack>
</CSL>
result:
<?xml version="1.0" ?>
<CSL>
<Command>delDisplayFormat</Command>
<Ack>OK:</Ack>
</CSL>
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>
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>
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
This message is sent after the last tag data in each packet.
cmd=evtNtf&batchEnd=yes\n