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