فهرست منبع

fix(creation): 修正 AIM 字段名 + 精简 wechat_position 至 4 项

- AIM:字段 smart_targeting_status → smart_targeting_mode,值 SMART_TARGETING_MANUAL(之前字段名错被腾讯静默忽略,创建广告全 AUTO)
- wechat_position 预设 9 → 4 项[激励/插屏/原生/封面],注释加 1024794 下线 + create-only 锁死(36840)警告
刘立冬 2 هفته پیش
والد
کامیت
62da182e4e
2فایلهای تغییر یافته به همراه38 افزوده شده و 22 حذف شده
  1. 30 16
      examples/auto_put_ad_mini/config.py
  2. 8 6
      examples/auto_put_ad_mini/tools/ad_creation.py

+ 30 - 16
examples/auto_put_ad_mini/config.py

@@ -401,23 +401,37 @@ SITE_SET_COMBINATIONS = [
     ["SITE_SET_WECHAT", "SITE_SET_WECHAT_PLUGIN", "SITE_SET_SEARCH_SCENE", "SITE_SET_MOMENTS"],
 ]
 
-# --- AIM 智能定向状态(2026-06-09 用户确认:关闭,参考 78420850/105832100128 反查值)---
-# enum 值(实测):
-#   SMART_TARGETING_NONE  = AIM 关闭(本期目标)
-#   SMART_TARGETING_AUTO  = AIM 自动(腾讯默认)
-SMART_TARGETING_STATUS = "SMART_TARGETING_NONE"
-
-# --- WECHAT_POSITION 定投场景(2026-06-09 用户确认:1 账户 2 广告通过有/无定投差异化)---
-# 9 个场景 ID 来自参考广告 77868332/105681584461 (0603-2) 的 wechat_position
-# 中文映射通过 tools.scene_spec.get_wechat_position_tags() 运行时查询(进程内缓存 1h)
-# 参考广告各场景见 docs:
-#   1024789 公众号文章底部 / 1024790 公众号文章中部 / 1024791 公众号文章视频贴片
-#   1024792 订阅号消息列表 / 1024795 小程序激励式广告 / 1024796 小程序插屏广告
-#   2100745 发现小程序 / 2100748 小程序原生广告 / 2100802 公众号文章评论区
+# --- AIM 智能定向(2026-06-11 实测修正:跨接口字段名/枚举值不一致)---
+# 文档:https://developers.e.qq.com/v3.0/docs/api/adgroups/update
+#       https://developers.e.qq.com/v3.0/docs/enums#smart_targeting_mode
+#
+# write 接口(/adgroups/add + /adgroups/update)字段 = smart_targeting_mode (enum)
+#   · SMART_TARGETING_MANUAL = 手动定向(等价于 AIM 关闭,本期目标)
+#   · 不传该字段 = 腾讯默认开 AIM(实测:get 反查会变成 SMART_TARGETING_AUTO)
+#   · 必须每次显式传(腾讯文档原话:"若选择手动定向需在每次调用接口时显式携带该参数")
+#
+# read 接口(/adgroups/get)字段 = smart_targeting_status (只读)
+#   · SMART_TARGETING_NONE = 已关 · SMART_TARGETING_AUTO = 智能定向中
+SMART_TARGETING_MODE = "SMART_TARGETING_MANUAL"
+
+# --- WECHAT_POSITION 定投场景(2026-06-11 用户确认:精简为生产 4 项)---
+# 历史:9 项 preset(来自参考广告 77868332)→ 实际生产删除重建走 3 项 → 本期 + 1024797 共 4 项
+# 中文映射通过 tools.scene_spec.get_wechat_position_tags(account_id) 运行时查询(进程内缓存 1h)
+#
+# 业务生效场景(小程序流量为主,公众号文章位历史 SOP 但本期未启用):
+#   1024795 小程序激励式广告
+#   1024796 小程序插屏广告
+#   2100748 小程序原生广告
+#   1024797 小程序封面广告(2026-06-11 新增)
+#
+# ⚠️ 腾讯下线警告(2026-06-11 实测):1024794 小程序banner广告**已下线**,千万别加
+#    → /adgroups/update 会报 code=1800945 "banner 广告选项已下线"
+#    → scene_spec_tags/get 接口仍返回它(腾讯枚举表未及时清理),get_wechat_position_tags 能拿到 ≠ 能用
+#
+# ⚠️ 创建后锁死(2026-06-11 实测复现):wechat_position 一旦创建,update 报 code=36840
+#    → 要新增场景必须删除重建广告,代价是丢失已挂创意 + 学习数据
 WECHAT_POSITION_TARGETED_PRESET = [
-    1024789, 1024790, 1024791, 1024792,
-    1024795, 1024796,
-    2100745, 2100748, 2100802,
+    1024795, 1024796, 2100748, 1024797,
 ]
 
 # 1 账户广告数(2026-06-09 用户确认:2 条,一条有 wechat_position 定投,一条无定投)

+ 8 - 6
examples/auto_put_ad_mini/tools/ad_creation.py

@@ -35,8 +35,8 @@ from config import (
     AUTO_DERIVED_CREATIVE_ENABLED,
     AIM_SMART_TARGETING_ENABLED,
     AIM_SMART_SITE_ENABLED,
-    # AIM 智能定向状态(2026-06-09 新增,反查 78420850/105832100128 确认 enum 值)
-    SMART_TARGETING_STATUS,
+    # AIM 智能定向(2026-06-11 修正:write 接口字段是 smart_targeting_mode,值 SMART_TARGETING_MANUAL)
+    SMART_TARGETING_MODE,
     # 版位定投场景(2026-06-09 新增,1 账户 2 广告差异化)
     WECHAT_POSITION_TARGETED_PRESET,
     ADS_PER_ACCOUNT,
@@ -230,9 +230,9 @@ def enumerate_new_ad_candidates(
 
     bid_amount_fen = pick_bid_amount_fen(tier_label)
 
-    # 差异化策略(2026-06-09 用户确认):
+    # 差异化策略(2026-06-09 用户确认 + 2026-06-11 缩减):
     #   广告 #1 wechat_position=None   (无定投,走 site_set 默认全场景)
-    #   广告 #2 wechat_position=WECHAT_POSITION_TARGETED_PRESET(9 个场景 ID)
+    #   广告 #2 wechat_position=WECHAT_POSITION_TARGETED_PRESET(本期 4 项小程序版位)
     # 同 site_set 同 targeting 但 wechat_position 不同 → 腾讯唯一性绕过(参考 77868332 实测)
     wechat_position_variants = [None, WECHAT_POSITION_TARGETED_PRESET]
 
@@ -357,8 +357,10 @@ def build_ad_request_body(
         # 搜索场景扩量 · 定向拓展(用户 2026-06-05 确认:关)
         "search_expand_targeting_switch": SEARCH_EXPAND_TARGETING_SWITCH,
         # === 定向 ===
-        # AIM 智能定向状态(2026-06-09 用户确认:NONE = 关闭)
-        "smart_targeting_status": SMART_TARGETING_STATUS,
+        # AIM 智能定向(2026-06-11 实测修正:字段名是 smart_targeting_mode 不是 status)
+        # 之前用错字段名 smart_targeting_status,腾讯静默忽略,创建出来全 AUTO
+        # 正确写法:smart_targeting_mode=SMART_TARGETING_MANUAL(手动定向 = AIM 关闭)
+        "smart_targeting_mode": SMART_TARGETING_MODE,
         "targeting": targeting,
     }
     # 版位定投场景 wechat_position(2026-06-10 实测修正:POST 时 scene_spec 是顶层字段)