ZEBRA Cloud Connect for RFID Programmer Guide

Cloud Connect for RFID
Programmer Guide
MN-004018-01EN Rev. A
ZEBRA and the stylized Zebra head are trademarks of Zebra Technologies Corporation, registered in many jurisdictions worldwide. All other trademarks are the property of their respective owners. © 2020 Zebra Technologies Corporation and/or its affiliates. All rights reserved.
For further information regarding legal and proprietary statements, please go to:
SOFTWARE:www.zebra.com/linkoslegal COPYRIGHTS:www.zebra.com/copyright WARRANTY:www.zebra.com/warranty END USER LICENSE AGREEMENT: www.zebra.com/eula
Terms of Use
Proprietary Statement
This manual contains proprietary information of Zebra Technologies Corporation and its subsidiaries (“Zebra Technologies”). It is intended solely for the information and use of parties operating and maintaining the equipment described herein. Such proprietary information may not be used, reproduced, or disclosed to any other parties for any other purpose without the express, written permission of Zebra Technologies.
Product Improvements
Continuous improvement of products is a policy of Zebra Technologies. All specifications and designs are subject to change without notice.
Liability Disclaimer
Zebra Technologies takes steps to ensure that its published Engineering specifications and manuals are correct; however, errors do occur. Zebra Technologies reserves the right to correct any such errors and disclaims liability resulting therefrom.
Limitation of Liability
In no event shall Zebra Technologies or anyone else involved in the creation, production, or delivery of the accompanying product (including hardware and software) be liable for any damages whatsoever (including, without limitation, consequential damages including loss of business profits, business interruption, or loss of business information) arising out of the use of, the results of use of, or inability to use such product, even if Zebra Technologies has been advised of the possibility of such damages. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to you.
Publication Date
September 22, 2020
2

Contents

List of Figures..................................................................................................................................... 5
About This Document ........................................................................................................................ 7
Introduction ...................................................................................................................... 7
Supported Readers.......................................................................................................... 7
Chapter Descriptions........................................................................................................ 7
Notational Conventions .................................................................................................... 7
Icon Conventions ............................................................................................................. 8
Related Documents and Software ................................................................................... 8
Service Information .......................................................................................................... 8
Overview............................................................................................................................................ 10
Introduction .................................................................................................................... 10
Operation Modes .............................................................................................................................. 11
Introduction .................................................................................................................... 11
Simple ............................................................................................................................ 11
Inventory ........................................................................................................................ 11
Portal.............................................................................................................................. 12
Conveyer........................................................................................................................ 12
Interface Overview............................................................................................................................ 13
Introduction .................................................................................................................... 13
Authentication Methods.................................................................................................. 13
Management Interface ................................................................................................... 13
GET /version........................................................................................................... 14
GET /status............................................................................................................. 17
GET /network.......................................................................................................... 20
PUT /network.......................................................................................................... 23
3
Contents
PUT /reboot ............................................................................................................ 24
PUT /gpo ................................................................................................................ 26
Example ........................................................................................................... 27
GET /app-led .......................................................................................................... 28
PUT /app-led .......................................................................................................... 29
GET /region ............................................................................................................ 31
GET /config............................................................................................................. 33
PUT /config............................................................................................................. 36
Control Interface............................................................................................................. 39
PUT /start ............................................................................................................... 39
PUT /stop................................................................................................................ 41
Example ........................................................................................................... 42
GET /mode ............................................................................................................. 43
PUT /mode ............................................................................................................. 45
Example ........................................................................................................... 46
Data Interface.................................................................................................................47
Tag Event Message Formats ......................................................................................... 47
4

List of Figures

Figure 1: GET /version - Response Schema ................................................................ 14
Figure 2: GET /version - Bad Request .......................................................................... 14
Figure 3: GET /version - Internal Device Error .............................................................. 15
Figure 4: GET /status - Request Successful ................................................................. 17
Figure 5: GET /status - Firmware Update in Progress .................................................. 18
Figure 6: GET /status - Bad Request ............................................................................ 18
Figure 7: GET /status - Response Schema Device Error ............................................. 18
Figure 8: GET /network - Request Successful .............................................................. 20
Figure 9: GET /network - Bad Request ......................................................................... 21
Figure 10: GET /network - Internal Device Error ........................................................... 21
Figure 11: PUT /network - Payload Schema ................................................................. 23
Figure 12: PUT /network - Request Successful ............................................................ 23
Figure 13: PUT /network - Bad Request ....................................................................... 23
Figure 14: PUT /network - Internal Device Error ........................................................... 23
Figure 15: PUT /reboot - Request Successful ............................................................... 24
Figure 16: PUT /reboot - Bad Request .......................................................................... 25
Figure 17: PUT /reboot - Internal Device Error ............................................................. 25
Figure 18: PUT /gpo - Set gpo State ............................................................................. 26
Figure 19: PUT /gpo - Request Successful ................................................................... 26
Figure 20: PUT /gpo - Bad Request .............................................................................. 27
Figure 21: PUT /gpo - Internal Device Error .................................................................. 27
Figure 22: GET /app-led - Request Successful ............................................................. 28
Figure 23: GET /app-led - Bad Request ........................................................................ 28
Figure 24: GET /app-led - Internal Device Error ........................................................... 28
Figure 25: PUT /app-led - Payload Schema ................................................................. 29
5
List of Figures
Figure 26: PUT /app-led - Request Successful ............................................................. 30
Figure 27: PUT /app-led - Bad Request ........................................................................ 30
Figure 28: PUT /app-led - Internal Device Error ............................................................ 30
Figure 29: GET /region - Request Successful ............................................................... 31
Figure 30: GET /region - Bad Request .......................................................................... 32
Figure 31: GET /region - Internal Device Error ............................................................. 32
Figure 32: GET /config - Request Successful ............................................................... 33
Figure 33: GET /config - Bad Request .......................................................................... 34
Figure 34: GET /config - Internal Device Error .............................................................. 34
Figure 35: PUT /config - Payload Schema .................................................................... 36
Figure 36: PUT /config - Request Successful ............................................................... 36
Figure 37: PUT /config - Bad Request .......................................................................... 36
Figure 38: PUT /config - Internal Device Error .............................................................. 37
Figure 39: PUT /start - Request Successful .................................................................. 39
Figure 40: PUT /start - Bad Request ............................................................................. 40
Figure 41: PUT /start - Internal Device Error ................................................................. 40
Figure 42: PUT /stop - Request Successful .................................................................. 41
Figure 43: PUT /stop - Bad Request ............................................................................. 41
Figure 44: PUT /stop - Internal Device Error ................................................................. 42
Figure 45: PUT /stop - Request Successful .................................................................. 43
Figure 46: PUT /stop - Bad Request ............................................................................. 43
Figure 47: PUT /stop - Internal Failure .......................................................................... 43
Figure 48: PUT /mode - Payload Schema .................................................................... 45
Figure 49: PUT /mode - Request Successful ................................................................ 45
Figure 50: PUT /mode - Bad Request ........................................................................... 45
Figure 51: PUT /mode - Internal Device Error ............................................................... 46
6

About This Document

Introduction

This guide provides information about the REST API provided by the Cloud Connect for RFID feature in the FX Series readers. The APIs listed in this guide are applicable only for local access. For more information about the cloud API, go to https://developer.zebra.com/apis/cloud-connect-rfid
IMPORTANT: If you have a problem with your equipment, contact Zebra Global Customer Support for your region. Contact information is available at: zebra.com/support

Supported Readers

FX7500
FX9600

Chapter Descriptions

.
.
Topics covered in this guide are as follows:
Overview provides a summary of the Cloud Connect for RFID interfaces.
Operation Modes provides information on Simple, Inventory, Portal, and Conveyer modes of operation.
Interface Overview provides information on management and control interfaces.

Notational Conventions

The following conventions are used in this document:
•Bold text is used to highlight the following:
Dialog box, window and screen names
Drop-down list and list box names
Check box and radio button names
Icons on a screen
Key names on a keypad
Button names on a screen
Bullets (•) indicate:
7
Action items.
Lists of alternatives.
Lists of required steps that are not necessarily sequential.
Sequential lists (such as those that describe step-by-step procedures) appear as numbered lists.

Icon Conventions

The documentation set is designed to give the reader more visual clues. The following graphic icons are used throughout the documentation set. These icons and their associated meanings are described below.
NOTE: The text here indicates information that is supplemental for the user to know and that is not required to complete a task.
IMPORTANT: The text here indicates information that is important for the user to know.
CAUTION: If the precaution is not heeded, the user could receive minor or moderate injury.
About This Document
WARNING: If danger is not avoided, the user CAN be seriously injured or killed.

Related Documents and Software

The following documents provide more information about the readers.
FX7500 RFID Reader Quick Start Guide
FX9600 RFID Reader Quick Reference Guide
FX Series RFID Fixed Reader Integration Reference Guide
To download firmware, go to
https://www.zebra.com/apps/dlmanager?dlp=-227178c9720c025483893483886ea540bd07dd0f98737 52cf891686eb495040ba85f97bf163f9fd12080ee1978f57c98463270ae549b1b5c65e6acbef65100a197 8a205f64aae7c7ef1d957c10a43f885d113b42e079e0119302a877e3ec811eb70ea4125c716c46b3a33 2b59ddd9f8&c=us&l=en.
For the latest version of this guide and all guides, go to zebra.com/support

Service Information

If you have a problem with your equipment, contact Zebra Global Customer Support for your region. Contact information is available at: zebra.com/support
.
.
When contacting support, please have the following information available:
Serial number of the unit
Model number or product name
Software/firmware type or version number
Zebra responds to calls by email, telephone or fax within the time limits set forth in support agreements.
8
About This Document
If your problem cannot be solved by Zebra Customer Support, you may need to return your equipment for servicing and will be given specific directions. Zebra is not responsible for any damages incurred during shipment if the approved shipping container is not used. Shipping the units improperly can possibly void the warranty.
If you purchased your Zebra business product from a Zebra business partner, contact that business partner for support.
9

Overview

Introduction

This guide describes the Cloud Connect for RFID interfaces that is locally exposed from the reader. The APIs mentioned in the document can be used in on-premises deployments as described by the Hybrid or Local deployment modes. For more information on the deployment modes refer to the Cloud Connect for RFID Deployment Guide.
For information about the cloud REST API using the Zebra Data Services go to
https://developer.zebra.com/apis/cloud-connect-rfid
The Cloud Connect for RFID feature interfaces are divided into three categories
Management interface: Used to perform management actions on the reader like firmware upgrade, get and set reader configuration, etc.
Control interface: Used to perform control actions on the reader like configuring the radio mode, starting/stopping the tag reads.
Data interface: Used to consume the RFID tag data from the reader.
.
10

Operation Modes

Introduction

Cloud Connect for RFID provides the ability to configure the radio to different modes of operation that optimize the radio configuration based on intended use case. Once configured, the mode can be started using the START REST API and will continue to operate until the STOP REST API is called. The following modes are supported in the Cloud Connect for RFID.
Simple
Inventory
Portal
Conveyer

Simple

Simple mode configures the radio to read and report all unique tags in the field of view of the radio.

Inventory

By default:
The radio attempts to read tags on all antennas. This can be adjusted using the Antennas object when setting the mode.
The radio reports all unique tags. This can be adjusted using the Filter object when setting the mode.
Inventory mode configures the radio to read tags and report all unique tags for each antenna on a periodic interval. Additional meta-data (i.e., peak RSSI and number of reads for each antenna during the interval) is reported.
By default:
The radio attempts to read tags on all antennas. This can be adjusted using the Antennas object when setting the mode.
The radio reports all unique tags once. This can be adjusted using the Filter object when setting the mode.
The radio reports tags every second. This can be adjusted using the Interval object when setting the mode.
11

Portal

Conveyer

Operation Modes
Portal mode configures the radio to report all unique tags that pass by each antenna immediately following a GPI event. The GPI event signals the beginning of the read period. As soon as the GPI event triggers the radio, the radio continues to read tags until no new unique tags are read for a configurable stop interval. Once the radio stops reading tags, it waits for the next GPI event to start the process again.
By default:
The radio attempts to read tags on all antennas. This can be adjusted using the Antennas object when setting the mode.
The radio reports all unique tags once. This can be adjusted using the Filter object when setting the mode.
The radio waits for a LOW signal on GPI 1. This can be adjusted using the StartTrigger object when setting the mode.
The radio continues to read until no new unique tags have been read for 3 seconds. This can be adjusted using the StopInterval object when setting the mode.
Conveyer mode configures the radio to read tags and report all unique tags for each antenna.
By default:
The radio attempts to read tags on all antennas. This can be adjusted using the Antennas object when setting the mode.
The radio reports all unique tags once. This can be adjusted using the Filter object when setting the mode.
12

Interface Overview

Introduction

The on prem access to management and control interfaces is exposed over HTTPS/HTTP depending on the reader web service configuration. If the reader web server is configured to HTTP, then the REST API is accessible over HTTP. Similarly, if the reader web service is configured to HTTPS, then the REST API is accessible over HTTPS. All URLS referenced in this guide have the following base URL
http://<readerIP>/ or https://<readerIP>/
In a hybrid or local deployment, the data interface can be configured to send tag data to a HTTP/HTTPS server by configuring the data interface appropriately. For more information on configuring the Cloud Connect for RFID Interface for cloud or local access, refer to the Cloud Connect for RFID Deployment Guide.

Authentication Methods

The management and control interfaces, when configured to allow local access, do not require any authentication.

Management Interface

The Management interface includes the set of REST APIs listed in Table 1.
Table 1 Management Interface REST APIs
API Endpoints Management APIs Description Page
GET /version Retrieves reader component version information. 14
GET /status Retrieves reader operational statistics. 17
GET /network Retrieves reader network information. 20
PUT /network Changes the reader network configuration. 23
PUT /reboot Reboots the reader with the device id provided. 24
PUT /gpo Set the General Purpose Output (GPO) state on the specified port of
GET /app-led Retrieves a value indicating the current state of the application LED. 28
PUT /app-led Sets the application LED on the reader to the state specified. 29
26
the reader.
13
Table 1 Management Interface REST APIs (Continued)
API Endpoints Management APIs Description Page
GET /region Retrieves reader region information. 31
GET /config Retrieves the reader configuration. 33
PUT /config Changes the reader configuration. 36

GET /version

Retrieves reader component version information.
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 1 GET /version - Response Schema
Interface Overview
Returns HTTP/1.1 status code 400 if the request is bad request.
Figure 2 GET /version - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
14
Interface Overview
Figure 3 GET /version - Internal Device Error
15
Example
REQUEST
GET /version Accept: application/json
RESPONSE
200 Content-Type: application/json
{ "availableOsUpgrades": {}, "cloudAgentApplication": "0.1.8.0", "model": "FX9600", "radioApi": "2.2.26.0", "radioControlApplication": "0.1.0.0", "radioFirmware": "2.1.31.0", "readerApplication": "3.7.19.0", "readerBootLoader": "3.0.13.0", "readerFileSystem": "3.7.11.0", "readerHardware": "0.0.6.0", "readerOS": "3.7.2.0" }
Interface Overview
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
16

GET /status

Retrieves reader operational statistics.
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 4 GET /status - Request Successful
Interface Overview
Returns HTTP/1.1 status code 202 if Firmware update in progress.
17
Interface Overview
Figure 5 GET /status - Firmware Update in Progress
Returns HTTP/1.1 status code 400 if the request is bad request.
Figure 6 GET /status - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
Figure 7 GET /status - Response Schema Device Error
18
Example
REQUEST
GET /status Accept: application/json
RESPONSE
200 Content-Type: application/json
{ "antennas": { "1": "connected", "2": "connected", "3": "connected", "4": "connected" }, "cpu": { "system": 7, "user": 2 }, "flash": { "platform": { "free": 17960960, "total": 33554432, "used": 15593472 }, "readerConfig": { "free": 3444736, "total": 4194304, "used": 749568 }, "readerData": { "free": 64946176, "total": 67108864, "used": 2162688 }, "rootFileSystem": { "free": 49004544, "total": 192937984, "used": 143933440 } }, "ntp": { "offset": 0, "reach": 0 }, "radioConnection": "connected", "ram": { "free": 113352704, "total": 252338176, "used": 138985472 }, "systemTime": "2020-08-06T10:21:02Z", "uptime": "2 days 4:53:48" }
Interface Overview
19
Interface Overview
202 Content-Type: application/json { "imageDownloadProgress":100, "overallUpdateProgress":100, "status":"Rebooting" }
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] } 500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }

GET /network

Retrieves reader network information.
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 8 GET /network - Request Successful
Returns HTTP/1.1 status code 400 if the request is bad request.
20
Interface Overview
Figure 9 GET /network - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
Figure 10 GET /network - Internal Device Error
21
Example
REQUEST
GET /network Accept: application/json
RESPONSE
200 Content-Type: application/json
{ "dhcp": true, "dnsAddress": "10.17.1.30", "gatewayAddress": "0.0.0.0", "hostName": "FX9600FCF36D", "ipAddress": "10.17.130.66", "macAddress": "84:24:8D:FC:F3:6D", "subnetMask": "255.255.255.0" }
Interface Overview
400 Content-Type: application/json
{ "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
500 Content-Type: application/json
{ "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
22

PUT /network

Changes the reader network configuration.
Figure 11 PUT /network - Payload Schema
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 12 PUT /network - Request Successful
Interface Overview
Returns HTTP/1.1 status code 400 if the request is bad request.
Figure 13 PUT /network - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
Figure 14 PUT /network - Internal Device Error
23
Example
REQUEST
PUT /network Accept: application/json Content-Type: application/json { "dhcp": true, "dnsAddress": "10.17.1.30", "gatewayAddress": "0.0.0.0", "hostName": "FX9600FCF36D", "ipAddress": "10.17.130.66", "macAddress": "84:24:8D:FC:F3:6D", "subnetMask": "255.255.255.0" }
RESPONSE
200 Content-Type: application/json 400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
Interface Overview
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }

PUT /reboot

Reboots the reader with the device id provided.
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 15 PUT /reboot - Request Successful
Returns HTTP/1.1 status code 400 if the request is bad request.
24
Interface Overview
Figure 16 PUT /reboot - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
Figure 17 PUT /reboot - Internal Device Error
25
Example
REQUEST
PUT /reboot Accept: application/json
RESPONSE
200 Content-Type: application/json
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
Interface Overview

PUT /gpo

Set the GPO state on the specified port of the reader.
Figure 18 PUT /gpo - Set gpo State
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 19 PUT /gpo - Request Successful
Returns HTTP/1.1 status code 400 if the request is bad request.
26
Interface Overview
Figure 20 PUT /gpo - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
Figure 21 PUT /gpo - Internal Device Error
Example
REQUEST
PUT /gpo Accept: application/json
RESPONSE
200 Content-Type: application/json
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
27

GET /app-led

Retrieves a value indicating the current state of the application LED.
Returns HTTP/1.1 status code 200 if the request was successful. Enum: DEFAULT, NON_DEFAULT.
Figure 22 GET /app-led - Request Successful
Returns HTTP/1.1 status code 400 if the request is bad request.
Figure 23 GET /app-led - Bad Request
Interface Overview
Returns HTTP/1.1 status code 500 if internal device error.
Figure 24 GET /app-led - Internal Device Error
28
Example
REQUEST
GET /app-led Accept: application/json
RESPONSE
200 Content-Type: application/json { "status": "DEFAULT" }
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
Interface Overview
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }

PUT /app-led

Sets the application LED on the reader to the state specified.
Figure 25 PUT /app-led - Payload Schema
Returns HTTP/1.1 status code 200 if the request was successful.
29
Interface Overview
Figure 26 PUT /app-led - Request Successful
Returns HTTP/1.1 status code 400 if the request is bad request.
Figure 27 PUT /app-led - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
Figure 28 PUT /app-led - Internal Device Error
30
Example
REQUEST
PUT /app-led Accept: application/json Content-Type: application/json
{ "color":"red", "seconds":60, "flash":true }
RESPONSE
200 Content-Type: application/json
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
Interface Overview
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }

GET /region

Retrieves reader region information.
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 29 GET /region - Request Successful
Returns HTTP/1.1 status code 400 if the request is bad request.
31
Interface Overview
Figure 30 GET /region - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
Figure 31 GET /region - Internal Device Error
32
Example
REQUEST
GET /region Accept: application/json
RESPONSE
200 Content-Type: application/json { "channelData": [ "865400", "866000", "866600" ], "lbtEnabled": false, "regulatoryStandard": "India", "region": "India"
}
Interface Overview
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }

GET /config

Retrieves the reader configuration.
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 32 GET /config - Request Successful
Returns HTTP/1.1 status code 400 if the request is bad request.
33
Interface Overview
Figure 33 GET /config - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
Figure 34 GET /config - Internal Device Error
34
Example
REQUEST
GET /config Accept: application/json
RESPONSE
200 Content-Type: application/json { "xml":"<?xml version='1.0'?>\n<Motorola
xmlns:Falcon='http://www.motorola.com/RFID/Readers/Config/Falcon' xmlns='http://www.motorola.com/RFID/Readers/Config/Falcon'>\n<Config>\n<AppVersion major='3' minor='0' build='28' maintenance='0'/>\n<CommConfig EnabledStacks='Both' DisableRAPktProcessing='0' EnableDHCPv6='1' IPv6StaticIPAddr='fe80::1' IPv6SubnetMask='64' IPv6StaticGateway='::' IPv6DNSIP='fe80::20' DHCP='1'
IPAddr='10.17.130.66' Mask='255.255.255.0' Gateway='10.17.130.1' DNS='0.0.0.0' HttpRunning='1' TelnetActive='2' FtpActive='2' usbMode='0' WatchdogEnabled='1' SerialConTimeout='0' SNTP='0.0.0.0' sntpHostDisplayMode='0' llrpClientMode='0' llrpSecureMode='0' llrpSecureModeValidatePeer='0' llrpPort='5084' llrpHostIP='192.168.127.2' allowllrpConnOverride='0'/>\n<Bluetooth discoverable='0' pairable='0' PincodeEnabled='0' passkey='165CB22DA5BE7BBEFB77709DD0A94B03FB77709DD0A94B03FB77709DD0A94B03FB77709DD0A94B 03FB77709DD0A94B03FB77709DD0A94B03FB77709DD0A94B03' startIP='192.168.0.2' endIP='192.168.0.3'/>\n<WirelessConfig essid='' autoconnect='0'/>\n<RegionConfig RFCountry='India' RFRegulatory='India' RFScanMode='1' LBTEnable='0' ChannelData='0000000000000007'/>\n<SnmpConfig snmpVersion='1' heartbeat='1'/>\n<SyslogConfig RemoteIp='0.0.0.0' RemotePort='514' LogMinSeverity='7' ApplyFilter='0' MinimumSeverity='7' ProcessFilter='rmserver.elf,llrpserver.elf,snmpextagent.elf,RDMPAgent'/>\n<UserList>\n< User name='admin' PSWD='$1$o4m1fJk8$gF6MDTyoRqvTI4cY5Knlr1'/>\n<User name='rfidadm' PSWD='15491'/>\n</UserList>\n<IPReader name='FX9600FCF36D FX9600 RFID Reader' desc='FX9600FCF36D Advanced Reader' flags='0' MonoStatic='0' CheckAntenna='1' gpiDebounceTime='0' gpioMapping='0' idleModeTimeOut='0' diagMode='0' extDiagMode='0' contact='Zebra Technologies Corporation' PowerNegotiation='0' PowerNegotiationProtocol='0' allowGuestLogin='1'>\n<ReadPoint name='Read Point 1' flags='1' CableLossPerHundredFt='10' CableLength='10'/>\n<ReadPoint name='Read Point 2' flags='1' CableLossPerHundredFt='10' CableLength='10'/>\n<ReadPoint name='Read Point 3' flags='1' CableLossPerHundredFt='10' CableLength='10'/>\n<ReadPoint name='Read Point 4' flags='1' CableLossPerHundredFt='10' CableLength='10'/>\n</IPReader>\n<SerialPortConf Mode='0' Baudrate='115200' Databits='8' Parity='None' Stopbits='0' Flowcontrol='hardware' TagMetaData='0' InventoryControl='None'/>\n<FXConnectConfig FXConnectMode='0' TagMetaData='0' InventoryControl='None' HeartBeatPeriod='0' IsAutostart='0'/>\n</Config>\n<MOTOROLA_LLRP_CONFIG><LLRP_READER_CONFIG />\n</MOTOROLA_LLRP_CONFIG>\n<RadioProfileData><RadioRegisterData Address='0' Data='00'/>\n</RadioProfileData>\n<CustomProfileData ForceEAPMode='0' FIPS_MODE_ENABLED='0' MaxNumberOfTagsBuffered='512'/>\n</Motorola >\n"
}
Interface Overview
35
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }

PUT /config

Changes the reader configuration.
Interface Overview
Figure 35 PUT /config - Payload Schema
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 36 PUT /config - Request Successful
Returns HTTP/1.1 status code 400 if the request is bad request.
Figure 37 PUT /config - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
36
Interface Overview
Figure 38 PUT /config - Internal Device Error
37
Example
REQUEST
200 Content-Type: application/json { "xml":"<?xml version='1.0'?>\n<Motorola
xmlns:Falcon='http://www.motorola.com/RFID/Readers/Config/Falcon' xmlns='http://www.motorola.com/RFID/Readers/Config/Falcon'>\n<Config>\n<AppVersionmajor
='3' minor='0' build='28' maintenance='0'/>\n<CommConfig EnabledStacks='Both' DisableRAPktProcessing='0' EnableDHCPv6='1' IPv6StaticIPAddr='fe80::1' IPv6SubnetMask='64' IPv6StaticGateway='::' IPv6DNSIP='fe80::20' DHCP='1' IPAddr='10.17.130.66' Mask='255.255.255.0' Gateway='10.17.130.1' DNS='0.0.0.0' HttpRunning='1' TelnetActive='2' FtpActive='2' usbMode='0' WatchdogEnabled='1' SerialConTimeout='0' SNTP='0.0.0.0' sntpHostDisplayMode='0' llrpClientMode='0' llrpSecureMode='0' llrpSecureModeValidatePeer='0' llrpPort='5084' llrpHostIP='192.168.127.2' allowllrpConnOverride='0'/>\n<Bluetooth discoverable='0' pairable='0' PincodeEnabled='0' passkey='165CB22DA5BE7BBEFB77709DD0A94B03FB77709DD0A94B03FB77709DD0A94B03FB77709DD0A94B 03FB77709DD0A94B03FB77709DD0A94B03FB77709DD0A94B03' startIP='192.168.0.2' endIP='192.168.0.3'/>\n<WirelessConfig essid='' autoconnect='0'/>\n<RegionConfig RFCountry='India' RFRegulatory='India' RFScanMode='1' LBTEnable='0' ChannelData='0000000000000007'/>\n<SnmpConfig snmpVersion='1' heartbeat='1'/>\n<SyslogConfig RemoteIp='0.0.0.0' RemotePort='514' LogMinSeverity='7' ApplyFilter='0' MinimumSeverity='7' ProcessFilter='rmserver.elf,llrpserver.elf,snmpextagent.elf,RDMPAgent'/>\n<UserList>\n< User name='admin' PSWD='$1$o4m1fJk8$gF6MDTyoRqvTI4cY5Knlr1'/>\n<User name='rfidadm' PSWD='15491'/>\n</UserList>\n<IPReader name='FX9600FCF36D FX9600 RFID Reader' desc='FX9600FCF36D Advanced Reader' flags='0' MonoStatic='0' CheckAntenna='1' gpiDebounceTime='0' gpioMapping='0' idleModeTimeOut='0' diagMode='0' extDiagMode='0' contact='Zebra Technologies Corporation' PowerNegotiation='0' PowerNegotiationProtocol='0' allowGuestLogin='1'>\n<ReadPoint name='Read Point 1' flags='1' CableLossPerHundredFt='10' CableLength='10'/>\n<ReadPoint name='Read Point 2' flags='1' CableLossPerHundredFt='10' CableLength='10'/>\n<ReadPoint name='Read Point 3' flags='1' CableLossPerHundredFt='10' CableLength='10'/>\n<ReadPoint name='Read Point 4' flags='1' CableLossPerHundredFt='10' CableLength='10'/>\n</IPReader>\n<SerialPortConf Mode='0' Baudrate='115200' Databits='8' Parity='None' Stopbits='0' Flowcontrol='hardware' TagMetaData='0' InventoryControl='None'/>\n<FXConnectConfig FXConnectMode='0' TagMetaData='0' InventoryControl='None' HeartBeatPeriod='0' IsAutostart='0'/>\n</Config>\n<MOTOROLA_LLRP_CONFIG><LLRP_READER_CONFIG />\n</MOTOROLA_LLRP_CONFIG>\n<RadioProfileData><RadioRegisterData Address='0' Data='00'/>\n</RadioProfileData>\n<CustomProfileData ForceEAPMode='0' FIPS_MODE_ENABLED='0' MaxNumberOfTagsBuffered='512'/>\n</Motorola >\n"
}
RESPONSE
Interface Overview
200 Content-Type: application/json
38
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }

Control Interface

Interface Overview
The Control Interface includes the set of APIs listed in Table 2.
Table 2 Control Interface APIs

PUT /start

Starts the reader reading tags.
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 39 PUT /start - Request Successful
Returns HTTP/1.1 status code 400 if the request is bad request.
API Endpoints Control APIs Description Page
PUT /start Starts the reader reading tags. 39
PUT /stop Stops the reader reading tags. 41
GET /mode Retrieves the current reader tag identification mode. 43
PUT /mode Changes the reader tag identification mode. 45
39
Interface Overview
Figure 40 PUT /start - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
Figure 41 PUT /start - Internal Device Error
40
Example
REQUEST
PUT /start Accept: application/json
RESPONSE
200 Content-Type: application/json
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
Interface Overview

PUT /stop

Stops the tag reads on the reader.
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 42 PUT /stop - Request Successful
Returns HTTP/1.1 status code 400 if the request is bad request.
Figure 43 PUT /stop - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
41
Figure 44 PUT /stop - Internal Device Error
Example
REQUEST
PUT /stop Accept: application/json
RESPONSE
200 Content-Type: application/json
Interface Overview
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
42

GET /mode

Retrieves the current reader tag identification mode.
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 45 PUT /stop - Request Successful
Interface Overview
Returns HTTP/1.1 status code 400 if the request is bad request.
Figure 46 PUT /stop - Bad Request
Returns HTTP/1.1 status code 500 if internal failure.
Figure 47 PUT /stop - Internal Failure
43
Example
REQUEST
GET /mode Accept: application/json
RESPONSE
200 Content-Type: application/json { "antennas": [ 1, 2, 3, 4 ], "filter": {}, "mode": "simple" }
Interface Overview
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
44

PUT /mode

Changes the reader tag identification mode.
Figure 48 PUT /mode - Payload Schema
Interface Overview
Returns HTTP/1.1 status code 200 if the request was successful.
Figure 49 PUT /mode - Request Successful
Returns HTTP/1.1 status code 400 if the request is bad request.
Figure 50 PUT /mode - Bad Request
Returns HTTP/1.1 status code 500 if internal device error.
45
Figure 51 PUT /mode - Internal Device Error
Example
REQUEST
PUT /mode Accept: application/json Content-Type: application/json { "antennas": [ 1, 2, 3, 4 ], "mode": "simple" }
RESPONSE
Interface Overview
200 Content-Type: application/json
400 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
500 Content-Type: application/json { "code": 1, "message": "error description", "parameters": ["List of error parameters"] }
46

Data Interface

In local or hybrid deployments the tag data is sent to a HTTP/HTTPS URL and POST requests. The tag data sent over the data interface is a JSON payload whose format is defined Tag Event Message Formats.

Tag Event Message Formats

All tag events messages are in JSON format.
All event messages have a timestamp, type, and data.
The timestamp is a string that contains the date and time in ISO-8607 format. For example,
2020-01-08T15:36:53+00:00.
The type is a string that identifies the type of message. Tag events are inventory, simple, portal, or conveyer type.
Data is a JSON object that contains the data in the event.
The data in tag event messages always contains the idHex and format of the tag being reported and
additional information.
idHex is a string of hex digits that indicates the tag’s identifier (UII or EPC). See format below.
Interface Overview
Format is a string that indicates the format of the tag’s identifier (either uii or epc). If the PC bits indicate that the tag ISO is encoded, the idHex represents the Unique Item Identifier (UII). If the PC bits indicate that the tag is GS1 encoded, the idHex represents the Electronic Product Code (EPC).
Antennas is an optional field that is a number that indicates which antenna read the tag. Inventory, Conveyer, and Portal modes support this field.
peakRSSI is an optional field that is a number that indicates the peak RSSI since the previous tag event message for this tag. This is only supported in Inventory mode.
seenCount is an optional field that is a number that indicates the number of times this tag was read since the previous tag event message for this tag. This is only supported in Inventory mode.
47
www.zebra.com
Loading...