28、永续: 订单/持仓消息推送API
<h1>Messager API doc</h1>
<h3>websocket地址</h3>
<ul>
<li>wss://h5域名/messager</li>
</ul>
<h4>通过API可以快速实现以下功能:</h4>
<ul>
<li>获取合约标记价格</li>
<li>获取用户持仓变化数据</li>
</ul>
<h3>(公共) 发送心跳:</h3>
<ul>
<li>
<p>请求参数:</p>
<pre><code>{
&quot;method&quot;: &quot;heart&quot;,
}</code></pre>
</li>
<li>返回:
<pre><code>{
&quot;event&quot;: &quot;heart&quot;,
}</code></pre></li>
</ul>
<h3>(公共) 指数价格 订阅/取消订阅(subscribe/unsubscribe):</h3>
<ul>
<li>
<p>订阅参数:</p>
<pre><code>{
&quot;method&quot;: &quot;subscribe&quot;,
&quot;params&quot;:[
{
&quot;channel&quot;:&quot;flagprice&quot;,
&quot;symbol&quot;:&quot;BTC-USDT&quot;
},
{
&quot;channel&quot;:&quot;flagprice&quot;,
&quot;symbol&quot;:&quot;ETH-USDT&quot;
}
]
}</code></pre>
</li>
<li>
<p>订阅成功响应:</p>
<pre><code>{
&quot;event&quot;: &quot;subscribe&quot;,
&quot;params&quot;:[
{
&quot;channel&quot;:&quot;flagprice&quot;,
&quot;symbol&quot;:&quot;BAND-USDT&quot;
},
{
&quot;channel&quot;:&quot;flagprice&quot;,
&quot;symbol&quot;:&quot;LINK-USDT&quot;
}
]
}</code></pre>
</li>
<li>
<p>订阅成功返回数据:</p>
<pre><code>{
&quot;data&quot;: {
&quot;symbol&quot;: &quot;BAND-USDT&quot;,
&quot;indexPrice&quot;: 1.804,
&quot;fundRate&quot;: 0,
&quot;currentPrice&quot;: 1.804
},
&quot;params&quot;: {
&quot;channel&quot;: &quot;flagprice&quot;
}
}</code></pre>
</li>
<li>
<p>取消订阅参数:</p>
<pre><code>{
&quot;method&quot;: &quot;unsubscribe&quot;,
&quot;params&quot;:[
{
&quot;channel&quot;:&quot;flagprice&quot;,
&quot;symbol&quot;:&quot;BAND-USDT&quot;
},
{
&quot;channel&quot;:&quot;flagprice&quot;,
&quot;symbol&quot;:&quot;LINK-USDT&quot;
}
]
}</code></pre>
</li>
<li>取消订阅成功响应:
<pre><code>{
&quot;event&quot;: &quot;unsubscribe&quot;,
&quot;params&quot;: {
&quot;symbol&quot;: &quot;BAND-USDT&quot;,
&quot;channel&quot;: &quot;flagprice&quot;,
&quot;time&quot;: 1654078425817
}
}</code></pre></li>
</ul>
<h3>(公共) 持仓用户登录:</h3>
<ul>
<li>
<p>登录参数:</p>
<pre><code>{
&quot;method&quot;: &quot;login&quot;,
&quot;params&quot;:[
{
&quot;token&quot;:&quot;09b290f0-952c-48d0-b902-bd3c07298ffa&quot;,
&quot;timestamp&quot;:&quot;&lt;timestamp&gt;&quot;
}
]
}</code></pre>
</li>
<li>登录成功返回示例:</li>
</ul>
<pre><code>{
&quot;code&quot;: &quot;0&quot;,
&quot;data&quot;: {
&quot;session_id&quot;: &quot;a9c38b1e-6336-d849-3aca-5541437bbe5e&quot;,
&quot;token&quot;: &quot;09b290f0-952c-48d0-b902-bd3c07298ffa&quot;
},
&quot;event&quot;: &quot;login&quot;
}</code></pre>
<ul>
<li>登录失败返回示例:
<pre><code>{
&quot;event&quot;: &quot;login&quot;,
&quot;code&quot;: &quot;2&quot;,
&quot;msg&quot;: &quot;login error&quot;
}</code></pre></li>
</ul>
<h3>(私有) 用户持仓数据更新 订阅/取消订阅(subscribe/unsubscribe):</h3>
<ul>
<li>
<p>订阅参数:</p>
<pre><code>{
&quot;method&quot;: &quot;subscribe&quot;,
&quot;params&quot;:[
{
&quot;channel&quot;:&quot;position&quot;,
}
]
}</code></pre>
</li>
<li>
<p>订阅成功响应:</p>
<pre><code>{
&quot;event&quot;: &quot;subscribe&quot;,
&quot;params&quot;:[
{
&quot;channel&quot;:&quot;position&quot;
}
]
}</code></pre>
</li>
<li>成功返回数据:
<pre><code>{
&quot;data&quot;: {
&quot;types&quot;: [ // types 表示挂单/持仓更新的事件数组
{
&quot;code&quot;: &quot;200&quot;, // 200 表示操作成功,非200请参考推送code错误含义表
&quot;f&quot;: 0,
&quot;s&quot;: 0,
&quot;type&quot;: &quot;ADD_BOOK&quot; // 表示挂单/持仓事件类型 请参考挂单事件类型表
},
{
&quot;code&quot;: &quot;200&quot;,
&quot;f&quot;: 0,
&quot;s&quot;: 0,
&quot;type&quot;: &quot;ADD_BOOK&quot;
}
]
},
&quot;params&quot;: {
&quot;channel&quot;: &quot;position&quot;
}
}</code></pre></li>
</ul>
<p><strong>code错误含义表:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">代码code</th>
<th style="text-align: left;">错误含义</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">100012</td>
<td style="text-align: left;">账户余额不足</td>
</tr>
<tr>
<td style="text-align: left;">100010</td>
<td style="text-align: left;">委托失败,超过最大持仓上限</td>
</tr>
<tr>
<td style="text-align: left;">100033</td>
<td style="text-align: left;">委托失败,下单价超过强平价</td>
</tr>
<tr>
<td style="text-align: left;">1000024</td>
<td style="text-align: left;">操作失败,订单处理过时</td>
</tr>
</tbody>
</table>
<p><strong> 挂单事件类型表:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">代码type</th>
<th style="text-align: left;">类型</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">ADD_BOOK</td>
<td style="text-align: left;">委托成功</td>
</tr>
<tr>
<td style="text-align: left;">CLOSED</td>
<td style="text-align: left;">平仓成功</td>
</tr>
<tr>
<td style="text-align: left;">MATCHED</td>
<td style="text-align: left;">订单成交</td>
</tr>
<tr>
<td style="text-align: left;">CANCEL_ALL</td>
<td style="text-align: left;">撤单成功</td>
</tr>
</tbody>
</table>