- New support for GoInsight API -
findDataFromInsight
queries through parametercustomFilterList
- Modify
README.md
- Explanation of Problems Encountered in Optimizing the SDK Authentication Process and the Enhancement of Error Codes - Version greater than or equal to 9.5.0 authentication signature encryption upgrade
- New support for terminal API based on serialNo
- Fix the handling for HTTP status 204
- Fix AppApi.AppSearchOrderBy.AppName_desc and AppApi.AppSearchOrderBy.AppName_asc
- Add terminal time zone configuration.
- Add terminal geoFence whiteList configuration Api: search,create,delete Api.
- Fix default type conversion: TerminalFirmwareApi.pushFirmware2Terminal,TerminalRkiApi.pushRkiKey2Terminal,TerminalGroupRkiApi.pushRkiKey2Group
- Compatible with older versions, TerminalApkApi, TerminalRkiApi, and TerminalFirmwareApi all return A(Active) for parameters or responses related to status when it is C(Completed).
- Add possible error codes for TERMINAL_API doc.
- Improved retry strategy. When server return 502 response code the retry will work too.
- Add
filteredCount
field to the Terminal Group Apk document.
- Add get terminal network information API
- Update guava and gson version
- Fix isValidEmailAddress method in custom validation.
- Fix method removeTerminalOutGroup in TerminalGroupApi.
- Add field description to the merchant API document.
- Fix validateRange method in custom validation.
- Add search field modelName to app API
- Remove dependency
hibernate-validator
and use custom validation.
There may be some error messages in the custom validation process that are different from the error messages provided by the original dependency
- Add merchant variable APIs
- terminal API support copy a exist terminal
- The fields such as effectiveTime and expiredTime are added respectively for terminal and group push related tasks.
- Search terminals API is updated, add resellerName and merchantName parameters.
- Make fields contact, country and phone are not mandatory in update merchant API. Please upgrade SDK to 8.5.1 if developer is using version 8.5.0.
- Updated get terminal details API to support return accessory list.
- Updated create merchant API, fields email, contact, country and phone are not mandatory anymore.
- The API TerminalAPI.getTerminal(Long terminalId, boolean includeDetailInfoList) is not compatible with or old API, the structure of the return result is not same as before. It will cause compile fail if developer do not change codes after upgrading SDK to 8.5. Please refer to the API document.
- Add group RKI related APIs
- Remove log4j dependency, developers need to choose the log implementations by self
- Terminal added new property 'Remark'
- The max length of Location property in terminal increased to 64
Please note all the changes is based on PAXStore version 8.1.0.
- PushHistoryApi supports search latest parameter push history
- PushHistoryApi supports search optimized parameter push history
- PushHistoryApi supports search latest optimized parameter push history
- Add new search app API to support search apps filter by reseller
- Add new search push firmware task API to support search by tasks filter by serial number
- TerminalApkApi supports push a parameter app inherite parameters from the lastest success push history
- EntityAttributeApi does not support regular expression anymore
- GROUP is removed from enum VariableSource, if you are using it when search terminal variables you need to change codes
- Terminal API supports get details when get single terminal
- Provide the get method for the properties rateLimit, rateLimitRemain and rateLimitReset in the class Result
- Terminal API supports push command(lock, unlock, restart) to terminal
- Add name and fileSize properties to ApkDTO in search application result
- Change the SDK default connection timeout and read timeout value from 30 seconds to 5 seconds
- Max records per page is reduced from 1000 to 100 (except GoInsightApi). If pass a value greate than 100 SDK validation will fail
- Developer inforamtion is removed from search result of AppApi
- Merchant supports new properties 'city' and 'province'
- Add new terminal related APIs in TerminalApi
- Move terminal to another reseller and
merchant
moveTerminal(Long terminalId, String resellerName, String merchantName)
- Get terminal PED information
getTerminalPed(Long terminalId)
- Get terminal configuration(allow replacement)
getTerminalConfig(Long terminalId)
- Update terminal configuration(allow
replacement)
updateTerminalConfig(Long terminalId, TerminalConfigUpdateRequest terminalConfigUpdateRequest)
- Move terminal to another reseller and
merchant
- Remove lombok dependency
- Update guava from 20.0 to 28.2
- Update hibernate-validator to 5.3.5.Final
- Add GoInsight related APIs
- Find app business data by query code
findDataFromInsight(String queryCode)
- Find app business data by query code and date
range
findDataFromInsight(String queryCode, TimestampRangeType rangeType)
- Find app business data by query code, date range and
page
findDataFromInsight(String queryCode, TimestampRangeType rangeType, Integer pageNo, Integer pageSize)
- Find app business data by query code
- Add entity attribute APIs (EntityAttributeApi)
- Get entity attribute by id
getEntityAttribute(Long attributeId)
- Search entity
attribute
searchEntityAttributes(int pageNo, int pageSize, SearchOrderBy orderBy, String key , EntityAttributeType entityType)
- Create entity attribute(this API is market level, reseller has not
permission)
createEntityAttribute(EntityAttributeCreateRequest createRequest)
- Update entity attribute(this API is market level, reseller has not
permission)
updateEntityAttribute(Long attributeId, EntityAttributeUpdateRequest updateRequest)
- Update entity attribute label(this API is market level, reseller has not
permission)
updateEntityAttributeLabel(Long attributeId, EntityAttributeLabelUpdateRequest updateLabelRequest)
- Delete entity attribute(this API is market level, reseller has not
permission)
deleteEntityAttribute(Long attributeId)
- Get entity attribute by id
- Add terminal group related APIs (TerminalGroupApi)
- Search terminal
group
searchTerminalGroup(int pageNo, int pageSize,TerminalGroupSearchOrderBy orderBy, TerminalGroupStatus status, String name,String resellerNames,String modelNames, Boolean isDynamic)
- Get terminal group by id
getTerminalGroup(Long groupId)
- Create terminal group
createTerminalGroup(CreateTerminalGroupRequest createRequest)
- Search
terminal
searchTerminal(int pageNo, int pageSize, TerminalApi.TerminalSearchOrderBy orderBy, TerminalStatus status, String modelName, String resellerName, String serialNo, String excludeGroupId)
- Update terminal group
updateTerminalGroup(Long groupId ,UpdateTerminalGroupRequest updateRequest)
- Activate terminal group
activeGroup(Long groupId)
- Disable terminal group
disableGroup(Long groupId)
- Delete terminal group
deleteGroup(Long groupId)
- Search terminals in
group
searchTerminalsInGroup(int pageNo, int pageSize, TerminalApi.TerminalSearchOrderBy orderBy, Long groupId, String serialNo, String merchantNames)
- Add terminal(s) to group
addTerminalToGroup(Long groupId, Set<Long> terminalIds)
- Remove terminal(s) out of group
removeTerminalOutGroup(Long groupId, Set<Long> terminalIds)
- Search terminal
group
- Add terminal group push related APIs (TerminalGroupApkApi)
- Get terminal group push task
getTerminalGroupApk(Long groupApkId)
- Get terminal group push task and include specified parameters in
result
getTerminalGroupApk(Long groupApkId, List<String> pidList)
- Search terminal group push
task
searchTerminalGroupApk(int pageNo, int pageSize, SearchOrderBy orderBy , Long groupId, Boolean pendingOnly, Boolean historyOnly, String keyWords)
- Create terminal group push task
createAndActiveGroupApk(CreateTerminalGroupApkRequest createRequest)
- Suspend terminal group push task
suspendTerminalGroupApk(Long groupApkId)
- Delete terminal group push task
deleteTerminalGroupApk(Long groupApkId)
- Get terminal group push task
- Add terminal RKI(remote key injection) APIs (TerminalRkiApi)
- Push RKI key to terminal
pushRkiKey2Terminal(PushRki2TerminalRequest pushRki2TerminalRequest)
- Search RKI push
task
searchPushRkiTasks(int pageNo, int pageSize, SearchOrderBy orderBy, String terminalTid, String rkiKey, PushStatus status)
- Get RKI push task
getPushRkiTask(Long pushRkiTaskId)
- Disable RKI push task
disablePushRkiTask(DisablePushRkiTask disablePushRkiTask)
- Push RKI key to terminal
- Update terminal APIs (TerminalApi)
- Batch add terminal(s) to group(s)
batchAddTerminalToGroup(TerminalGroupRequest groupRequest)
- Batch add terminal(s) to group(s)
- Update reseller APIs (ResellerApi)
- Search reseller RKI
keys
searchResellerRkiKeyList(Long resellerId, int pageNo, int pageSize, String rkiKey)
- Search reseller RKI
keys
-
Add new search terminal API to include geo location, firmware and installed app in search result
-
Add push template related APIs (TerminalApkParameterApi)
Get push template(s)
Create a push template
Update a exist push template by id
Delete a exist push template by id
-
Add terminal variable related APIs (TerminalVariableApi)
Get terminal variable by tid , serialNo , packageName, key, source
Create a terminal variable
Update terminal variable by id
Delete terminal variable by terminal variable id
Batch delete terminalvariable
-
Add search push history result API (PushHistoryApi)
SearchAppPushHistory
-
Add API to verify terminal estate (TerminalEstateApi)
-
Support file type parameter when push app and parameter to terminal
- Add get single push firmware history API
- Add search push firmware history API
- Add Suspend push firmware API
- The return object type change for pushFirmware2Terminal API
- Add search app API
- Add push firmware to terminal API
- Add disable APK push API
- Add uninstall APP API
- Support set connection timeout and read timeout time in API
- Support retry when API encounter network issue
- Add API request rate limit
Add location field to response for terminal related APIs
- Support activate the reseller when create reseller, this improvement only works with PAXSTORE v6.2 and later.
- Support activate the merchant when create merchant, this improvement only works with PAXSTORE v6.2 and later.
NA
- Separate replace merchant email from update merchant API, add additional replace merchant email API.
- Separate replace reseller email from update merchant API, add additional replace reseller email API.
- Do not create user when create reseller but in activate reseller step. Won't affect code.
- email is not mandatory for updating merchant and reseller. If email is empty when call update merchant or reseller API the email won't be updated.
- resellerName is not mandatory for updating merchant. If resellerName is empty when call update merchant API the merchant's reseller won't be updated.
- parentResellerName is not mandatory for updating reseller and we suggest the developers pass null when updating reseller as the API does not support changing reseller's parent. To reserve this parameter is to make sure SDK is compatible with old version.
-
Add a new property createUserFlag in the MerchantCreateRequest and MerchantUpdateRequest to indicate whether to create user, the default value is false. The old version API will create user in create merchant step. The impact is if user udpated SDK to this version and does not do any code change, the API won't create user when creating merchant and activating merchant. If user still need create user for the created merchant he need to set createuserFlag to true when creating or updating a merchant.
-
The update reseller API cannot update the parent anymore.
- Add merchant category releated APIs
- Add terminal apk API
NA