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

能否在Marketing Cloud自定义活动中直接将值放入请求体根节点而非inArguments?

在Journey Builder自定义活动中直接将动态值放入POST请求体的解决方案

可以直接把动态数据构造为POST请求体,核心是要确保body字段的值是合法的JSON字符串,而非JavaScript对象或数组。以下是具体实现步骤:

1. 调整config.json的基础配置

先把body字段留空或设为占位符,后续通过代码动态填充:

"arguments": {
    "execute": {
        "inArguments": [],
        "outArguments": [],
        "url": "https://myurl.m.pipedream.net/",
        "verb": "POST",
        "body": "",
        "headers": "{\"x-api-key\": \"xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx\"}",
        "timeout": 20000,
        "retryCount": 5,
        "retryDelay": 10000
    }
}

2. 修改customActivity.js构造动态请求体

直接生成包含动态值的JSON字符串,赋值给body字段:

// 构造包含动态数据的JSON对象
const requestBody = {
  subscriberKey: "{{Contact.Key}}",
  surveyID: surveyID,
  de: de,
  firstName: "{{Event.AutomationAud-myInstance.firstName}}",
  lastName: "{{Event.AutomationAud-myInstance.lastName}}",
  accountID: "{{Event.AutomationAud-myInstance.accountID}}"
};

// 序列化为JSON字符串后赋值给body
payload['arguments'].execute.body = JSON.stringify(requestBody);

关键注意事项

  • 必须用JSON字符串:Journey Builder要求body的值是经过序列化的字符串,直接传对象/数组会触发验证失败或运行时硬错误,这也是你之前尝试失败的核心原因。
  • 确保数据绑定合法:{{Contact.Key}}这类AMPscript表达式要保证在旅程上下文里能正常获取到对应数据。
  • JSON格式正确:键名和字符串值必须用双引号,避免语法错误。

内容的提问来源于stack exchange,提问作者Scott

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 17:03:09