1

我正在寻找一种在我的 ASP.NET/VB Web 应用程序中使用 Campaign Monitor 的 API 的方法。我之前没有使用过任何 API,因此阅读他们的文档非常难以理解。

如果有人使用过它并能够提供一些说明,我将不胜感激;或者如果有人有一些一般使用说明(如果适用于任何 APi),请做我的客人!:)

我知道这不是典型的“我有问题,这是我的问题,这是我迄今为止的努力”,但任何帮助将不胜感激。

4

2 回答 2

3

您还可以使用Nuget 上提供的Campaign Monitor API 客户端库:

AuthenticationDetails auth = new ApiKeyAuthenticationDetails(apiKey);

var fields = new List<SubscriberCustomField>() {
    new SubscriberCustomField() { Key = "MyCustomField", Value = myVal }
};

var subscriber = new Subscriber(auth, listId);

subscriber.Add(email, fullName, fields, false);
于 2015-10-09T14:10:40.693 回答
1

我使用活动监视器来填充订阅者列表。

有两种方法可以将您的订阅者发布到列表中。我会坚持最简单的。让我们先收集一些你需要的东西。

  1. 你需要一个 API 密钥(我相信你有)。

  2. 您需要创建一个订阅者列表,创建此列表后,您将需要列表 ID。要获得 ID(这很奇怪)。您需要点击进入您的订阅者列表。这朝着顶部寻找。单一选择加入列表(更改名称/类型) 注意:您不会更改名称或编辑任何内容,但您必须单击此处获取 ID。在第三部分,您将看到:API 订阅者列表 ID。如果您使用 API,则需要此 ID 才能访问此列表。000x0000xx0x0xx00x00xx(只是一个例子。)

  3. 您需要一个表格来捕获姓名和电子邮件。您将需要您在上一点中获得的 listid。

然后你需要编写一个通信对象。

如果您要直接拨打电话,则需要姓名、电子邮件和 listid。

ListID ="000x0000xx0x0xx00x00xx";
Email ="JoeM@somethingemail.com";
Name = "Joe Middle";

APIKey = yourAPIKey;
APIURL = "http://api.createsend.com/";


ApiCall = variables.APIURL;
ApiCall &= "api/api.asmx/Subscriber.Add?ApiKey=" & variables.APIKey;
ApiCall &= "&ListID=" & URLEncodedFormat(arguments.ListID);
ApiCall &= "&Email=" & URLEncodedFormat(arguments.Email); 
ApiCall &= "&Name=" & URLEncodedFormat(arguments.Name);

一旦你建立了你的 url,你就可以使用 .net 用来发布 http 的任何方法。

然后你会想要为成功或失败编写代码并使用该信息做一些事情。发布到 http 并调用结果。api结果。

apiResult = xmlParse(apiResult.fileContent);
try {intCount = ArrayLen(apiResult.Result.XMLChildren);}
catch(Any e){intCount = 0;}
if (intCount gt 0){apiResult = apiResult.Result.xmlChildren;}
// Error handling
if ( apiResult[1].xmlName eq "Code" and apiResult[2].xmlName eq "Message" ){
returnStruct['blnSuccess'] = 0;
returnStruct['errorCode'] = apiResult[1].xmlText;
returnStruct['errorMessage'] = apiResult[2].xmlText;
}
// Success
else {
// Return str
returnStruct['blnSuccess'] = 1;
returnStruct['returnString'] = apiResult.Result.xmlText;
}    

上面的代码改编自coldfusion,我没有构建它,但它是cfscript,不是CFML,你可以解释正在发生的事情。

如果您将其调整为 .NET,那么您所缺少的只是您的 HTTP 调用方法。

要检查登录 Campaign Monitor 并单击您的列表。您应该会看到添加的内容,如果不是,则可能是您的 API 密钥(通常不是这种情况)、您的 listID(可能是这种情况)、您的代码(很可能是罪魁祸首)。

这是匆忙敲定的,如果流程很奇怪,请道歉。

祝你好运!

于 2014-03-25T13:57:17.400 回答