使用Campaign Monitor的API

时间:2014-03-24 15:28:05

标签: asp.net vb.net api campaign-monitor

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

如果有人使用过它并且能够提供一些指示我会很感激;或者,如果某人有一些一般使用说明(如果适用于任何APi),请成为我的客人! :)

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

2 个答案:

答案 0 :(得分:2)

您还可以使用Nuget上提供的Campaign Monitor API client library

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);

答案 1 :(得分:1)

我使用广告系列监视器来填充订阅者列表。

将订阅者发布到列表有两种方法。我会坚持最简单的一个。让我们先讨论你需要的东西。

  1. 您需要一个API密钥(我相信您已经拥有)。

  2. 您需要创建订阅者列表并在创建之后 列出你需要列表ID。获取ID(很奇怪)。你会的 需要点击你的订阅者列表。这就是为了这个 顶端。单一选择列表(更改名称/类型)注意:您不是 要更改名称或编辑任何内容,但必须单击 在这里获取ID。在第三部分,您将看到:API 订户列表ID。如果您使用的是API,则需要此ID 访问此列表。 000x0000xx0x0xx00x00xx(只是一个例子。)

  3. 您需要一个表单来捕获姓名和电子邮件。你需要你的listid 你得到了上一点。

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

    如果您正在进行直接呼叫,则需要提供姓名,电子邮件和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);
    

    一旦你有你的网址构建,你就可以使用.net用来发布http的任何方法。

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

    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(可能是这种情况),你的代码(很可能是罪魁祸首)。

    如果流程很奇怪,这很快就被敲定了,所以道歉。

    祝你好运!