LocalQuery
1.普通查询
1.余额查询
/LocalQuery/QueryBalances
请求体:
{
"userName": "npubkey.............."
}
响应体
{
"errno": 0,
"errmsg": "",
"data": [
{
"accountName": "default",
"assetId": "00",
"balance": 108325
},
{
"accountName": "default",
"assetId": "ac2d4d2c31f982ec5fe550f92d3bb961a30b50e67b26b4115692b8a65e7a2538",
"balance": 100000
},
{
"accountName": "locked",
"assetId": "",
"balance": 1341
},
{
"accountName": "locked",
"assetId": "00",
"balance": 2816
},
{
"accountName": "locked",
"assetId": "ac2d4d2c31f982ec5fe550f92d3bb961a30b50e67b26b4115692b8a65e7a2538",
"balance": 1341
}
]
}
accountName:账户类型,目前有“default”,"locked"两种
assetId:资产唯一标识符
balance:余额
2.流水查询
/LocalQuery/QueryBills
请求体:
{
"username": "",
"away": 2,
"assetId":"",
"invoice":"",
"hash":"",
"amountMin":0,
"amountMax":0,
"feeMin":0,
"feeMax":0,
"timeStart": "",
"timeEnd":"",
"includeFailed": false,
"tags":["OnChannel","Locked"],
"page": 1,
"pageSize":100
}
username:筛选用户名,npubkey
away:筛选资金流向。转入:0 转出:1 全选:2
//以下字段填0或者“”为忽略筛选条件
assetId:根据资产ID筛选。
amountMin,amountMax:最小金额,最大金额
timeStart,timeEnd:最小时间,最大时间,格式:"2024-11-04 12:00:00"
feeMin,feeMax:最小费用,最大费用
invoice:发票筛选
hash:哈希筛选
//
includeFailed:是否包含未成功记录
tags:类型筛选。
//分页
page:页数,从0开始
pageSize:每页显示条数,填0为默认500条
tags:
"Unknown“:未知类型或旧数据
"FirLaunch",公平发售
"Local",内部
"BackFee",退费
"OnChannel", 对外
"Award",奖励
"Locked",锁定/解锁
"LockedTransfer",冻结账户交易
响应体
{
"errno": 0,
"errmsg": "",
"data": {
"count": 3,
"bills": [
{
"id": 2,
"username": "testusr",
"billType": 1,
"away": 1,
"amount": 700,
"serverFee": 100,
"assetId": "00",
"invoice": "lnbcrt7u1pnnt29upp5se49cq5r6pwef7xpj33f9xjzkjthtdylqs79yvdwfktwnuypqsvsdqqcqzzsxqyz5vqsp5dhmdd0fuj6l585fmu6lc07plxue2lw4wj680tgr96xqfzeygv8eq9qxpqysgq07404nc035n4ndvhed4x0h3ll0c3efg9e3djzk48p05vw4zwvxahk3jf4dwxjmx8xl4wxxejj5mkh2pemt2fnc53j5v8ffgd4awfy2qqqdka2c",
"paymentHash": "866a5c0283d05d94f8c19462929a42b49775b49f043c5231ae4d96e9f0810419",
"State": 1,
"time": "2024-11-04T09:46:38.474+08:00",
"type": "OnChannel"
},
{
"id": 2,
"username": "testusr",
"billType": 1,
"away": 1,
"amount": 500,
"serverFee": 100,
"assetId": "00",
"invoice": "lnbcrt5u1pnntfzxpp5pevz9dc4txvfpljs38kjqphx594a5727fuec8dwzqn60c05ufvzqdqqcqzzsxqyz5vqsp5c5acax6a0fca36c2ll9zn4zj3z86ktzu234y5m0jadwdw07vu62q9qxpqysgqu9nmj5av3vfcm9xuw0q469dldsgnq8vrut7a9fzpc0qm50rvg9zszqz6d5cztnykeuvusek6pyv7fwhwfqxlag4wavytyr5vuevqfzqpcw7xhw",
"paymentHash": "0e5822b715599890fe5089ed2006e6a16bda795e4f3383b5c204f4fc3e9c4b04",
"State": 1,
"time": "2024-11-04T09:46:38.474+08:00",
"type": "OnChannel"
},
{
"id": 2,
"username": "testusr",
"billType": 7,
"away": 1,
"amount": 1800,
"serverFee": 0,
"assetId": "ac2d4d2c31f982ec5fe550f92d3bb961a30b50e67b26b4115692b8a65e7a2538",
"invoice": "locked",
"paymentHash": "13201111111111111112221222",
"State": 1,
"time": "2024-11-04T09:46:38.474+08:00",
"type": "Locked"
}
]
}
}
id:流水id
username:npubkey
billType:流水类型
away:资金流向。转入:0 转出:1
amount:金额
serverFee:手续费
assetId:。。。。
invoice:关联发票/记录/类型等
paymentHash:关联Hash/记录/说明等
State:成功:1。失败:2 其他:0(当前等同于失败)
time:time
type: bill类型,同请求体tags
3.余额列表查询
/LocalQuery/QueryBalanceList
请求体:
{
"assetId":"ac2d4d2c31f982ec5fe550f92d3bb961a30b50e67b26b4115692b8a65e7a2538",
"page":0,
"pageSize":10//必须设置
}
响应体:
{
"errno": 0,
"errmsg": "",
"data": {
"count": 2,
"list": [
{
"assetId": "4aa3656c0c496cfee65dacd7291c4be3a96df02ecd72af8fa5ec14bf0cbd15be",
"userName": "testusr",
"amount": 19796412
},
{
"assetId": "4aa3656c0c496cfee65dacd7291c4be3a96df02ecd72af8fa5ec14bf0cbd15be",
"userName": "testusr10",
"amount": 203910
}
],
"total": 20000322
}
}
4.每日增量查询
/LocalQuery/TotalBillList
请求体:
{
"assetId": "ac2d4d2c31f982ec5fe550f92d3bb961a30b50e67b26b4115692b8a65e7a2538",
"timeStart":"",
"timeEnd":"",
"orderBy":0,
"page":0,
"pageSize":10
}
orderBy:排序方式(0~4):
sumAwayEnter,countAwayEnter,sumAwayOut,countAwayOut,netIncome
响应体:
{
"errno": 0,
"errmsg": "",
"data": {
"count": 3,
"list": [
{
"userName": "testusr",
"assetId": "ac2d4d2c31f982ec5fe550f92d3bb961a30b50e67b26b4115692b8a65e7a2538",
"sumAwayEnter": 400080,
"countAwayEnter": 5,
"sumAwayOut": 300020,
"countAwayOut": 5,
"netIncome": 100060
},
{
"userName": "testusr10",
"assetId": "ac2d4d2c31f982ec5fe550f92d3bb961a30b50e67b26b4115692b8a65e7a2538",
"sumAwayEnter": 150000,
"countAwayEnter": 1,
"sumAwayOut": 0,
"countAwayOut": 1,
"netIncome": 150000
},
{
"userName": "admin",
"assetId": "ac2d4d2c31f982ec5fe550f92d3bb961a30b50e67b26b4115692b8a65e7a2538",
"sumAwayEnter": 20,
"countAwayEnter": 1,
"sumAwayOut": 0,
"countAwayOut": 1,
"netIncome": 20
}
]
}
}
sumAwayEnter:总收入
countAwayEnter:总收入次数
sumAwayOut:总支出
countAwayOut:总支出计数
netIncome:收支差
5.余额变动记录查询
URL:/LocalQuery/QueryBalancesChange
请求体:
{
"username": "testusr",
"assetId": "00",
"timeStart": "2024-11-28 14:20:00",
"timeEnd": "2024-11-29 14:15:00",
"page": 1,
"pageSize": 10
}
响应体:
{
"errno": 0,
"errmsg": "",
"data": {
"count": 18,
"list": [
{
"time": "2024-11-29T09:29:11.529+08:00",
"amount": 10,
"away": 1,
"finalBalance": 230480,
"balanceId": 664,
"changeType": "btc_fee"
},
{
"time": "2024-11-29T09:26:27+08:00",
"amount": 10,
"away": 1,
"finalBalance": 230490,
"balanceId": 662,
"changeType": "btc_fee"
},
{
"time": "2024-11-29T09:24:57.863+08:00",
"amount": 100,
"away": 1,
"finalBalance": 230500,
"balanceId": 660,
"changeType": "btc_fee"
}
]
}
}
amount:变动金额
away:变动方向(0:增加,1:减少)
finalBalance:变动后余额
changeType:变动来源标识
2.账户相关
1.账户信息查询
/LocalQuery/user/userinfo
请求体
```postman_json
{
"username": "testusr"
}
```
响应体:
{
"errno": 0,
"errmsg": "",
"data": {
"npubkey": "testusr",
"status": "active",
"recent_ip": "127.0.0.1",
"recent_login_time": "2024-11-07 16:17:05"
}
}
status:账户状态。active:正常 blocked:冻结
recent_ip:最近登录ip
recent_login_time:最近登录时间
2.锁定账户
/LocalQuery/user/block
请求体
{
"username": ["testusr","testusr10"],
"memo":"test"
}
3.解锁账户
/LocalQuery/user/unblock
请求体
{
"username": ["testusr","testusr10"],
"memo":"test"
}
3.锁定账户查询
1.锁定账户流水查询
/LocalQuery/locked/QueryLockedBills
请求体
{
"username": "",
"assetId":"",
"lockedId":"",
"amountMin":0,
"amountMax":0,
"timeStart": "",
"timeEnd":"2024-11-10",
"tags":[],
"awardType":"tip1",
"page": 1,
"pageSize":100
}
username:筛选用户名,npubkey
assetId:根据资产ID筛选。
lockedId: 操作唯一标识筛选
amountMin,amountMax:最小金额,最大金额
timeStart,timeEnd:最小时间,最大时间,格式:"2024-11-04 12:00:00"
tags:类型筛选。
awardType:奖励类型
//分页
page:页数,从0开始
pageSize:每页显示条数,填0为默认500条
tags:
"Lock“:锁定
"TransferByLockAsset",通过锁定账户交易
"Unlock",解锁
"TransferByUnlockAsset",通过锁定账户接口调用的普通账户交易
"Award",奖励
响应体
{
"errno": 0,
"errmsg": "",
"data": {
"count": 1,
"bills": [
{
"id": 22,
"username": "testusr",
"amount": 1800,
"assetId": "00",
"LockedId": "1320111111111111111222222",
"time": "2024-11-14T14:47:12.39+08:00",
"type": "Lock"
}
]
}
}
5.每日交易额限制
1.查询指定user今日额度详情
url: /LocalQuery/limit/GetUserLimit
请求体:
{
"username": "",
"limitType": "",
"pageNum":1,
"pageSize":3
}
筛选项:
username:用户npubkey
limitType:限额类型(比特币内部,比特币对外,凤凰币内部,凤凰币对外)
响应体
{
"errno": 0,
"errmsg": "",
"data": {
"count": 7,
"limits": [
{
"userName": "npub28PzFmS1aamXHPP9u7oUHVA2oUa2r5C95jfN7wZai6hEqpYbSGsVyoXPCXwZCyKNYEUzBNmpH3c98n7pSWUzGPon",
"limit_type": "比特币对外",
"level": 1,
"todayAmount": 1000,
"todayCount": 10,
"todayUsefulAmount": 800,
"todayUsefulCount": 9
},
{
"userName": "npub31BgqdAnhv9QGs64dQKcchhJtR3d6ih9QoXmhdcK2QZXjvmdG8ZbEdYPMhSQU8WhckHh5jXcqPb3e7go2pAvFi5d",
"limit_type": "比特币内部",
"level": 1,
"todayAmount": 300000,
"todayCount": 10,
"todayUsefulAmount": 296860,
"todayUsefulCount": 9
}
]
}
}
level:额度等级
todayAmount:今日总额度
todayCount:今日总交易次数
todayUsefulAmount:今日剩余可用额度
todayUsefulCount:今日剩余可用次数
2.更新用户指定类型额度等级
Url:/LocalQuery/limit/SetUserLimitLevel
请求体
{
"username": "",
"limitType": "",
"level":1
}
level:设定的等级。level>=0
3.更新指定用户今日可用额度
Url:/LocalQuery/limit/SetUserTodayLimit
请求体:
{
"username": "testusr",
"limitType": "凤凰币对外",
"todayUsefulAmount":1000,
"todayUsefulCount":1
}
todayUsefulAmount:设定后的额度 todayUsefulAmount>=0
todayUsefulCount:设定后的交易次数 todayUsefulCount>=0
6.限额类型管理
1.查询当前所有限额类型
/LocalQuery/limit/GetLimitType
{
"pageNum": 1,
"pageSize":10
}
{
"errno": 0,
"errmsg": "",
"data": [
{
"assetId": "00",
"transferType": 0,
"limitName": "比特币内部"
},
{
"assetId": "00",
"transferType": 1,
"limitName": "比特币对外"
},
{
"assetId": "4aa3656c0c496cfee65dacd7291c4be3a96df02ecd72af8fa5ec14bf0cbd15be",
"transferType": 0,
"limitName": "凤凰币内部"
},
{
"assetId": "4aa3656c0c496cfee65dacd7291c4be3a96df02ecd72af8fa5ec14bf0cbd15be",
"transferType": 1,
"limitName": "凤凰币对外"
},
{
"assetId": "ase",
"transferType": 1,
"limitName": "牛牛币"
}
]
}
assetId:限额目标资产id
transferType: 限额方向,0:内部转账,1:外部转账。目前仅两种
limitName:限额类型唯一标识名称
2.创建或更新限额类型
/LocalQuery/limit/CreateOrUpdateLimitType
{
"assetId": "aa1",
"transferType": 1,
"limitName": "牛3"
}
{
"errno": 0,
"errmsg": "",
"data": null
}
记录存在时更新limitName,不存在时新建一条记录
3.查询限额等级
/LocalQuery/limit/GetLimitTypeLevels
{
"limitName": "比特币内部",
"pageNum": 1,
"pageSize":10
}
```json
{
"errno": 0,
"errmsg": "",
"data": [
{
"level": 1,
"amount": 1,
"count": 10
},
{
"level": 2,
"amount": 2333,
"count": 10
}
]
}
```
amount:额度
count:可交易次数
4.创建或更新额度等级
/LocalQuery/limit/CreateOrUpdateLimitTypeLevel
{
"limitName": "比特币内部",
"level": 2,
"amount": 2333,
"count":10
}
记录存在时更新amount和count,不存在时新建一条记录
{
"errno": 0,
"errmsg": "",
"data": null
}
7.托管通道交易控制
1.获取交易是否开启
/LocalQuery/limit/GetControl
/LocalQuery/limit/GetControl
{
"assetId": "asset",
"type":1
}
返回
{
"errno": 0,
"errmsg": "",
"data": false
}
2.设置交易状态
/LocalQuery/limit/SetControl
{
"assetId": "asset",
"type": 3,
"control": true
}
返回:无错误即执行成功
assetId:当前仅两种:“00” or “asset”
type:三种:1.链上 2.链下(即通道对外转账) 3.内部交易
Last updated