> For the complete documentation index, see [llms.txt](https://bitlong.gitbook.io/api-doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bitlong.gitbook.io/api-doc/lnurl-token.md).

# LNURL-Token

**LNURL的登录并使用Token与原先业务不同，为单独服务器的体系，请作区分。**

如果使用无效的Token

```json
{
    "code": 1003,
    "msg": "invalid or expired token",
    "data": ""
}
```

### 1.登录<mark style="color:orange;">POST</mark>

*每次登陆都会使上次获取的Token失效，每次使用Token都会使该Token有效期重新刷新为30分钟*

#### 请求

<mark style="color:orange;">`POST`</mark> `http://118.24.37.253:9080/api/v1/user/login`

#### 请求体

* `username` <mark style="color:orange;">string</mark> 用户名，NpubKey，Nostr地址
* `password` <mark style="color:orange;">string</mark> 密码

```json
{
    "username": "charlie",
    "password": "123456"
}
```

#### 响应

* `code` <mark style="color:orange;">int</mark> 响应码，0为成功
* `msg` <mark style="color:orange;">string</mark> 错误信息
* `data` <mark style="color:orange;">string</mark> token

```json
{
    "code": 0,
    "msg": "",
    "data": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NDU5ODYyMzksImlkIjoxfQ.brd5XpIzNFTyWQoZCwXxoRs_aFYI8oDcrSg4sFFqV5o"
}
```

### 2.设置链上BTC固定接收地址<mark style="color:orange;">POST</mark>

*需要使用登录获取的Bearer Token*

#### 请求

<mark style="color:orange;">`POST`</mark> `http://118.24.37.253:9080/api/v1/lnurl-t/update/btc_addr`

#### 请求体

* `uuid` <mark style="color:orange;">string</mark> UUID
* `p2tr` <mark style="color:orange;">string</mark> 链上BTC地址，P2TR类型

```json
{
    "uuid": "4187fe68-794a-4a7f-8035-3ecd85d84fd4",
    "p2tr": "bcrt1bbb30k2pvgu3uzftppcd4dadzuxuanks084vd9grzz7s8e68asg2q5jwuau"
}
```

#### 响应

* `code` <mark style="color:orange;">int</mark> 响应码，0为成功
* `msg` <mark style="color:orange;">string</mark> 错误信息
* `data` <mark style="color:orange;">string</mark> 空字符串

```json
{
    "code": 0,
    "msg": "",
    "data": ""
}
```

### 3.设置资产通道接收偏好策略<mark style="color:orange;">POST</mark>

*需要使用登录获取的Bearer Token*

#### 请求

<mark style="color:orange;">`POST`</mark> `http://118.24.37.253:9080/api/v1/lnurl-t/update/set_prefer`

#### 请求体

没用到的字段请填空

* `pay_type` <mark style="color:orange;">uin8</mark> 付款方支付类型，每个用户可以分别对以下两种类型各设置一种偏好策略
  * `3` 非托管通道资产
  * `6` 托管通道资产
* `receive_type` <mark style="color:orange;">uin8</mark> 接收方收款类型
  * `3` 非托管通道资产
  * `6` 托管通道资产
* `asset_id` <mark style="color:orange;">string</mark> 接收资产ID
* `pub_key` <mark style="color:orange;">string</mark> 非托管需要的pubKey \[<mark style="color:blue;">更新</mark>: 增加字段]
* `rfq_peer_key` <mark style="color:orange;">string</mark> 托管需要的报价请求节点Key \[<mark style="color:blue;">更新</mark>: 增加字段]

```json
{
    "pay_type": 6,
    "receive_type": 3,
    "asset_id": "a493024378956fd5d1b407d468790ac703007ece87c21ae265bb2cecd51f111f"
}
```

#### 响应

* `code` <mark style="color:orange;">int</mark> 响应码，0为成功
* `msg` <mark style="color:orange;">string</mark> 错误信息
* `data` <mark style="color:orange;">string</mark> 空字符串

```json
{
    "code": 0,
    "msg": "",
    "data": ""
}
```

### 4.查看已设置的资产通道接收偏好策略<mark style="color:orange;">POST</mark>

*需要使用登录获取的Bearer Token*

#### 请求

<mark style="color:orange;">`POST`</mark> `http://118.24.37.253:9080/api/v1/lnurl-t/query/prefer`

#### 请求体

无

#### 响应

没用到的字段请忽略

* `code` <mark style="color:orange;">int</mark> 响应码，0为成功
* `msg` <mark style="color:orange;">string</mark> 错误信息
* `data` <mark style="color:orange;">Array of Object</mark>&#x20;
  * `pay_type` <mark style="color:orange;">uin8</mark> 付款方支付类型
    * `3` 非托管通道资产
    * `6` 托管通道资产
  * `receive_type` <mark style="color:orange;">uin8</mark> 接收方收款类型
    * `3` 非托管通道资产
    * `6` 托管通道资产
  * `asset_id` <mark style="color:orange;">string</mark> 接收资产ID
  * `pub_key` <mark style="color:orange;">string</mark> 非托管需要的pubKey \[<mark style="color:blue;">更新</mark>: 增加字段]
  * `rfq_peer_key` <mark style="color:orange;">string</mark> 托管需要的报价请求节点Key \[<mark style="color:blue;">更新</mark>: 增加字段]

```json
{
    "code": 0,
    "msg": "",
    "data": [
        {
            "pay_type": 3,
            "receive_type": 6,
            "asset_id": "a493024378956fd5d1b407d468790ac703007ece87c21ae265bb2cecd51f111f"
        },
        {
            "pay_type": 6,
            "receive_type": 3,
            "asset_id": "a493024378956fd5d1b407d468790ac703007ece87c21ae265bb2cecd51f111f"
        }
    ]
}
```
