腾讯珊瑚接入流程和开发指引

接入流程+开发工作量+开发接口


任务事件腾讯云控制台版本

<p>[toc]</p> <h2>使用流程</h2> <p>1、任务事件管理 在控制台中创建、编辑、删除任务事件。 2、任务事件绑定 在创建任务的时候,绑定好任务事件;一个任务事件可以绑定多个任务,一个任务只能绑定一个事件。每个任务增加了计次项,即调用提交接口n次时,才能获取到积分。 3、任务事件提交 通过submitTaskEvent接口提交任务事件,该接口会筛选出已上线(不包括删除、下线、过期)的任务,并判断其是否可以进行提交,当任务事件下的所有任务都具备提交条件的时候,会同时对这些任务进行提交。</p> <h2>接口描述</h2> <h3>异步执行和同步执行</h3> <h4>同步执行</h4> <p>请求后,如果是同步执行,系统执行完提交任务的操作后,返回相应的结果。</p> <h4>异步执行</h4> <p>请求后,如果是异步执行且参数正确无误,会立即返回任务请求成功,但是不会返回执行任务的结果。由<strong>异步执行结果通知地址</strong>通知提交任务结果,如果通知地址无效,将会导致任务通知失败。</p> <h4>如何选择</h4> <ul> <li>事务性比较强,选同步</li> <li>对并发要求高,选异步</li> </ul> <h3>接口文档设计</h3> <h4>接口请求</h4> <p>请直接使用腾讯云的接口文档进行对接: <a href="https://cloud.tencent.com/document/api/1310/89032">https://cloud.tencent.com/document/api/1310/89032</a></p> <h4>返回参数</h4> <p>成功示例 - 同步</p> <table> <thead> <tr> <th>参数名</th> <th>类型</th> <th>必填</th> <th>备注</th> </tr> </thead> <tbody> <tr> <td>Code</td> <td>int</td> <td>是</td> <td>提交任务事件接口状态码。0为提交成功,非0值为异常</td> </tr> <tr> <td>Message</td> <td>string</td> <td>是</td> <td>任务事件结果提示信息</td> </tr> <tr> <td>OrderId</td> <td>string</td> <td>是</td> <td>提交任务时的OrderId的参数(用户传入的唯一ID)</td> </tr> <tr> <td>Data</td> <td>array</td> <td>是</td> <td>提交后返回的数据</td> </tr> </tbody> </table> <p>data数据:</p> <table> <thead> <tr> <th>参数名</th> <th>类型</th> <th>必填</th> <th>备注</th> </tr> </thead> <tbody> <tr> <td>Code</td> <td>int</td> <td>是</td> <td>任务状态。0为提交成功,非0值为异常</td> </tr> <tr> <td>Message</td> <td>string</td> <td>是</td> <td>任务结果提示信息</td> </tr> <tr> <td>TaskOrderId</td> <td>string</td> <td>是</td> <td>完成或正在完成的任务订单ID,和请求时的订单ID不一样 。异步执行不返回。</td> </tr> <tr> <td>Attach</td> <td>string</td> <td>否</td> <td>额外代码块,一些透传的信息</td> </tr> <tr> <td>DoneTimes</td> <td>int</td> <td>否</td> <td>计次任务:当前已完成次数。</td> </tr> <tr> <td>TotalTimes</td> <td>int</td> <td>否</td> <td>计次任务:单个任务完成需要次数。</td> </tr> <tr> <td>TaskCode</td> <td>int</td> <td>否</td> <td>任务订单提交的状态码,此值等于0,任务完成,否则未完成。异步执行不返回。</td> </tr> <tr> <td>TaskCoinNumber</td> <td>int</td> <td>否</td> <td>完成任务获得积分。异步执行不返回。</td> </tr> <tr> <td>TaskId</td> <td>int</td> <td>否</td> <td>完成任务的ID。异步执行不返回。</td> </tr> <tr> <td>TaskType</td> <td>int</td> <td>否</td> <td>完成任务的类型。异步执行不返回。</td> </tr> <tr> <td>TotalCoin</td> <td>int</td> <td>否</td> <td>积分总数。异步执行不返回。</td> </tr> <tr> <td>TaskName</td> <td>string</td> <td>否</td> <td>任务名称。异步执行不返回。</td> </tr> </tbody> </table> <h4>返回示例</h4> <pre><code>{ &amp;quot;Response&amp;quot;: { &amp;quot;Code&amp;quot;: 0, &amp;quot;Data&amp;quot;: [ { &amp;quot;Attach&amp;quot;: &amp;quot;attach&amp;quot;, &amp;quot;Code&amp;quot;: 0, &amp;quot;DoneTimes&amp;quot;: null, &amp;quot;Message&amp;quot;: &amp;quot;任务已完成或无可做任务&amp;quot;, &amp;quot;TaskCode&amp;quot;: null, &amp;quot;TaskCoinNumber&amp;quot;: null, &amp;quot;TaskId&amp;quot;: 41421, &amp;quot;TaskName&amp;quot;: &amp;quot;积分任务事件1&amp;quot;, &amp;quot;TaskOrderId&amp;quot;: null, &amp;quot;TaskType&amp;quot;: null, &amp;quot;TotalCoin&amp;quot;: null, &amp;quot;TotalTimes&amp;quot;: null }, { &amp;quot;Attach&amp;quot;: &amp;quot;123&amp;quot;, &amp;quot;Code&amp;quot;: 0, &amp;quot;DoneTimes&amp;quot;: null, &amp;quot;Message&amp;quot;: &amp;quot;任务完成&amp;quot;, &amp;quot;TaskCode&amp;quot;: 0, &amp;quot;TaskCoinNumber&amp;quot;: 1, &amp;quot;TaskId&amp;quot;: 41423, &amp;quot;TaskName&amp;quot;: &amp;quot;123&amp;quot;, &amp;quot;TaskOrderId&amp;quot;: &amp;quot;3778318528843622287&amp;quot;, &amp;quot;TaskType&amp;quot;: 11400226, &amp;quot;TotalCoin&amp;quot;: 1, &amp;quot;TotalTimes&amp;quot;: null }, { &amp;quot;Attach&amp;quot;: &amp;quot;123&amp;quot;, &amp;quot;Code&amp;quot;: 0, &amp;quot;DoneTimes&amp;quot;: 1, &amp;quot;Message&amp;quot;: &amp;quot;该任务完成次数 1 / 2&amp;quot;, &amp;quot;TaskCode&amp;quot;: null, &amp;quot;TaskCoinNumber&amp;quot;: null, &amp;quot;TaskId&amp;quot;: 41424, &amp;quot;TaskName&amp;quot;: &amp;quot;123&amp;quot;, &amp;quot;TaskOrderId&amp;quot;: &amp;quot;3778318528844408719&amp;quot;, &amp;quot;TaskType&amp;quot;: null, &amp;quot;TotalCoin&amp;quot;: null, &amp;quot;TotalTimes&amp;quot;: 2 } ], &amp;quot;Message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;OrderId&amp;quot;: &amp;quot;14&amp;quot;, &amp;quot;RequestId&amp;quot;: &amp;quot;d78762cb-3924-4f68-8141-e84abd3f1972&amp;quot; } }</code></pre> <p>异步</p> <pre><code>{ &amp;quot;Response&amp;quot;: { &amp;quot;Code&amp;quot;: 0, &amp;quot;Data&amp;quot;: null, &amp;quot;Message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;OrderId&amp;quot;: &amp;quot;19&amp;quot;, &amp;quot;RequestId&amp;quot;: &amp;quot;30cf98ba-b8ef-440a-8d65-7b888c5bc304&amp;quot; } }</code></pre> <p>失败示例1(参数不符)</p> <pre><code>{ &amp;quot;Response&amp;quot;: { &amp;quot;Code&amp;quot;: -1, &amp;quot;Data&amp;quot;: null, &amp;quot;Message&amp;quot;: &amp;quot;\&amp;quot;Async\&amp;quot; must be one of [0, 1]&amp;quot;, &amp;quot;OrderId&amp;quot;: &amp;quot;21&amp;quot;, &amp;quot;RequestId&amp;quot;: &amp;quot;b16b91fe-68da-4e79-8974-7a2e67b526e5&amp;quot; } }</code></pre> <p>失败示例2(事件中存在获取失败的任务)</p> <pre><code>{ &amp;quot;Response&amp;quot;: { &amp;quot;Code&amp;quot;: -1, &amp;quot;Data&amp;quot;: [ { &amp;quot;Attach&amp;quot;: &amp;quot;attach&amp;quot;, &amp;quot;Code&amp;quot;: -1, &amp;quot;DoneTimes&amp;quot;: null, &amp;quot;Message&amp;quot;: &amp;quot;内部错误&amp;quot;, &amp;quot;TaskCode&amp;quot;: null, &amp;quot;TaskCoinNumber&amp;quot;: null, &amp;quot;TaskId&amp;quot;: 41421, &amp;quot;TaskName&amp;quot;: &amp;quot;积分任务事件1&amp;quot;, &amp;quot;TaskOrderId&amp;quot;: null, &amp;quot;TaskType&amp;quot;: null, &amp;quot;TotalCoin&amp;quot;: null, &amp;quot;TotalTimes&amp;quot;: null }, { &amp;quot;Attach&amp;quot;: &amp;quot;attach&amp;quot;, &amp;quot;Code&amp;quot;: -1, &amp;quot;DoneTimes&amp;quot;: null, &amp;quot;Message&amp;quot;: &amp;quot;该任务未上线或不存在&amp;quot;, &amp;quot;TaskCode&amp;quot;: null, &amp;quot;TaskCoinNumber&amp;quot;: null, &amp;quot;TaskId&amp;quot;: 41422, &amp;quot;TaskName&amp;quot;: &amp;quot;积分任务事件2&amp;quot;, &amp;quot;TaskOrderId&amp;quot;: null, &amp;quot;TaskType&amp;quot;: null, &amp;quot;TotalCoin&amp;quot;: null, &amp;quot;TotalTimes&amp;quot;: null }, ], &amp;quot;Message&amp;quot;: &amp;quot;存在获取失败任务&amp;quot;, &amp;quot;OrderId&amp;quot;: &amp;quot;15&amp;quot;, &amp;quot;RequestId&amp;quot;: &amp;quot;d78762cb-3924-4f68-8141-e84abd3f1972&amp;quot; } }</code></pre> <h4>注意事项</h4> <p>对于同一产品、同一任务事件、同一账号的任务事件提交操作会进行加锁,以防止同时进行多次任务事件提交操作。</p> <h3>异步通知接口文档</h3> <h4>接口名</h4> <p>通知URL必须为直接可访问的URL,不允许携带查询串,要求必须为https地址。</p> <h4>请求方式</h4> <p>POST</p> <h4>签名方式</h4> <p><a href="https://www.showdoc.com.cn/1procedure2develop/4613304376289731">https://www.showdoc.com.cn/1procedure2develop/4613304376289731</a></p> <h4>请求参数</h4> <table> <thead> <tr> <th>参数名</th> <th>类型</th> <th>必填</th> <th>备注</th> </tr> </thead> <tbody> <tr> <td>Code</td> <td>int</td> <td>是</td> <td>提交任务事件接口状态码。0为提交成功,非0值为异常</td> </tr> <tr> <td>Message</td> <td>string</td> <td>是</td> <td>任务事件结果提示信息</td> </tr> <tr> <td>OrderId</td> <td>string</td> <td>是</td> <td>提交任务时的OrderId的参数</td> </tr> <tr> <td>Data</td> <td>array</td> <td>是</td> <td>提交后返回的数据</td> </tr> </tbody> </table> <p>data数据:</p> <table> <thead> <tr> <th>参数名</th> <th>类型</th> <th>必填</th> <th>备注</th> </tr> </thead> <tbody> <tr> <td>Code</td> <td>int</td> <td>是</td> <td>任务状态。0为提交成功,非0值为异常</td> </tr> <tr> <td>Message</td> <td>string</td> <td>是</td> <td>任务结果提示信息</td> </tr> <tr> <td>TaskOrderId</td> <td>string</td> <td>是</td> <td>完成或正在完成的任务订单ID,和请求时的订单ID不一样 。异步执行不返回。</td> </tr> <tr> <td>Attach</td> <td>string</td> <td>否</td> <td>额外代码块,一些透传的信息</td> </tr> <tr> <td>DoneTimes</td> <td>int</td> <td>否</td> <td>计次任务:当前已完成次数。</td> </tr> <tr> <td>TotalTimes</td> <td>int</td> <td>否</td> <td>计次任务:单个任务完成需要次数。</td> </tr> <tr> <td>TaskCode</td> <td>int</td> <td>否</td> <td>任务订单提交的状态码,此值等于0,任务完成,否则未完成。异步执行不返回。</td> </tr> <tr> <td>TaskCoinNumber</td> <td>int</td> <td>否</td> <td>完成任务获得积分。异步执行不返回。</td> </tr> <tr> <td>TaskId</td> <td>int</td> <td>否</td> <td>完成任务的ID。异步执行不返回。</td> </tr> <tr> <td>TaskType</td> <td>int</td> <td>否</td> <td>完成任务的类型。异步执行不返回。</td> </tr> <tr> <td>TotalCoin</td> <td>int</td> <td>否</td> <td>积分总数。异步执行不返回。</td> </tr> </tbody> </table> <h4>请求示例</h4> <pre><code>{ &amp;quot;Code&amp;quot;: 0, &amp;quot;OrderId&amp;quot;: &amp;quot;21&amp;quot;, &amp;quot;Message&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;Data&amp;quot;: [ { &amp;quot;Code&amp;quot;: 0, &amp;quot;Message&amp;quot;: &amp;quot;任务已完成或无可做任务&amp;quot;, &amp;quot;TaskName&amp;quot;: &amp;quot;积分任务事件1&amp;quot;, &amp;quot;TaskId&amp;quot;: 41421, &amp;quot;Attach&amp;quot;: &amp;quot;attach&amp;quot; }, { &amp;quot;Code&amp;quot;: 0, &amp;quot;Message&amp;quot;: &amp;quot;该任务完成次数 1 / 2&amp;quot;, &amp;quot;DoneTimes&amp;quot;: 1, &amp;quot;TotalTimes&amp;quot;: 2, &amp;quot;TaskId&amp;quot;: 41423, &amp;quot;TaskName&amp;quot;: &amp;quot;123&amp;quot;, &amp;quot;TaskOrderId&amp;quot;: &amp;quot;3778318528844408719&amp;quot;, &amp;quot;Attach&amp;quot;: &amp;quot;123&amp;quot; } ] }</code></pre> <pre><code>{ &amp;quot;Code&amp;quot;: -1, &amp;quot;Data&amp;quot;: null, &amp;quot;Message&amp;quot;: &amp;quot;\&amp;quot;Async\&amp;quot; must be one of [0, 1]&amp;quot;, &amp;quot;OrderId&amp;quot;: &amp;quot;22&amp;quot;, }</code></pre> <pre><code>{ &amp;quot;Code&amp;quot;: -1, &amp;quot;OrderId&amp;quot;: &amp;quot;23&amp;quot;, &amp;quot;Message&amp;quot;: &amp;quot;存在提交失败任务&amp;quot;, &amp;quot;Data&amp;quot;: [ { &amp;quot;Attach&amp;quot;: &amp;quot;attach&amp;quot;, &amp;quot;Code&amp;quot;: -1, &amp;quot;Message&amp;quot;: &amp;quot;内部错误&amp;quot;, &amp;quot;TaskId&amp;quot;: 41421, &amp;quot;TaskName&amp;quot;: &amp;quot;积分任务事件1&amp;quot;, }, { &amp;quot;Attach&amp;quot;: &amp;quot;attach&amp;quot;, &amp;quot;Code&amp;quot;: -1, &amp;quot;Message&amp;quot;: &amp;quot;该任务未上线或不存在&amp;quot;, &amp;quot;TaskId&amp;quot;: 41422, &amp;quot;TaskName&amp;quot;: &amp;quot;积分任务事件2&amp;quot;, }, ] }</code></pre> <h4>返回示例</h4> <p>成功接受通知后请返回字符串success</p> <pre><code>'success'</code></pre>

页面列表

ITEM_HTML