活动更新
一.概述
本文档用于向接入方描述活动更新操作详情,通过活动更新通知接口、活动内容读取接口,游戏服务器可将发布更新的活动内容,更新到游戏世界。
1.1 基本流程
	1. 果安统计后台点击更新活动,调用活动更新通知接口,向cp接入方填写的中间层地址发送数据;
2. cp接入方接收数据成功后,告知果安接口服务器;
3. 接入方接收成功返回,后续可请求拿到活动回调地址等参数,获取实际的更新内容;
4. 果安接口服务器依据回调地址返回相应数据。
	
 
1.2 管理后台配置内容
无
1.3 活动更新通知接口
	接口描述:本接口用于向cp接入方填写的中间层地址发送活动更新通知请求。
中间层配置示例地址(cp方可在后台自行配置,如下):
	
 
请求方式:POST
请求参数:
| 
				 参数  | 
			
				 类型  | 
			
				 说明  | 
			
				 示例  | 
		
| 
				 method  | 
			
				 string  | 
			
				 接口方法名(本次填写activityUpdate)  | 
			
				 activityUpdate  | 
		
| 
				 active_type  | 
			
				 int  | 
			
				 活动类型  | 
			
				 1  | 
		
| 
				 sids  | 
			
				 string  | 
			
				 区服id列表,“1,2,3”,英文逗号分隔  | 
			
				 1,2,3  | 
		
| 
				 timestamp  | 
			
				 int  | 
			
				 10位时间戳  | 
			
				 1470280842  | 
		
| 
				 key  | 
			
				 string  | 
			
				 验证签名(规则见其他说明)  | 
			
				 7fb590c097cb64e6e3b6f8ca334fdf65  | 
		
| 
				 callback_url  | 
			
				 string  | 
			
				 
					示例: %s :格式化要更新的区服  | 
			
				 http://uapi.uzone8.com/10/%s/1470279431/activityUpdate  | 
		
	接收成功返回 : {"statusCode":200}
格式为json,其他参照错误码说明
1.4 活动内容读取接口
	接口描述:
    此接口用于游戏服务器获取活动管理后台最新配置的活动内容。游戏服务器可将此最新发布的活动内容更新同步到游戏世界。
请求方式:HTTP GET方式
请求格式描述:
    根据活动更新通知接口的callback_url参数获取相关回调链接,并通过获取的sids参数,格式化url后获取完整链接内容作为请求地址。
示例:
GET:http://uapi.uzone8.com/10/1/1470279566/activityUpdate
注意事项:数据自更新活动起只保留一天
返回内容格式:json格式对象
返回列表:
| 
				 ret  | 
			
				 msg  | 
			
				 data  | 
		
| 
				 1  | 
			
				 success  | 
			
				 
					Json数组,示例 
					  | 
		
| 
				 -1  | 
			
				 param xx error  | 
			
				 null  | 
		
| 
				 -2  | 
			
				 time out  | 
			
				 null  | 
		
| 
				 -3  | 
			
				 update error  | 
			
				 null  | 
		
| 
				 -99  | 
			
				 other error  | 
			
				 null  | 
		
data字段说明:
| 
				 字段名  | 
			
				 类型  | 
			
				 说明  | 
		
| 
				 activity_template_id  | 
			
				 int  | 
			
				 活动id  | 
		
| 
				 activity_struct_mark  | 
			
				 int  | 
			
				 活动结构标识  | 
		
| 
				 activity_title  | 
			
				 string  | 
			
				 活动标题  | 
		
| 
				 activity_description  | 
			
				 stirng  | 
			
				 活动描述  | 
		
| 
				 activity_time_type  | 
			
				 int  | 
			
				 活动时间类型:{1 : '单次', 2:'周循环', 3:'月循环'}  | 
		
| 
				 start_time  | 
			
				 string  | 
			
				 开始时间(unix_timestamp)  | 
		
| 
				 end_time  | 
			
				 string  | 
			
				 结束时间(unix_timestamp)  | 
		
| 
				 time_extended  | 
			
				 string  | 
			
				 时间扩展字段(json 字符串)  | 
		
| 
				 自定义字段  | 
			
				 自定义字段  | 
			
				 自定义字段  | 
		
| 
				 ...  | 
			
				 ...  | 
			
				 ...  | 
		
| 
				 activity_list  | 
			
				 array  | 
			
				 
					子活动列表:  | 
		
	示例:
成功返回示例:
 {
    "ret": 1,
    "msg": "success",
    "data": [
        {
            "activity_template_id": "9",
            "activity_struct_mark": "1",
            "activity_title": "asd",
            "activity_description": "zxc",
            "activity_time_type": "2",
            "start_time": null,
            "end_time": null,
            "time_extended": "",
            "new_param": "edc",
            "activity_list": [
                {
                    "cond": "sd",
					"activity_condition_description": "desc",
                    "reward": [
                        {
                            "code": "26062",
                            "type": "1",
                            "amount": "4"
                        }
                    ]
                }
            ]
        },
        { "activity_template_id": "8",
            "activity_struct_mark": "1",
            "activity_title": "asd",
            "activity_description": "zxc",
            "activity_time_type": "2",
            "start_time": null,
            "end_time": null,
            "time_extended": "",
            "new_param": "edc",
            "activity_list": [
                {
                    "cond": "sd",
					"activity_condition_description": "desc",
                    "reward": [
                        {
                            "code": "26063",
                            "type": "1",
                            "amount": "5"
                        }
                    ]
                }
            ]
        }
    ]
} 
二.其他
1. 错误码(statusCode)
200:成功
201:serverId无效
202:方法类型或方法名称为空
203:方法类型或方法名称无效
204:参数不完整
205: 签名错误
999:其他错误
2. 签名说明
	key = md5(appId+md5(signStr)+timestamp+appKey)
//“+”意为字符串拼接
appId:从后台基本信息获取游戏appId
appKey:从后台基本信息获取游戏appKey
timestamp:请求参数中的时间戳
	signStr拼接规则 :
        活动更新通知接口的请求参数中,去掉timestamp和key参数,按剩余请求参数首字母升序排序,拼接对应参数值
参照代码(php语言):