You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否用SSJS基于已有数据过滤器创建并添加自动化筛选活动?

用SSJS实现基于已有数据过滤器创建筛选活动并添加到自动化流程

完全可以通过SSJS结合Marketing Cloud REST API实现这个需求,以下是具体实现步骤和代码示例:

核心思路

SSJS本身没有直接创建筛选活动的内置函数,但可以通过SSJS发起HTTP请求调用Marketing Cloud的REST API,完成筛选活动的创建以及与自动化流程的关联。

具体实现步骤

1. 获取Marketing Cloud OAuth认证令牌

在调用任何REST API之前,需要先获取有效的访问令牌:

var authEndpoint = 'https://YOUR_SUBDOMAIN.auth.marketingcloudapis.com/v2/token';
var payload = {
  "grant_type": "client_credentials",
  "client_id": "YOUR_CLIENT_ID",
  "client_secret": "YOUR_CLIENT_SECRET",
  "account_id": "YOUR_ACCOUNT_ID"
};

var req = new Script.Util.HttpRequest(authEndpoint);
req.emptyContentHandling = 0;
req.retries = 2;
req.continueOnError = true;
req.contentType = "application/json";
req.method = "POST";
req.postData = Stringify(payload);

var resp = req.send();
var respObj = Platform.Function.ParseJSON(resp.content);
var accessToken = respObj.access_token;

2. 创建筛选活动并关联已有数据过滤器

使用获取到的令牌,调用REST API创建筛选活动,指定关联的数据过滤器ID(即你已创建的数据过滤器的外部键或ID):

var filterActivityEndpoint = 'https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/automation/v1/activities';
var filterPayload = {
  "name": "基于已有过滤器的筛选活动",
  "description": "通过SSJS创建的筛选活动",
  "activityDefinitionId": "7459e6a0-7f5a-4a9e-9875-7d4c3997d602", // 筛选活动的固定定义ID
  "configuration": {
    "dataFilterId": "YOUR_EXISTING_DATA_FILTER_ID" // 替换为你已创建的数据过滤器ID
  }
};

var filterReq = new Script.Util.HttpRequest(filterActivityEndpoint);
filterReq.emptyContentHandling = 0;
filterReq.retries = 2;
filterReq.continueOnError = true;
filterReq.contentType = "application/json";
filterReq.method = "POST";
filterReq.setHeader("Authorization", "Bearer " + accessToken);
filterReq.postData = Stringify(filterPayload);

var filterResp = filterReq.send();
var filterActivityObj = Platform.Function.ParseJSON(filterResp.content);
var filterActivityId = filterActivityObj.id; // 保存新创建的筛选活动ID

3. 将筛选活动添加到自动化流程

调用API将创建好的筛选活动添加到指定的自动化流程中,需要提前获取目标自动化流程的ID:

var automationEndpoint = 'https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/automation/v1/automations/YOUR_AUTOMATION_ID/activities';
var addActivityPayload = {
  "id": filterActivityId,
  "step": 1 // 指定活动在自动化中的步骤位置
};

var addReq = new Script.Util.HttpRequest(automationEndpoint);
addReq.emptyContentHandling = 0;
addReq.retries = 2;
addReq.continueOnError = true;
addReq.contentType = "application/json";
addReq.method = "POST";
addReq.setHeader("Authorization", "Bearer " + accessToken);
addReq.postData = Stringify(addActivityPayload);

var addResp = addReq.send();

注意事项

  • 替换代码中的YOUR_SUBDOMAIN、YOUR_CLIENT_ID、YOUR_CLIENT_SECRET、YOUR_ACCOUNT_ID、YOUR_EXISTING_DATA_FILTER_ID、YOUR_AUTOMATION_ID为实际值
  • 确保你的API集成拥有Automation和Filter相关的权限
  • 筛选活动的activityDefinitionId是固定值7459e6a0-7f5a-4a9e-9875-7d4c3997d602,无需修改

内容的提问来源于stack exchange,提问作者Ilyass Ait Moussa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 14:01:42