Manual

SimplyRFiD Pogi API Manual

Chapter 1: Login API Calls
A. /home

Description: Navigate to landing page after successful login
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: N/A
Error Response: Possible 404 or No Connection

B. /login

Description: Navigate to login page
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: N/A
Error Response: Possible 404 or No Connection

C. /login-post

Description: Check login credentials
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: N/A
Error Response: Possible 404 or No Connection

D. /logout-post

Description: Logout session then redirect back to login page
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: N/A
Error Response: Possible 404 or No Connection

Chapter 2: Public API Calls
A. /cmdc

Description: Create mobile device credentials
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"deviceId": String, "name": String}
Success Response: {"response": "OK"}
Error Response: Possible 404 or No Connection

B. /request-token

Description: Request a token for mobile access, by sending the mobile's deviceId, which is pre registered in the database
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"deviceId": String}
Success Response: {"response": "OK", "token": String}
Error Response:
{"response": "Warning", "message": "DeviceID not found"}
{"response": "Warning", "message": "No data received."}
{"response": "Error", "message": "Data Error Code": [ERROR CODE]"}

C. /get-version

Description: Get the current version of Pogi Server
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: {"response": "OK", "message": String}
Error Response: 500 Internal Server Error
Note: Http Status is still 200 for error responses. Please don't rely on the status

D. /server-health

Description: Get server health data
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: {"response": "OK", "data": String}
Error Response: {"response": "Error", "message": "Failed to fetch DB health"}

E. /check-user-exists

Description: Check if user already existing
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"userName": String[deviceID]}
Success Response: {"response": "OK", "message": Existing|Not Existing}
Error Response: {"response": "Warning", "message": "No data received."}

F. /get-instance-name

Description: Get current server name
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: {"response": "OK", "name": String}
Error Response: {"response": "Error", "message": "Error:[ERROR CODE]}

Chapter 3: Web API Calls
A. /dashboard

Description: Navigate to dashboard page
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: N/A
Error Response: Possible 404 or No Connection

B. /history

Description: Fetch the history data based on the filters provided
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"from": Datetime,
"to": Datetime,
"eventType": String,
"zone": String,
"limit": Int,
"offSet": Int,
"orderColumn": String,
"orderDirection": String[ASC,DESC]}
Success Response: An Array of the History table that resulted from the Query:
{"count":{"total": Int},
"data":[{
"historyId": String,
"sessionId": String,
"reader": String,
"antenna": String,
"tag": String,
"state": String,
"eventDate": Datetime,
"received": Datetime,
"rssi": float,
"weight": float,
"retVal": String,
"xmitDate": Datetime,
"zone": String}]}
Error Response:
{"response": "Warning", "message": "No Result Found" }
{"response": "Error", "message": "SQL Error" }
Note: Http Status is still 200 for error responses. Please don't rely on the status.

C. /get-latest-date-history

Description: Get latest date received from history
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: {"date": Datetime}
Error Response: Possible 404 or No Connection

D. /run-report

Description: Get user report list
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: Array of data
[{"uid": String,
"weight": float,
"last_calibration_date": Datetime,
"model_number": String,
"owner": String,
"tag": String,
"marker": String,
"id": String,
"antenna": Int,
"assetId": String,
"receivedTime": Datetime,
"part_number": String,
"name": String,
"state": String[present|absent],
"reader": Int,
"serial_number": String,
"description": String,
"historyId": String,
"calibration_due_date": Datetime,
"retVal": Int,
"eventDate": Datetime,
"manufacturer": String,
"received": Datetime,
"zone": String,
"sessionId": String,
"rssi": float,
"xmitDate": Datetime
},
...]
Error Response:
{"response": "Warning", "message": "No Result Found"}
{"response": "Warning", "message": "Your file exceeds 10MB and consists of {approxCount} records, will generate approx. of {approxSize}"}

E. /run-report-in-background

Description: Dump user report into log files
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: {"response": "OK"}
Error Response: {"response": "Error", "message": "There was a problem running the report in the Background"}

F. /get-reports

Description: Get user report list
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: {"response": "OK", "data": resultList}
Error Response: {"response": "Error", "message": "Error (Error Code)"}

G. /download-file

Description: Get JSON encoded user report
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"reportId": String[reportId]}
Success Response: {"response": "OK", "data": result}
Error Response: {"response": "Error", "message": "Error (Error Code)"}

H. /get-pogi-column-config

Description: Get Pogi column configuration
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response:
{"headerColumns": String Array,
"historyColumns": JSON,
"editorColumns": String Array,
"currentLocColumns": String Array}
Error Response: Possible 404 or No Connection

Chapter 4: Mobile API Calls
A. /tag-by-location

Description: Get Unique Tags by location
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: location
Data Params: N/A
Success Response: Array of tag IDS
{"response": "OK", "data":[ "TAGID",... ]}
Error Response:
{"response": "Error", "message": "No location received"}
{"response": "Error", "message": "SQL Error" }
Possible 404 or No Connection

B. /tag-by-location-dict

Description: Get Unique Tags by location
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"browserTimezone": String, "location": String}
Optional Data Params:
{"location": String
OR/AND
"tagIds": [String...]}
Success Response: Key value pairs
{"response": "OK",
"data":[ {"tagId": {
"name": String,
"zone": String,
"update_date": String
}, … ]
}
Error Response:
{"response": "Error", "message": "No location received"}
{"response": "Error", "message": "SQL Error" }
Possible 404 or No Connection

C. /tag-by-date

Description: Get Unique Tags on specified date
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: date
Data Params: N/A
Success Response: {"response": "OK",
"data":[ {"tagId": {
"name": String,
"zone": String,
"update_date": String
}, … ]
}
Error Response:
{"response": "Error", "message": "No location received"}
{"response": "Error", "message": "SQL Error" }
Possible 404 or No Connection

D. /tag-by-date-count

Description: Get count of Unique Tags on specified date
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: date
Data Params: N/A
Success Response: {"response": "OK", "count": Int}
Error Response:
{"response": "Error", "message": "No location received"}
{"response": "Error", "message": "SQL Error" }
Possible 404 or No Connection

E. /tag-name-by-location

Description: Get Unique Tags by location
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: location
Data Params: N/A
Success Response: Key value pairs
{response: "OK", data:[ {"tagId":String, … } ]}
Error Response:
{"response": "Error", "message": "No location received"}
{"response": "Error", "message": "SQL Error" }
Possible 404 or No Connection

F. /add-qt

Description: Add/Push TagID with Asset ID. If the AssetID or RFID is existing, responds with an error
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"assetId": String, "tagId": String}
Optional Params:
{"name": String,
"zone": String,
"owner": String,
"model_number": String,
"serial_number": String,
"part_number": String,
"calibration_due_date": YYYY-MM-DD,
"last_calibration_date": YYYY-MM-DD,
"description": String,
"browserTimezone": String}
Note: Browser Timezone is required if date fields are included
Success Response: {"response": "OK"}
Error Response:
{"response": "Warning", "message": "Tag ID is already Existing" }
{"response": "Error", "message": "SQL Error"}
{"response": "Error", "message": "No assetId or tagId found" }
Note: Http Status is still 200 for error responses. Please don't rely on the status

G. /update-qt

Description: Update existing AssetID (in commission table) to a new RFID TagId
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"assetId": String, "tagId": String}
Optional Params:
{"name": String,
"zone": String,
"owner": String,
"model_number": String,
"serial_number": String,
"part_number": String,
"calibration_due_date": YYYY-MM-DD,
"last_calibration_date": YYYY-MM-DD,
"description": String,
"browserTimezone": String}
Note: Browser Timezone is required if date fields are included
Success Response: {"response": "OK"}
Error Response:
{"response": "Error","message": "SQL Error"}
{"response": "Error","message": "No assetId or tagId found"}
Note: Http Status is still 200 for error responses. Please don't rely on the status.

H. /get-rfid-prefix

Description: Get the RFID Prefix from configuration file, if nothing exists, defaults to '2F'
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: {"prefix": 'String'}
Error Response: Possible 404 or No Connection

I. /upload-inventory

Description: Upload the Inventory gathered by the handheld reader
Method: POST
Type: application/json
URL Params: N/A
Data Params: Array of captured tag ids
{ data: {
Location : [{
"antenna": Int,
"eventDate": Datetime,
"lat": float,
"lon": float,
"marker": String,
"reader": String,
"retVal": Int,
"rssi": float,
"sessionId": String,
"state": String[present|absent],
"tag": String,
"weight": float,
"xmitDate": Datetime,
"zone": String
},…]}
(Array of Tags), …, (Location props)
}
Success Response: {"response": "OK"}
Error Response:
{"response": "Error", "message": "SQL Error" }
{"response": "Error", "message": "No data received"}

J. /get-config

Description: Get server configuration
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response:
{"response": "OK",
"config": {
"rfidPrefix": String,
"serverName": String,
"serverProtocol": String,
"instanceType": String,
"version": String
}}
Error Response: {"response": "Error", "message": [ERROR CODE]}

K. /get-item-info

Description: Get item info from master list
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: tagID
Data Params: N/A
Success Response: {"response": "OK", "info" : { data }}
Error Response:
{"response": "Warning", "message": "No data received."}
{"response": "Error", "message": "No data found"}
{"response": "Error", "message": "Data Error Code : [ERROR CODE] "}

L. /get-item-info-by-tag

Description: Get item info by tag
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: tag
Data Params: N/A
Success Response: {"response": "OK", "info":{ data }}
Error Response: {"response": "Error", "message": "Data Error"}

M. /get-item-state-data-by-tag

Description: Get item info by tag
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: tagID
Data Params: N/A
Success Response: {"response": "OK", "info":{ data }}
Error Response: {"response": "Error", "message": "Data Error"}

N. /delete-item

Description: Delete tag information and history
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: tagID
Data Params: N/A
Success Response: {"response": "OK"}
Error Response: {"response": "Data Error"}

O. /save-item-info

Description: Save tag information
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: {"response": "OK"}
Error Response: {"response": "Warning", "message": "No data received."}

P. /move-tags-to-zone

Description: Update tags to new zone
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"found": [List of tagids], "zone": String}
Success Response: {"response": "OK"}
Error Response: {"response": "Error", "message": "Data Error"}

Chapter 5: ID API Calls
A. /id-add

Description: Add/Push TagID with Asset ID. If the AssetID or RFID is existing, responds with an error
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"tagId": String}
Optional Params:
{"name": String,
"assetId": String,
"zone": String,
"owner": String,
"model_number": String,
"serial_number": String,
"part_number": String,
"calibration_due_date": YYYY-MM-DD HH:MM:SS,
"last_calibration_date": YYYY-MM-DD HH:MM:SS,
"description": String,
"browserTimezone": String,
"lat": Float,
"lon": Float,
"altitude": Float,
"image": String,
"image_list": String,
"image_info": String
}
Note: Browser Timezone is required if date fields are included
Success Response: {"response": "OK"}
Error Response:
{"response": "Warning", "message": "Tag ID is already Existing" }
{"response": "Error", "message": "SQL Error"}
{"response": "Error", "message": "No assetId or tagId found" }
Note: Http Status is still 200 for error responses. Please don't rely on the status

B. /id-update

Description: Update data fields of existing RFID TagId
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {tagId: 'String'}
Optional Params:
{"name": String,
"assetId": String,
"zone": String,
"owner": String,
"model_number": String,
"serial_number": String,
"part_number": String,
"calibration_due_date": YYYY-MM-DD HH:MM:SS,
"last_calibration_date": YYYY-MM-DD HH:MM:SS,
"description": String,
"browserTimezone": String,
"lat": Float,
"lon": Float,
"altitude": Float,
"image": String,
"image_list": String,
"image_info": String
}
Success Response: {"response": "OK"}
Error Response:
{"response": "Error","message": "SQL Error"}
{"response": "Error","message": "No assetId or tagId found"}
Note: Http Status is still 200 for error responses. Please don't rely on the status.

C. /id-exists

Description: Check if tag ID exists
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: tagID
Data Params: {"tagId": String} or {"id": String} or {"ids": [String]}
Success Response: {"response": "OK", "info": String}
Error Response: {"response": "Warning", "message": "No data received."}

D. /id-delete

Description: Delete tag
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: tagID
Data Params: {"tagId": String}
Success Response: {"response": "OK"}
Error Response:
{"response": "Error", "message": "no tagId specified" }
{"response": "Error", "message": [ERROR CODE] }

E. /id-deleted-list

Description: Get list of deleted tags
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response:
{"response":"OK", "data": [
{"delete_date": Datetime,
"uid": String,
"tag_id": String }, … ]}
Error Response: {"response": "Error", "message": "Data Error"}

F. /id-deleted-count

Description: Get count of deleted tags
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: {"response":"OK", "count": Int}
Error Response: {"response": "Error", "message": "Data Error"}

G. /image-upload

Description: Upload image to server
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"name" : String,
"image" : }
Success Response: {"response":"OK"}
Error Response: {"response": "Error", "message": "Data Error"}

H. /id-set-image

Description: Set image id
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"tagID" : String,
"source" : String}
Success Response: {"response":"OK"}
Error Response: {"response": "Error", "message": "Data Error"}

I. /id-set-image-list

Description: Set list image id
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"tagID" : String,
"source" : String}
Success Response: {"response":"OK"}
Error Response: {"message": String[Error message], "tagId": "", "response": "Error"}

J. /id-set-image-info

Description: Set info image id
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"tagID" : String,
"source" : String}
Success Response: {"response":"OK"}
Error Response: {"message": String[Error message], "tagId": "", "response": "Error"}

K. /image-resize

Description: Resize image
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params:
{"sizeX": Int,
"sizeY": Int,
"inFile": String,
"outFile": String}
Success Response: null
Error Response: null

Chapter 6: Marker Management API Calls
A. /marker-list

Description: Get all markers data
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: Zone
Data Params: N/A
Success Response: {"response": "OK", "data": [{tag_id, name}]}
Error Response: {"response": "Error", "message": "Data Error"}

B. /marker-add

Description: Get all markers data
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"tagId": String,
"name": String,
"zone": String}
Success Response: {"response": "OK"}
Error Response:
{"response": "Error", "message": "Data Error"}
{"response": "Error", "message": "No Data Received."}

C. /marker-delete

Description: Delete marker
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: tagID
Data Params: N/A
Success Response: {"response": "OK"}
Error Response:
{"response": "Error", "message": [SQL Error Messages] }
"response": "Error", "message": "no tagId specified"

Chapter 7: Zone Management API Calls
A. /zone-list

Description: Get the Zones/Location List
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: Array of zone/location names {"data":[ "Zone1",… ]}
Error Response: Possible 404 or No Connection

B. /zone-add

Description: Add a new Zone/Location
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: {"zoneName": 'String', "reader": 'String'}
Success Response: {"response": "OK"}
Error Response:
{"response": "Warning", message: "Zone/Location Already Exists", existing: "{Existing Data}"}
{"response": "Error", "message": "Cannot create zone named Commissioned" }
{"response": "Error", "message": "No Data Received"}
{"response": "Error", "message": "SQL Error" }

C. /zone-delete

Description: Delete a Zone/Location
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: zone
Data Params: N/A
Success Response: {"response": "OK"}
Error Response: {"response": "Error", "message": "no zone specified" }

D. /get-zones-with-date

Description: Get the Zone/Location List with last update date
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: browserTimezone (ex. Asia/Manila)
Data Params: N/A
Success Response: Array of json obj with zone and date properties
{data:[ {"zone": String, "update_date": String}, … ] }
Error Response: Possible 404 or No Connection

E. /get-all-zones

Description: Get the Zones/Location List
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: Array of zone/location names
{"data": [ {"antenna": String, "zone": String, "reader": String},…]}
Error Response: Possible 404 or No Connection

F. /last-zone-list-update

Description: Get the latest date the zone list (table) is updated
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: {"date": "YYYY-MM-DD HH:MM:SS"}
Error Response: {"response": "Warning", "message": "Zone List is Empty"}

Chapter 8: User Management API Calls
A. /settings

Description: Navigate to settings page
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: N/A
Error Response: Possible 404 or No Connection

B. /users

Description: Navigate to user page
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: N/A
Error Response: Possible 404 or No Connection

C. /get-users-list

Description: Get list of users
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: Array of json obj with user information
{"id": String,
"user_name": String,
"name": String,
"same_login": String[true|false],
"hide": [hide|null]}
Error Response: Possible 404 or No Connection

D. /get-user-info

Description: Get user information
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: userID
Data Params: N/A
Success Response:
{"id": String,
"user_name": String,
"name": String,
"password": String,
"admin": String,
"same_user": String,
"email": String}
Error Response: {"response": "error", "error": "Did no receive data."}

E. /save-user-info

Description: Save new user
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: N/A
Data Params: N/A
Success Response: {"response": "ok"}
Error Response:
{"response": "error", "error": "User already exist"}
{"response": "error", "error": "Did no receive data."}

F. /delete-user

Description: Delete user
Method: POST
Type: multiform or x-www-form-urlencoded
URL Params: userID
Data Params: N/A
Success Response: {"response": "ok"}
Error Response: {"response": "error", "error": "Did no receive data."}

G. /get-users-by-zone

Description: Get User's Names by zone
Method: GET
Type: multiform or x-www-form-urlencoded
URL Params: zone
Data Params: N/A
Success Response: {"response": "OK", "users": [...]}
Error Response:
{"response": "Warning", "message": "No data received."}
{"response": "Error", "message": "Data Error Code : [ERROR CODE]"}

Try RFID Risk Free

Includes Wave app, CS108 RFID handheld, Pogi data server access, our starter kit of rfid tags, and an iPod Touch.

Pay just $99/month plus a one-time charge for the iPod of $250. You may provide your own iOS 13 (or later) device in place of the iPod. The CS108 RFID handheld remains the property of SimplyRFiD if you cancel service. You may pre-pay the year for $990 (2 free months).

Get Started