需求背景
近期post提报,循环执行时,发现很多失败的post,排查后发现都是历史提报的post,已经过期但是状态还是【已投放】,循环提报时,图片是相同的导致新提报的直接失败。
需求内容
1、新增自动撤回服务
执行频率:每天执行,每天查询一次数据
执行对象:两个条件满足任一一个即可
A)针对近1个月添加的post,且状态为【已投放:LIVE】或【已安排:SCHEDULED】,且post的活动时间已过期(结束日期<当天日期),自动生成撤回;
B)针对近1个月添加的post,且状态为【撤回失败】,且近3天未执行过撤回操作,自动生成撤回;
执行重试:针对当天撤回失败的,可重试3次。超过3次失败,状态为【撤回失败】,并调接口获取最新状态进行更新。
历史数据处理:查询所有提报的历史数据,进行统一生成任务撤回。
2、提报post时,取图片时,需要新增判断
A)同一个ASIN+同一个来源渠道,查询近6个月提报的post,如果存在状态为【已投放】或【已安排】或【待撤回】或【撤回中】或【撤回失败】,则新提报的post,不能使用与(【已投放】或【已安排】或【待撤回】或【撤回中】或【撤回失败】)一样的图片。
3、post重试服务新增规则
针对提报状态为【审核失败】,且字段【StatusMetadata】里,【type】的内容是【DUPLICATE_IMAGE】,进行重试,更改图片,重新生成活动的开始时间、结束时间后重新提报。
只针对近7天提报的post,进行重试。
服务每天都执行,同一个来源渠道同一个ASIN,在一天内可重试1次
注意:重新取图片提报时,不能使用与【StatusMetadata】里【evidences】字段里的【componentId"】postID的图片
【StatusMetadata】案例:
{"rejectionReasons":[{"code":"ad_post_duplicate_asset","detail":"Duplicate assets aren't allowed","evidences":[{"componentId":"acf8afc1-f68b-4d65-9e07-94b2030cf14c","type":"DUPLICATE_IMAGE"}]}]}
4、页面批量取消操作调整
目前页面批量取消,是实时调接口的。需要调整
1、批量取消post:改为批量撤回,并新增撤回队列记录(需要区分是服务自动取消,还是人工手动触发),通过队列生成任务分批进行提报撤回。
2、提报状态:新增待撤回、撤回中(取消中改为撤回中)、撤回失败
生成撤回任务时,状态为【待撤回】
提交到平台时,状态为【撤回中】
撤回成功后,状态为【已撤回】
撤回失败后,状态为【撤回失败】,并调接口获取最新状态进行更新。(只更新近1个月添加的post,每天执行一次)
3、状态为【已投放】或【已安排】或【撤回失败】:支持在页面提交【批量撤回】操作
注意:
调【撤回】接口时,需要控制调接口频率,避免大量频繁调用;
撤回服务自动执行时,状态为【撤回失败】,同一个ASIN+同一个来源渠道,3天内只执行一次撤回
人工手动提报时,状态为【撤回失败】,同一个ASIN+同一个来源渠道,1天内只执行一次撤回



