【问题标题】:Campaign Monitor API via .NET通过 .NET 的 Campaign Monitor API
【发布时间】:2023-03-13 08:08:01
【问题描述】:

是否有人使用 Campaign Monitor 通过 Campaign Monitor webhook 接收订阅更新?我已将 webhook 配置为将 json 数据发布到我们网站上的页面,但是当我的代码接收到数据时,它只是一堆零。我的代码如下:

System.IO.Stream stream = Request.InputStream;
        byte[] byteData = new byte[Convert.ToInt32(stream.Length)];
        int read = stream.Read(byteData, 0, Convert.ToInt32(stream.Length));
        string streamData = string.Empty;
        string somedata = System.Text.Encoding.ASCII.GetString(byteData).ToString();
        for (int i = 0; i < Convert.ToInt32(stream.Length); i++)
        {
            streamData = streamData + byteData[i].ToString();
        }

我已经尝试将数据发布到我的页面并且它有效 - 即上面的代码 (somedata) 返回与我发布到页面相同的文本值。很郁闷....

有什么想法吗?我今晚掉了很多头发!!!

提前致谢 铝

【问题讨论】:

    标签: c# webhooks campaign-monitor


    【解决方案1】:

    您可以按如下方式阅读请求的正文(来自网络表单应用程序):

    var reader = new StreamReader(Request.InputStream);
    var json = reader.ReadToEnd();
    

    docs specify 表示您期望订阅事件的数据格式为:

    {
        "Events": [
            {
                "CustomFields": [
                    {
                        "Key": "website", 
                        "Value": "http:\/\/example.org"
                    }
                ],
                "Date": "2010-12-14 11:32:00",
                "EmailAddress": "test@example.org",
                "Name": "Test Subscriber",
                "SignupIPAddress": "53.78.123.243",
                "Type": "Subscribe"
            }
        ],
        "ListID": "96c0bbdaa54760c8d9e62a2b7ffa2e13"
    }
    

    您可以通过使用上面的示例数据向您的 URL 提交 POST 请求来自行测试这一点。这是一个使用 curl 的示例:

    curl http://localhost:49681/receiver.aspx -v -X POST -d \
    '{
        "Events": [
            {
                "CustomFields": [
                    {
                        "Key": "website", 
                        "Value": "http:\/\/example.org"
                    }
                ],
                "Date": "2010-12-14 11:32:00",
                "EmailAddress": "test@example.org",
                "Name": "Test Subscriber",
                "SignupIPAddress": "53.78.123.243",
                "Type": "Subscribe"
            }
        ],
        "ListID": "96c0bbdaa54760c8d9e62a2b7ffa2e13"
    }'
    

    【讨论】:

      猜你喜欢
      • 2014-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      • 2016-06-06
      相关资源
      最近更新 更多