# 4、任务领奖通知

用户领取完成后,平台会把相关领取结果及用户信息通过数据流post的形式发送给媒体,媒体需要接收处理,并按文档规范返回应答。平台发奖此接口可忽略

可以在渠道后台查看是否回调成功。 开发完以后,需自行配置到媒体后台(保存),可在媒体后台进行测试,媒体后台-->应用--->配置--->应用赚配置--->点我测试

注意:target_id,app_key可根据实际情况进行填写,如果点击测试显示"系统异常",请先检查请求方式是否为post以及接收数据的方式是否为form类型,返回类型一定要为json对象。

# 请求方式

​ post

# 特别提醒(重要):

​ 1.同样的通知可能会多次发送给媒体系统(服务器网络抖动,第一次回调平台没有收到code:200的反馈,但是已经给用户发奖成功,所以会二次回调)。如有重复回调,媒体务必做出正确处理,即返回{"code":200}

​ 2.媒体系统对于领取结果通知的内容一定要做签名验证,防止数据泄漏导致出现“假通知”,造成资金损失。

​ 3.当收到通知进行处理时,首先检查对应业务数据的状态,判断该通知是否已经处理过,如果没有处理过再进行处理,如果处理过直接返回结果成功(返回值为 {"code":200})。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。

4.回调处理成功后返回值为 {"code":200}。无返回值或者非200,则认为回调出现异常,会再次进行回调。

# 接口链接

通知url必须为直接可访问的url,不能携带参数。示例:notify_url:"https://pay.xxxxx.com/xxxxx/pay.action"

当接口调用失败后,平台会在5秒,10秒 ,30秒,1分,2分,3分,4分, 5分, 6分,7分,8分,9分,10分, 20分,30分,1小时,2小时分别请求回调接口一直到接口请求成功。

# 通知参数(formData)

{
	"sign": "A67AA5150636F166D653A8643FD3E3A2",    //签名
	"target_id": "142792766",				//媒体方用户id
	"app_reward": "0.70",						//给媒体方的奖励
	"user_reward": "0.56",				//媒体方给用户发放的奖励
	"content": "应用赚任务-c12",			//任务名称
	"unit": "元",								//媒体方计价单位
	"app_key": "142792766",				//媒体appKey
	"device_info": "B49B363F-F0CF-4B9C-8F00-67A94196E646",  //用户设备信息		
	"time_end": "20200828150316",		//领取完成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010
	"device": "ios",		 //设备 ios,安卓
	"order_id": 4624   //平台所有项目唯一订单号,媒体方排重用
}
# 签名规则

​ sign = MD5(app_key+device+device_info+target_id+app_secret) .toUpperCase,密钥渠道后台可以取到(媒体后台-->应用--->编辑)

签名必须为md5后的值大写。

app_key及app_secret获取引导(后台的地址、用户名、密码请联系商务获取)