# 第三方免登录

## 创建/获取用户openApiKey及密钥信息

<mark style="color:green;">`POST`</mark> `https://service.xxx.com/platformapi/chainup/open/user/registerOrLoginToGetOpenApi`

需要将参数表格中的数据包装成json字符串 利用rsa 进行参数加密和签名 作为body中的data和sign

#### Request Body

| Name                                      | Type   | Description                  |
| ----------------------------------------- | ------ | ---------------------------- |
| app\_id<mark style="color:red;">\*</mark> | String | 商家唯一app\_id                  |
| sign<mark style="color:red;">\*</mark>    | String | 用rsa\_third\_pri对query中的数据签名 |
| data<mark style="color:red;">\*</mark>    | String | rsa\_saas\_pub加密query中数据     |
| time<mark style="color:red;">\*</mark>    | String | 请求时间                         |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "code": "", //返回code	
    "msg": "", //成功或失败提示信息	
    "data": "",
    "sign": ""
}

data 中解密后的结构体
{
    "uid": 23998752,//用户id
    "apiKey": "47e2468b6dc5277fe19417d44daa834a",
    "secret": "f1abbd4ef74ec2d046dea8a85a659076"
}
```

{% endtab %}
{% endtabs %}

以下为参与rsa加密的参数:

邮箱号和手机号二选一必填, 注册用户手机号(传手机号必传国家编码)

<table><thead><tr><th width="136">名称</th><th width="124">类型</th><th>是否必需</th><th width="214">例子</th><th>描述</th></tr></thead><tbody><tr><td>countryCode</td><td>String</td><td>YES</td><td>93</td><td>注册用户国家编码</td></tr><tr><td>mobileNumber</td><td>String</td><td>YES</td><td>1990099121</td><td>注册用户手机号(传手机号必传国家编码)</td></tr><tr><td>email</td><td>String</td><td>YES</td><td>xxx@.com</td><td>邮箱 (邮箱 手机 任选其一)</td></tr><tr><td>password</td><td>String</td><td>YES</td><td>xxxxx</td><td>创建用户密码</td></tr><tr><td>invitedCode</td><td>String</td><td>YES</td><td>SDOOMXA</td><td>邀请码</td></tr></tbody></table>

## 获取用户交易所登录Token

<mark style="color:green;">`POST`</mark> `https://service.xxx.com/platformapi/chainup/open/user/getExchangeToken`

需要将参数表格中的数据包装成json字符串 利用rsa 进行参数加密和签名 作为body中的data和sign

#### Request Body

| Name                                      | Type   | Description                  |
| ----------------------------------------- | ------ | ---------------------------- |
| app\_id<mark style="color:red;">\*</mark> | String | 商家唯一app\_id                  |
| sign<mark style="color:red;">\*</mark>    | String | 用rsa\_third\_pri对query中的数据签名 |
| time<mark style="color:red;">\*</mark>    | String | 请求时间                         |
| data<mark style="color:red;">\*</mark>    | String | rsa\_saas\_pub加密query中数据     |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "code": "", //返回code	
    "msg": "", //成功或失败提示信息	
    "data": "",
    "sign": ""
}

data 中解密后的结构体

{
    "uid": 23998752,//用户id
    "inviteCode": "QWGGHLTQ",//邀请码
    "token": "891324eb68128c031b98a1d8417ae12ed79be7a172704c02a52186f95b78e7ef" 
}
```

{% endtab %}
{% endtabs %}

以下为参与rsa加密的参数:

<table><thead><tr><th width="136">名称</th><th width="124">类型</th><th>是否必需</th><th width="214">例子</th><th>描述</th></tr></thead><tbody><tr><td>apiKey</td><td>String</td><td>YES</td><td>2ae04ed9165624419bad68e9e0f3</td><td>openApiKey</td></tr><tr><td>secret</td><td>String</td><td>YES</td><td>SSe04ed9165624419bad68eDWQ0f3</td><td>openApi的密钥</td></tr><tr><td>uid</td><td>String</td><td>YES</td><td>202300123</td><td>用户id</td></tr></tbody></table>

## 退出登录

<mark style="color:green;">`POST`</mark> `https://service.xxx.com/platformapi/chainup/open/user/exchangeLogOut`

需要将参数表格中的数据包装成json字符串 利用rsa 进行参数加密和签名 作为body中的data和sign

#### Request Body

| Name                                      | Type   | Description                  |
| ----------------------------------------- | ------ | ---------------------------- |
| app\_id<mark style="color:red;">\*</mark> | String | 商家唯一app\_id                  |
| sign<mark style="color:red;">\*</mark>    | String | 用rsa\_third\_pri对query中的数据签名 |
| time<mark style="color:red;">\*</mark>    | String | 请求时间                         |
| data<mark style="color:red;">\*</mark>    | String | rsa\_saas\_pub加密query中数据     |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "code": "0",
    "msg": "suc"
}
```

{% endtab %}
{% endtabs %}

以下为参与rsa加密的参数:

<table><thead><tr><th width="136">名称</th><th width="124">类型</th><th>是否必需</th><th width="214">例子</th><th>描述</th></tr></thead><tbody><tr><td>apiKey</td><td>String</td><td>YES</td><td>2ae04ed9165624419bad68e9e0f3</td><td>openApiKey</td></tr><tr><td>secret</td><td>String</td><td>YES</td><td>SSe04ed9165624419bad68eDWQ0f3</td><td>openApi的密钥</td></tr><tr><td>uid</td><td>String</td><td>YES</td><td>202300123</td><td>用户id</td></tr><tr><td>exchangeToken</td><td>String</td><td>YES</td><td></td><td>登录人登录token，如果有保存直接传，没有也可以再生成一个传过来</td></tr></tbody></table>
