零售储值
# 重复使用储值调整
# 获取重复使用储值调整列表
# 一、接口描述
用于获取重复使用储值调整列表(同UI界面左侧的Search List数据)
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/search/search |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
stSearch | String(Query) | 是 | poscoreRSVAdjust |
beId | long(Query) | 是 | aiM18企业法人[部门]的ID |
formatId | long(Query) | 否 | aiM18[查询格式]的ID,用于获取[查询格式]步骤二中设定的栏位格式;若不使用此参数,则使用默认设置。 |
startRow | int(Query) | 否 | 返回结果的开始行 |
endRow | int(Query) | 否 | 返回结果的结束行 |
quickSearchStr | String(Query) | 否 | 用于设定关键字查找数据 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
String param = "&stSearch=poscoreRSVAdjust&beId=11";
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"stSearch": "poscoreRSVAdjust",
"size": 1,
"stSearchDisplay": "Reusable Stored Value Voucher Adjustment",
"values": [
{
"code": "RSVA0001",
"st_id": 15,
"st_code": "RSVA0001",
"st_desc": "RSVA0001",
"poscoreRSVAdjust.lastModifyUid.simpleUser.desc": "JLTEST",
"iRev": 1,
"id": 15,
"lastModifyDate": "2022-04-17 19:31:27"
}
]
}
# 读取重复使用储值调整
# 一、接口描述
用于读取【重复使用储值调整】数据
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/root/api/read/poscoreRSVAdjust |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
menuCode | String(Query) | 是 | poscoreRSVAdjust |
id | long(Query) | 是 | 重复使用储值调整的id |
param | String(Query) | 否 | 额外的系统参数;JSON字符串 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/poscoreRSVAdjust";
String param = "&menuCode=poscoreRSVAdjust&id=" + id;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"data": {
"poscorersvadjust": [
{
"date": 1650124800000,
"reason": "",
"attachmentNo": 0,
"lastModifyUid": 36,
"code": "RSVA0001",
"useAccess": false,
"expiredDate": -2209017600000,
"iRev": 1,
"sysJson": "{\"autoGenCode\":{\"snId\":714,\"code\":\"RSVA0001\",\"sn\":\"1\"}}",
"reason_cth": "",
"viewCode": "poscoreRSVAdjust",
"addSVExpDate": 253402185600000,
"beId": 1,
"expired": false,
"reason_zh-CN": "",
"printCount": 0,
"useAccessBl": false,
"id": 15,
"statusModifyDate": 1650195087000,
"locked": false,
"lastModifyDate": 1650195087000,
"reason_en": "",
"createUid": 36,
"createDate": 1650195087000,
"lastApproveUid": 36,
"svId": 35,
"expiredUid": 0,
"useAccessWl": false,
"reason_sxg": "",
"i18nField": "{\"reason_en\": \"\"}",
"reason_hy": "",
"reason_jp": "",
"reason_zh-TW": "",
"useAccessAutoCalc": false,
"status": "Y"
}
],
"poscorersvadjustt": [
{
"hId": 15,
"iRev": 1,
"itemNo": " 1",
"svVouId": 1421,
"ce01Module": "poscoreRSVAdjust",
"beId": 1,
"exitExpDate": 253402185600000,
"newExpDate": 253402185600000,
"newBal": 1941,
"exitBal": 1741,
"adjustment": 200,
"id": 20,
"memId": 3
}
]
},
"messages": [],
"status": true
}
# 保存重复使用储值调整
# 一、接口描述
用于新增【重复使用储值调整】
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/root/api/save/poscoreRSVAdjust |
---|---|
http请求方式 | PUT |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
menuCode | String(Query) | 是 | poscoreRSVAdjust |
param | String(Query) | 否 | 额外的系统参数;JSON字符串 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/poscoreRSVAdjust";
String param = "&menuCode=poscoreRSVAdjust";
HttpPut put = new HttpPut(url + "?" + param);
put.addHeader("authorization", access_token);
put.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
put.setEntity(entity);
res = client.execute(put);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("recordId");
}
System.out.println(json);
}
put.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Entity的JSON格式数据如下:
{
"poscorersvadjust": {
"values": [
{
"beId": 1,
"tDate": "2022-04-15",
"svId": 35,
"addSVExpDate": "9999-12-31"
}
]
},
"poscorersvadjustt": {
"values": [
{
"exitExpDate": "9999-12-31",
"newExpDate": "9999-12-31",
"newBal": 2141,
"exitBal": 1941,
"adjustment": 200,
"svVouId": 1421,
"memId": 3
}
]
}
}
4、返回示例
{
"recordId": 16,
"messages": [],
"status": true
}
{
"recordId": 0,
"messages": [
{
"msgDetail": "必填项为空",
"msgCode": "core_101905"
}
],
"status": false
}
# 删除重复使用储值调整
# 一、接口描述
用于删除重复使用储值调整
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/root/api/delete/poscoreRSVAdjust |
---|---|
http请求方式 | DELETE |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
menuCode | String(Query) | 是 | poscoreRSVAdjust |
id | long(Query) | 是 | 重复使用储值调整的id |
param | String(Query) | 否 | 额外的系统参数;JSON字符串 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/poscoreRSVAdjust";
String param = "&menuCode=poscoreRSVAdjust&id=" + id;
HttpDelete delete = new HttpDelete(url + "?" + param);
delete.addHeader("authorization", access_token);
delete.addHeader("client_id", ClientID);
res = client.execute(delete);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
delete.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"messages": [],
"status": true
}
{
"messages": [
{
"msgDetail": "单据已被删除",
"msgCode": "core_101017"
}
],
"status": false
}
# 绑定会员储值调整
# 获取绑定会员储值调整列表
# 一、接口描述
用于获取绑定会员储值调整列表(同UI界面左侧的Search List数据)
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/search/search |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
stSearch | String(Query) | 是 | poscoreMSVAdjust |
beId | long(Query) | 是 | aiM18企业法人[部门]的ID |
formatId | long(Query) | 否 | aiM18[查询格式]的ID,用于获取[查询格式]步骤二中设定的栏位格式;若不使用此参数,则使用默认设置。 |
startRow | int(Query) | 否 | 返回结果的开始行 |
endRow | int(Query) | 否 | 返回结果的结束行 |
quickSearchStr | String(Query) | 否 | 用于设定关键字查找数据 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
String param = "&stSearch=poscoreRSVAdjust&beId=11";
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"stSearch": "poscoreMSVAdjust",
"size": 1,
"stSearchDisplay": "Member-Tied Stored Value Adjustment",
"values": [
{
"code": "JCAAMTSVA0901",
"st_id": 2,
"st_code": "JCAAMTSVA0901",
"st_desc": "JCAAMTSVA0901",
"poscoreMSVAdjust.lastModifyUid.simpleUser.desc": "Joseph Chui",
"iRev": 2,
"id": 2,
"lastModifyDate": "2020-09-08 14:37:39"
}
]
}
# 读取绑定会员储值调整
# 一、接口描述
用于读取【绑定会员储值调整】数据
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/root/api/read/poscoreMSVAdjust |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
menuCode | String(Query) | 是 | poscoreMSVAdjust |
id | long(Query) | 是 | 绑定会员储值调整的id |
param | String(Query) | 否 | 额外的系统参数;JSON字符串 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/poscoreRSVAdjust";
String param = "&menuCode=poscoreRSVAdjust&id=" + id;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"data": {
"poscoremsvadjust": [
{
"date": 1599494400000,
"reason": "",
"attachmentNo": 0,
"lastModifyUid": 5,
"code": "JCAAMTSVA0901",
"useAccess": false,
"expiredDate": -2209017600000,
"iRev": 2,
"sysJson": "",
"reason_cth": "",
"viewCode": "poscoreMSVAdjust",
"addSVExpDate": 1606665600000,
"beId": 1,
"expired": false,
"reason_zh-CN": "",
"printCount": 0,
"useAccessBl": false,
"id": 2,
"statusModifyDate": 1599531710000,
"locked": false,
"lastModifyDate": 1599547059000,
"reason_en": "",
"createUid": 5,
"createDate": 1599531710000,
"lastApproveUid": 5,
"svId": 0,
"expiredUid": 0,
"useAccessWl": false,
"reason_sxg": "",
"adjBaseOn": "mem",
"i18nField": "{\"reason_zh-CN\": \"\"}",
"reason_hy": "",
"reason_jp": "",
"reason_zh-TW": "",
"useAccessAutoCalc": false,
"status": "Y",
"memId": 3
}
],
"poscoremsvadjustt": [
{
"beId": 1,
"hId": 2,
"newExpDate": 1599494400000,
"newBal": 85,
"exitBal": 135,
"svId": 13,
"iRev": 2,
"adjustment": -50,
"id": 2,
"itemNo": " 1",
"ce01Module": "poscoreMSVAdjust",
"memId": 3
},
{
"beId": 1,
"hId": 2,
"newExpDate": 1606665600000,
"newBal": 315,
"exitBal": 135,
"svId": 13,
"iRev": 2,
"adjustment": 180,
"id": 3,
"itemNo": " 2",
"ce01Module": "poscoreMSVAdjust",
"memId": 3
}
]
},
"messages": [],
"status": true
}
# 保存绑定会员储值调整
# 一、接口描述
用于新增【绑定会员储值调整】
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/root/api/save/poscoreMSVAdjust |
---|---|
http请求方式 | PUT |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
menuCode | String(Query) | 是 | poscoreMSVAdjust |
param | String(Query) | 否 | 额外的系统参数;JSON字符串 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/poscoreRSVAdjust";
String param = "&menuCode=poscoreRSVAdjust";
HttpPut put = new HttpPut(url + "?" + param);
put.addHeader("authorization", access_token);
put.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
put.setEntity(entity);
res = client.execute(put);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("recordId");
}
System.out.println(json);
}
put.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Entity的JSON格式数据如下:
{
"poscoremsvadjust": {
"values": [
{
"beId": 1,
"date": "2022-04-15",
"adjBaseOn": "sv",
"svId": 1,
"addSVExpDate": "9999-12-31"
}
]
},
"poscoremsvadjustt": {
"values": [
{
"newExpDate": "9999-12-31",
"newBal": 2141,
"exitBal": 1941,
"adjustment": 200,
"svVouId": 1421,
"memId": 3
}
]
}
}
4、返回示例
{
"recordId": 16,
"messages": [],
"status": true
}
{
"recordId": 0,
"messages": [
{
"msgDetail": "必填项为空",
"msgCode": "core_101905"
}
],
"status": false
}
# 删除绑定会员储值调整
# 一、接口描述
用于删除绑定会员储值调整
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/root/api/delete/poscoreMSVAdjust |
---|---|
http请求方式 | DELETE |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
menuCode | String(Query) | 是 | poscoreMSVAdjust |
id | long(Query) | 是 | 绑定会员储值调整的id |
param | String(Query) | 否 | 额外的系统参数;JSON字符串 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/poscoreRSVAdjust";
String param = "&menuCode=poscoreRSVAdjust&id=" + id;
HttpDelete delete = new HttpDelete(url + "?" + param);
delete.addHeader("authorization", access_token);
delete.addHeader("client_id", ClientID);
res = client.execute(delete);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
delete.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"messages": [],
"status": true
}
{
"messages": [
{
"msgDetail": "单据已被删除",
"msgCode": "core_101017"
}
],
"status": false
}
# 会员储值转账
# 获取会员储值转账列表
# 一、接口描述
用于获取会员储值转账列表(同UI界面左侧的Search List数据)
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/search/search |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
stSearch | String(Query) | 是 | poscoreSVTransfer |
beId | long(Query) | 是 | aiM18企业法人[部门]的ID |
formatId | long(Query) | 否 | aiM18[查询格式]的ID,用于获取[查询格式]步骤二中设定的栏位格式;若不使用此参数,则使用默认设置。 |
startRow | int(Query) | 否 | 返回结果的开始行 |
endRow | int(Query) | 否 | 返回结果的结束行 |
quickSearchStr | String(Query) | 否 | 用于设定关键字查找数据 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
String param = "&stSearch=poscoreRSVAdjust&beId=11";
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"stSearch": "poscoreSVTransfer",
"size": 1,
"stSearchDisplay": "Member Stored Value Transfer",
"values": [
{
"code": "MSVT0001",
"st_id": 12,
"st_code": "MSVT0001",
"st_desc": "MSVT0001",
"poscoreSVTransfer.lastModifyUid.simpleUser.desc": "JLTEST",
"iRev": 1,
"id": 12,
"lastModifyDate": "2022-04-17 21:22:58"
}
]
}
# 读取会员储值转账
# 一、接口描述
用于读取【会员储值转账】数据
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/root/api/read/poscoreSVTransfer |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
menuCode | String(Query) | 是 | poscoreSVTransfer |
id | long(Query) | 是 | 会员储值转账的id |
param | String(Query) | 否 | 额外的系统参数;JSON字符串 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/poscoreRSVAdjust";
String param = "&menuCode=poscoreRSVAdjust&id=" + id;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"data": {
"poscoresvtransfert": [
{
"beId": 1,
"svtransferred": 500,
"hId": 12,
"iRev": 1,
"id": 12,
"itemNo": " 1",
"expDate": 253402185600000,
"ce01Module": "poscoreSVTransfer"
}
],
"poscoresvtransfer": [
{
"date": 1650124800000,
"reason": "",
"attachmentNo": 0,
"lastModifyUid": 36,
"code": "MSVT0001",
"useAccess": false,
"transto": 119,
"expiredDate": -2209017600000,
"iRev": 1,
"sysJson": "{\"autoGenCode\":{\"snId\":716,\"code\":\"MSVT0001\",\"sn\":\"1\"}}",
"reason_cth": "",
"viewCode": "poscoreSVTransfer",
"beId": 1,
"expired": false,
"reason_zh-CN": "",
"svTransTypeId": 8,
"printCount": 0,
"useAccessBl": false,
"id": 12,
"statusModifyDate": 1650201778000,
"locked": false,
"lastModifyDate": 1650201778000,
"reason_en": "",
"createUid": 36,
"createDate": 1650201778000,
"lastApproveUid": 36,
"svId": 1,
"balancefrom": 241122,
"transfrom": 3,
"expiredUid": 0,
"useAccessWl": false,
"reason_sxg": "",
"transfer": 500,
"i18nField": "{\"reason_en\": \"\"}",
"reason_hy": "",
"reason_jp": "",
"reason_zh-TW": "",
"useAccessAutoCalc": false,
"status": "Y",
"balanceto": 0
}
]
},
"messages": [],
"status": true
}
# 保存会员储值转账
# 一、接口描述
用于新增【会员储值转账】
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/root/api/save/poscoreSVTransfer |
---|---|
http请求方式 | PUT |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
menuCode | String(Query) | 是 | poscoreSVTransfer |
param | String(Query) | 否 | 额外的系统参数;JSON字符串 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/poscoreRSVAdjust";
String param = "&menuCode=poscoreRSVAdjust";
HttpPut put = new HttpPut(url + "?" + param);
put.addHeader("authorization", access_token);
put.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
put.setEntity(entity);
res = client.execute(put);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("recordId");
}
System.out.println(json);
}
put.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Entity的JSON格式数据如下:
{
"poscoresvtransfert": {
"values": [
{
"svtransferred": 200,
"expDate": "9999-12-31"
}
]
},
"poscoresvtransfer": {
"values": [
{
"beId": 1,
"date": "2022-04-15",
"transfer": 200,
"transto": 119,
"svTransTypeId": "8",
"svId": "1",
"transfrom": 3
}
]
}
}
4、返回示例
{
"recordId": 16,
"messages": [],
"status": true
}
{
"recordId": 0,
"messages": [
{
"msgDetail": "必填项为空",
"msgCode": "core_101905"
}
],
"status": false
}
# 删除会员储值转账
# 一、接口描述
用于删除会员储值转账
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/root/api/delete/poscoreSVTransfer |
---|---|
http请求方式 | DELETE |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
menuCode | String(Query) | 是 | poscoreSVTransfer |
id | long(Query) | 是 | 会员储值转账的id |
param | String(Query) | 否 | 额外的系统参数;JSON字符串 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/poscoreRSVAdjust";
String param = "&menuCode=poscoreRSVAdjust&id=" + id;
HttpDelete delete = new HttpDelete(url + "?" + param);
delete.addHeader("authorization", access_token);
delete.addHeader("client_id", ClientID);
res = client.execute(delete);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
delete.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"messages": [],
"status": true
}
{
"messages": [
{
"msgDetail": "单据已被删除",
"msgCode": "core_101017"
}
],
"status": false
}
# 读取EBI数据:生成储值券报告
# 一、接口描述
用于执行EBI[生成储值券报告],返回EBI数据
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
formatId | long(Query) | 是 | 通过EBI接口获取到formatId |
beId | long(Query) | 否 | 企业法人的ID。若不传,则查询所有有权限的BE数据 |
offset | int(Query) | 否 | 返回结果的开始行 |
rows | int(Query) | 否 | 返回结果的结束行 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"size": 1,
"rows": [
{
"MT_A_id": "26",
"FT_A_sourceCode": "",
"MEM_A_id": "0",
"FT_A_delivered": "No",
"FT_A_void": "No",
"aiM18ReservedCol_dataIndex": 1,
"MT_A_beId_code": "JC-AA",
"FT_A_svVouNo": "REDEM_M_371705",
"MAIN_sourceTypeMess": "",
"MT_A_beId": "1",
"FT_A_sourceDate": "",
"MEM_A_code": "",
"MT_A_svId_code": "REDEM_M5",
"MT_A_svId": "16",
"MT_A_svId_desc__lang": "Redemption Voucher Member Five (Face Value)",
"MT_A_expDate": "9999 Dec 31",
"MT_A_code": "219402SV"
}
]
}
# 读取EBI数据:会员储值转账报告
# 一、接口描述
用于执行EBI[会员储值转账报告],返回EBI数据
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
formatId | long(Query) | 是 | 通过EBI接口获取到formatId |
beId | long(Query) | 否 | 企业法人的ID。若不传,则查询所有有权限的BE数据 |
offset | int(Query) | 否 | 返回结果的开始行 |
rows | int(Query) | 否 | 返回结果的结束行 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"size": 1,
"rows": [
{
"MT_A_svTransTypeId_code": "TEST",
"MT_A_id": "12",
"MEMTO_A_code": "B",
"aiM18ReservedCol_dataIndex": 1,
"MT_A_beId_code": "JC-AA",
"FT_A_expDate": "9999 Dec 31",
"SV_A_id": "1",
"MEMFROM_A_code": "LH0001",
"MT_A_beId": "1",
"MT_A_reason": "",
"MEMFROM_A_id": "3",
"MT_A_svTransTypeId": "8",
"MT_A_transfer": "500",
"MT_A_date": "2022 Apr 17",
"FT_A_svtransferred": "500",
"MT_A_svTransTypeId_desc__lang": "test",
"SV_A_code": "BP1",
"MT_A_code": "MSVT0001",
"MEMTO_A_id": "119"
}
]
}
# 读取EBI数据:重复使用储值调整报告
# 一、接口描述
用于执行EBI[重复使用储值调整报告],返回EBI数据
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
formatId | long(Query) | 是 | 通过EBI接口获取到formatId |
beId | long(Query) | 否 | 企业法人的ID。若不传,则查询所有有权限的BE数据 |
offset | int(Query) | 否 | 返回结果的开始行 |
rows | int(Query) | 否 | 返回结果的结束行 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"size": 1,
"rows": [
{
"MT_A_id": "16",
"FT_A_exitExpDate": "9999 Dec 31",
"FT_A_newBal": "2,141.00",
"aiM18ReservedCol_dataIndex": 1,
"FT_A_exitBal": "1,941.00",
"MAIN_svVouNo": "RSV2_137240",
"MT_A_beId_code": "JC-AA",
"FT_A_adjustment": "200.00",
"SV_A_id": "35",
"FT_A_newExpDate": "9999 Dec 31",
"MT_A_beId": "1",
"MT_A_date": "2022 Apr 17",
"SV_A_code": "RSV2",
"MT_A_code": "RSVA0002",
"SV_A_unit": "Point"
}
]
}
# 读取EBI数据:绑定会员储值调整报告
# 一、接口描述
用于执行EBI[绑定会员储值调整报告],返回EBI数据
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
formatId | long(Query) | 是 | 通过EBI接口获取到formatId |
beId | long(Query) | 否 | 企业法人的ID。若不传,则查询所有有权限的BE数据 |
offset | int(Query) | 否 | 返回结果的开始行 |
rows | int(Query) | 否 | 返回结果的结束行 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"size": 1,
"rows": [
{
"MT_A_id": "2",
"FT_A_newBal": "315.00",
"MEM_A_id": "3",
"aiM18ReservedCol_dataIndex": 1,
"FT_A_exitBal": "135.00",
"MT_A_beId_code": "JC-AA",
"FT_A_adjustment": "180.00",
"SV_A_id": "13",
"FT_A_newExpDate": "2020 Nov 30",
"MT_A_beId": "1",
"MT_A_reason": "",
"MEM_A_code": "LH0001",
"MT_A_adjBaseOn": "Member",
"MT_A_date": "2020 Sep 08",
"SV_A_code": "BP3",
"MT_A_code": "JCAAMTSVA0901",
"SV_A_unit": "Point"
}
]
}
# 读取EBI数据:无券储值结余报告
# 一、接口描述
用于执行EBI[无券储值结余报告],返回EBI数据
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
formatId | long(Query) | 是 | 通过EBI接口获取到formatId |
beId | long(Query) | 否 | 企业法人的ID。若不传,则查询所有有权限的BE数据 |
offset | int(Query) | 否 | 返回结果的开始行 |
rows | int(Query) | 否 | 返回结果的结束行 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"size": 1,
"rows": [
{
"MEM_A_code": "LH0002",
"MEM_A_id": "4",
"aiM18ReservedCol_dataIndex": 1,
"BE_A_id": "1",
"MAIN_svLedger": "83,351.00",
"SV_A_redemFaceValue": "1.00",
"SV_A_id": "1",
"BE_A_code": "JC-AA",
"SV_A_code": "BP1"
}
]
}
# 读取EBI数据:无券储值往来报告
# 一、接口描述
用于执行EBI[无券储值往来报告],返回EBI数据
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
formatId | long(Query) | 是 | 通过EBI接口获取到formatId |
beId | long(Query) | 否 | 企业法人的ID。若不传,则查询所有有权限的BE数据 |
offset | int(Query) | 否 | 返回结果的开始行 |
rows | int(Query) | 否 | 返回结果的结束行 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"size": 1,
"rows": [
{
"POS_A_code": "20081124",
"POS_A_id": "1171",
"MEM_A_id": "18",
"MAIN_expDate": "9999 Dec 31",
"aiM18ReservedCol_dataIndex": 1,
"BE_A_id": "1",
"MAIN_svLedger": "1.00",
"SV_A_id": "1",
"MAIN_sourceDate": "2020 Aug 03",
"MAIN_sourceTypeMess": "POS Invoice",
"POS_A_tDate": "2020 Aug 03 19:02:01",
"MEM_A_code": "210829MEM",
"BE_A_code": "JC-AA",
"SV_A_code": "BP1"
}
]
}
# 读取EBI数据:储值券结余报告
# 一、接口描述
用于执行EBI[储值券结余报告],返回EBI数据
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
formatId | long(Query) | 是 | 通过EBI接口获取到formatId |
beId | long(Query) | 否 | 企业法人的ID。若不传,则查询所有有权限的BE数据 |
offset | int(Query) | 否 | 返回结果的开始行 |
rows | int(Query) | 否 | 返回结果的结束行 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"size": 1,
"rows": [
{
"MEM_A_code": "",
"MEM_A_id": "0",
"aiM18ReservedCol_dataIndex": 1,
"BE_A_id": "1",
"MAIN_svVouNo": "OSV_NM_087135",
"MAIN_svLedger": "1.00",
"SV_A_id": "12",
"BE_A_code": "JC-AA",
"SV_A_code": "OSV_NM1"
}
]
}
# 读取EBI数据:储值券分类账报告
# 一、接口描述
用于执行EBI[储值券分类账报告],返回EBI数据
# 二、接口调用说明
1、请求说明
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
http请求方式 | GET |
编码类型 | UTF-8 |
2、URL参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
authorization | String(Header) | 是 | OAuth获取的Access Token |
client_id | String(Header) | 是 | aiM18[授权应用列表]中的Client ID |
formatId | long(Query) | 是 | 通过EBI接口获取到formatId |
beId | long(Query) | 否 | 企业法人的ID。若不传,则查询所有有权限的BE数据 |
offset | int(Query) | 否 | 返回结果的开始行 |
rows | int(Query) | 否 | 返回结果的结束行 |
3、请求示例
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、返回示例
{
"size": 1,
"rows": [
{
"MEM_A_code": "",
"MEM_A_id": "0",
"MAIN_expDate": "9999 Dec 31",
"aiM18ReservedCol_dataIndex": 1,
"BE_A_id": "1",
"MAIN_svVouNo": "REDEM_M_289783",
"MAIN_svLedger": "1.00",
"MAIN_sourceDate": "2020 Apr 24",
"MAIN_sourceTypeMess": "POS Invoice",
"BE_A_code": "JC-AA"
}
]
}