任务组件(新)


将用户在其自己平台中的行为(如注册、浏览、使用、下单、支付等)打包为任务和成就,通过运营构建任务和成就体系,来引导用户的活跃和转化。通过完成任务,用户可以获得抽奖次数、游戏次数、养料等奖励,从而增加互动活动的乐趣和参与度。

制作流程

  1. 定义任务模板:在控制台-应用管理-H5编辑器-任务库-添加

  2. 制作一个H5作品并选择任务组件:H5编辑器-玩法

  1. 制作一个互动作品并选择第二步制作好的作品

  2. 发布互动活动。特别注意:一旦互动作品发布后就不要增减第二步制作好的任务组件,仅可以调整样式

  3. 用户参与互动活动并接收任务

  1. 用户完成任务并领取奖励。当用户完成任务后,任务状态变为“待领取”,点击“领取”按钮获取任务奖励。

任务分类

内置任务

系统目前内置了两种任务:

  1. 签到:通过让用户在任务周期内(如:每天、每周等)签到,以获取奖励。

  2. 转发:通过让用户转发活动来获取奖励,只要在一个互动活动内关联了转发任务组件,当用户在微信内转发活动就会完成该任务并领取对应奖励。

自定义任务

普通任务

        自定义任务是根据具体需求自定义的任务类型。与内置任务不同,自定义任务可以根据不同的业务需求,自由定义任务的名称、描述、奖励和完成条件等信息。
        自定义任务的完成有两种方式:

  • 推送进度
    需要第三方系统调用接口(参照“更新任务进度”或“完成任务”)来实现。当用户点击“去完成”任务时,跳转到第三方系统,并且链接上会携带一些与任务相关的参数,用于用户完成后调用接口完成任务。跳转链接示例:
    https://www.baidu.com?encodeId=5c02bfa5bee54831a372b565d9eeeb63&taskCode=skyKFPQm4sSE&mixCreationId=157503&eqsRedirectUrl=https%3A%2F%2Fwww.eqxiu.cn%2Fv%2F157503%3Fcc%3DdunsBEa7
    
    参数名 必须 参数类型 参数说明
    mixCreationId Long 互动作品id
    taskCode String 任务编号
    encodeId String 用户标识
    eqsRedirectUrl String 活动链接,可用于第三方系统完成任务后跳回活动
  • 拉取进度
    第三方系统提供接口(参照“拉取任务进度”),由内容中台主动拉取。配置地址:

    稿件任务

    适用于阅读稿件等任务,阅读指定新闻列表后领取奖励的场景(类似场景也支持,比如自选股票基金等),需要对接两个接口,第一个是查询稿件列表、第二个是查询任务的完成进度

接口规范

更新任务进度

  • 接口描述:更新任务进度,如果任务数据达到任务设置的条件则完成任务

  • 接口地址:/api/v1/editor/task/progress/push?token=TOKEN

  • 请求方式:POST

  • Content-Type:application/json

  • 接口入参:

    参数名 必须 参数类型 参数说明
    mixCreationId Long 互动作品id
    taskCode String 任务编号
    encodeId String 用户标识
    taskData json 任务数据,数值型任务需要
  • 请求示例

    {
      "mixCreationId": 106335,
      "taskCode": "na3AcWzQ9Dkw",
      "encodeId": "1093614b4dbc44eaa3369d8ff06578c9",
      "taskData": {
        "data": {
          "repostNum": 501 //任务库选择数值型时设置的key
        }
      }
    }
    
  • 返回值说明

    字段 类型 说明
    isComplete Boolean 是否完成任务
  • 返回示例

    {
      "success": true,
      "code": "200",
      "msg": null,
      "obj": {
          "isComplete": true
      },
      "map": null,
      "list": null,
      "details": null
    }
    

完成任务

  • 接口描述:直接完成任务

  • 接口地址:/api/v1/editor/task/complete?token=TOKEN

  • 请求方式:POST

  • Content-Type:application/json

  • 接口入参:

    参数名 必须 参数类型 参数说明
    mixCreationId Long 互动作品id
    taskCode String 任务编号
    encodeId String 用户标识
  • 请求示例

    {
      "mixCreationId": 106335,
      "taskCode": "na3AcWzQ9Dkw",
      "encodeId": "1093614b4dbc44eaa3369d8ff06578c9"
    }
    
  • 返回示例

    {
      "success": true,
      "code": "200",
      "msg": null,
      "obj": null,
      "map": null,
      "list": null,
      "details": null
    }
    

拉取任务进度

  • 接口描述:主动拉取任务

  • 请求方式:POST

  • Content-Type:application/json

  • 接口入参:

    参数名 是否必须 参数类型 参数说明
    timestamp 必须 String 请求时的时间戳
    nonce 必须 String 随机字符串
    signature 必须 String 请求签名
    msgEncrypt 必须 String 加密后的消息
  • msgEncrypt内容如下:

    参数名 是否必须 参数类型 参数说明
    defCreationId Long H5作品id
    mixCreationId Long 互动作品id
    taskDefineId Long 任务定义id(任务库定义的任务)
    elementId Long 任务组件id
    startTime Date 当前任务周期开始时间
    endTime Date 当前任务周期结束时间
    thirdUserId String 自定义授权用户id
    thirdOpenId String 微信授权openId
    mobile String 手机号
    authType Int 授权类型 1-微信授权 2-手机授权 3-自定义授权
  • 接口出参:

    参数名 必须 参数类型 参数说明
    obj.data Object 注意数值型和有无型数据格式不同
  • 返回示例
    数值型:

    {
      "success": true,
      "code": "200",
      "msg": null,
      "obj": {
          "data": {
              "repostNum": 1 //任务库选择数值型时设置的key
          }
      }
    }
    

    有无型:

    {
      "success": true,
      "code": "200",
      "msg": null,
      "obj": {
          "data": 1 // 返回当前周期内完成次数
      }
    }
    

    触发自定义js

    (function() {
      return (args) => {
          const {defCreationId,
              mixCreationId,
              taskDefineId,
              elementId,
              thirdOpenId,
              thirdUserId,
              mobile,
              authType,
              encodeId} = args;
          console.log(args)
      }
    })()
    

2025年4月9日 15:40 4949 收藏文档