0

我根据销售人员指南在销售人员营销云中开发了一个自定义旅程活动 https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-app-development.meta/mc-app-development/creating -activities.htm

我们根据规范创建了一个带有静态 HTML 页面(index.html)的简单 Web 应用程序。我们在部署到 Azure 应用服务的 C# Web API 中对端点(保存、发布、验证、停止、测试保存、执行)进行了编码。我们已经使用 SSL 保护了应用程序和端点。如果成功,Web API 方法返回状态 200OK,如果出现错误,则返回状态 400 错误请求。出于跟踪目的,我们将 Web 服务调用记录在应用服务的文本文件中。

这是根据营销云规范的自定义活动的 config.json 文件。

{
  "workflowApiVersion": "1.1",
  "metadata": {
    "icon": "images/icon.png",
    "iconSmall": "images/iconSmall.png"
  },
  "type": "RestDecision",
  "lang": {
    "en-US": {
      "name": "A custom journey activity",
      "description": "A custom Journey Builder activity to call Propensity hub."
    }
  },
  "userInterfaces": {
    "configInspector": {
      "size": "small"
    }
  },
  "arguments": {
    "execute": {
      "inArguments": [
        {
          "CampaignIdentifier": ""
        }
      ],
      "outArguments": [],
      "timeout": 99000,
      "retryCount": 1,
      "retryDelay": 50000,
      "url": "https://myUrl/api/myApp/execute"
    }
  },
  "configurationArguments": {
    "save": {
      "url": "https://myUrl/api/myApp/save"
    },
    "publish": {
      "url": "https://myUrl/api/myApp/publish"
    },
    "validate": {
      "url": "https://myUrl/api/myApp/validate"
    },
    "stop": {
      "url": "https://myUrl/api/myApp/stop"
    }
  },
  "outcomes": [
    {
      "arguments": {
        "branchResult": "OPT1"
      },
      "metaData": {
        "label": "Option 1"
      }
    },
    {
      "arguments": {
        "branchResult": "OPT2"
      },
      "metaData": {
        "label": "Option 2"
      }
    },
    {
      "arguments": {
        "branchResult": "OPT3"
      },
      "metaData": {
        "label": "Option 3"
      }
    },
    {
      "arguments": {
        "branchResult": "OPT4"
      },
      "metaData": {
        "label": "Option 4"
      }
    },
    {
      "arguments": {
        "branchResult": "OPT5"
      },
      "metaData": {
        "label": "Option 5"
      }
    },
    {
      "arguments": {
        "branchResult": "OPT6"
      },
      "metaData": {
        "label": "Option 6"
      }
    },
    {
      "arguments": {
        "branchResult": "OPT7"
      },
      "metaData": {
        "label": "Option 7"
      }
    },
    {
      "arguments": {
        "branchResult": "OPT8"
      },
      "metaData": {
        "label": "Option 8"
      }
    },
    {
      "arguments": {
        "branchResult": "OPT9"
      },
      "metaData": {
        "label": "Option 9"
      }
    },
    {
      "arguments": {
        "branchResult": "OPT10"
      },
      "metaData": {
        "label": "Option 10"
      }
    },
    {
      "arguments": {
        "branchResult": "NONE"
      },
      "metaData": {
        "label": "Option None"
      }
    }
  ]
}

在营销云旅程 iframe 中成功为该旅程活动主机开发的自定义 UI。输入的配置元数据已正确保存,并且当再次加载自定义活动时,值会正确加载到 Iframe 中。简而言之,用户界面工作正常。

然而,没有一个 web api 端点被执行。如果我在旅​​程构建器上单击保存时保存旅程,则不会调用保存端点(https://myUrl/api/myApp/save)(文本文件中没有日志)。与其他人相同(我希望我正在正确解释营销云文档中指定的这些操作的含义。)

虽然通过 Postman 执行时达到了终点 - 我得到 200OK 的状态。我在开发此活动时使用了营销云示例(https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-app-development.meta/mc-app-development/example-rest-活动.htm )

任何想法/帮助将不胜感激。

谢谢问候希德

4

1 回答 1

2

有用。该文档有点误导 - 当我们在旅程构建器上点击保存以保存我的旅程时,我假设会调用保存的终点 - 所有终点都在旅程激活时执行。

于 2020-04-30T18:29:38.513 回答