# <font >获得密钥</font>
## 描述 
>获得玩家启动游戏的新密钥，需要为首次登录提供货币。 若无此帐号，将自动新增帐号。

>请求方式（Host -> BeSoft）:post

>编码方式：application/x-www-form-urlencoded

>Besoft发出的请求数据格式是: application/json

## 请求地址
>{besoftapi}/api/game/getKey



## 请求参数
| 名称     | 类型     | 必要    |     描述        | 
| -------- | -------- | -------- |    -------- |  
| cert     | string     |   Y |     安全代码 |
| user      |string (30) |  Y |      每个网站上唯一的用户 ID（仅允许小写a-z 和 0-9）|
| extension1 | string(20) | Y |      代理帐号（可用于登录 ，每一个代理帐号只能用于单一运营商） |

## 示例

- **URL**:
    - `http://127.0.0.1:8000/api/game/getKey`

- **HTTP Method**（请求方式）:
    - `POST`

- **表单数据**:
    > Content-Type: `application/x-www-form-urlencoded`
  
    ```
    cert: v8VMKKzlPpD0te4rX99Hgefs3PQrBFWJKiuUqg6Y
    user: test1
    extension1: adminweb
    ```


	
## 返回结果
| 名称     | 类型     | 必要    |     描述        | 
| -------- | -------- | -------- |    -------- |  
| status   | string     |   Y |     状态代码
|key    |string (30) |  Y |     每次登录产生的token唯一标识符。|
|returnurl| string | Y |     返回登陆游戏的url，必须添加gid指定登录游戏才能使用。 |

## 成功的结果

```
{
    "status": 1,
    "key": "50iD5lzhlTAJqJepJcz4PWohVW0uXYwhTtMeixqdsgcT4ErSso9i17i8AZ247kEZVHO4oVDloDgCjeAulbXT4I",
    "returnurl": "http://127.0.0.1:8000/?key=50iD5lzhlTAJqJepJcz4PWohVW0uXYwhTtMeixqdsgcT4ErSso9i17i8AZ247kEZVHO4oVDloDgCjeAulbXT4I"
}

```

## 失败的结果

> {“staus”:1001}


##  进入游戏

### 描述
>使用“returnurl”(由 getkey api 返回)并拼接gid和lang参数，以启动游戏。玩家同时只能进入一个游戏不能同时进入多个游戏。

>请求方式（Host-> BesoftFront）:GET；


>游戏返回说明：游戏关闭后，返回的地址（return_url=返回地址的参数）,如果不填写，游戏没有返回按钮。
##  请求地址
```
http://{BesoftFront}/?key=3F6AE577A2E2255EF4BACF02C9F8BB1154A9C6AD2F19701568BA675BDA3C46BCA64D243007F87C86119329271708&gid=aa0001&lang=en&return_url=https://returnyoururl.com

```
>新开界面：如果需要直接关闭当前窗口，请使用window.open方式打开，并且不需要传入return_url


>新开界面：如果加入return_url参数,请以URLEncoding方式编码参数


>内嵌界面：如果是内嵌请监听此消息通知（closeMessage），游戏厂商关闭游戏的调用接口
```
{
   window.parent.postMessage("closeMessage", "*")
}

```

## 请求参数

| 名称     | 类型     | 必要    |     描述        | 
| -------- | -------- | -------- |    -------- |  
| key     |string(86) |  Y |从 getKey 接口拿到的 key。若使用 HTTP GET 方法，请以 URLEncoding 编码参数|
| gid | string | Y |      预设登入的游戏 ID ;  |
| lang | string | Y |      默认值为简中 (简中 英文) |
| return_url | string | N |      return_url=游戏关闭的返回地址 ,请以URLEncoding方式编码参数|
##  返回结果

### 成功的结果

>导引至游戏页面

### 失败的结果

>游戏界面显示相应的错误信息

