活动服务 API

活动服务API围绕用户参加活动领取产品使用权限提供服务,请先创建应用申请 auth_activity(授权活动模块)scope并获取审批后再使用。

1、参加活动领取产品

请求

POST https://apigate.glodon.com/activity/services/activity?g_nonce=xxx

说明

为指定用户参加活动,领取活动包含的产品使用权限。

header 参数

参数名 必选 类型 描述
Authorization String Bearer app_access_token. 注:该 access_token 是应用级别
Content-Type String application/json

query 参数

参数名 必选 类型 描述
g_nonce String 防重放随机串

body 参数

参数名 必选 类型 描述
identity String 广联云账号(手机号/邮箱) / 企业账号 / 云锁资产编号
activityLabel String 活动助记符
source String 参与活动的业务线系统域名或者名称标识
branch String 参与者所属分支
extParams String 扩展参数项,JSON格式串,可不填写,用于支持业务线有关领取活动的扩展需求,该参数的详细描述见后续。

extParams 参数项详解

key value 描述
mode sync sync标明领取活动方式为同步模式,该模式下,领取活动直到订单处理完毕,获取授权才代表活动领取成功。

示例

{
    "identity": "xxx",
    "activityLabel": "xxx",
    "source": "xxx",
    "branch": "xxx",
    "extParams": {
        "mode": "sync"
    }
}

响应

HTTP 代码 说明 类型
200 ok 请求成功,根据业务 resultCode 解析实际结果

HTTP 请求示例

OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "body 参数");
Request request = new Request.Builder()
  .url("https://apigate.glodon.com/activity/services/activity?g_nonce=xxx")
  .post(body)
  .addHeader("authorization", "XXXXXXXX")
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();

成功返回结果

{
    "resultCode": "0000",
    "resultMessage": "办理成功!",
    "detail": {  // detail字段里面提供了领取成功的具体活动和对应的产品信息。
        "products": [{  // products代表活动对应的产品集合
            "activityId": "xxx",  // 产品来源的活动
            "subActivityId": "xxx", // 产品来源的活动单元
            "productUri": "xxx", // 产品唯一标识
            "limitStartDate": "xxx", // 产品权限有效期开始时间
            "limitEndDate": "xxx", // 产品权限有效期结束时间
            "activateType": "xxx" // 取0表示活动领取时候,产品就被激活,取1表示产品需要后期单独激活
        }, {
            "activityId": "xxx",
            "subActivityId": "xxx",
            "productUri": "xxx",
            "limitStartDate": "xxx",
            "limitEndDate": "xxx",
            "activateType": "xxx"
        }]
    }
}

异常返回结果

{
    "resultCode": "1001",
    "resultMessage": "请求参数错误" // 具体参数错误描述,读取resultMessage字段的值
}
{
    "resultCode": "1002",
    "resultMessage": "处理异常信息" // 具体参数错误描述,读取resultMessage字段的值
}
{
    "resultCode": "1004",
    "resultMessage": "非法的参与者信息"  // 具体信息描述,读取resultMessage字段的值
}
{
    "resultCode": "2001",
    "resultMessage": "被过滤规则丢弃信息"  // 具体过滤规则丢弃信息描述,读取resultMessage字段的值
}
{
    "resultCode": "3001",
    "resultMessage": "您要办理的活动不存在!"  // 表示活动不存在,需要联系管理员检查参加的对应活动是否建立
}
{
    "resultCode": "3002",
    "resultMessage": "没有您可以办理的活动", // 表示活动存在,但是参加活动的对象不符合领取活动的条件 
    "activityDtoList": [{  // 请求的活动列表
        "engineSubActivityDtos": [{  // 请求的活动中对应的活动单元信息
            "errorCode": 14005,  // 不符合参加活动单元条件的错误码
            "errorMessage": "个人领取次数超限",  // 不符合参加活动单元条件的具体错误原因
            "id": "D169ACEF2ECE4663B18CD6D917017788",  // 对应活动单元ID
            "name": "辽宁极限任务挑战赛活动",  // 对应活动单元名称
            "participateResult": false  // 是否能够参加的判断结果(true可以参加,false不可以参加)
        }],
        "id": "65E01E5C23694DE3ACA0E8193CC4040B", // 对应活动ID
        "name": "辽宁极限任务挑战赛-徐佳傲",  // 对应活动名称
        "participateResult": false // 是否能够参加的判断结果(true可以参加,false不可以参加)
    }]
}