2014-03-24 167 views
0

我正在尋找一種在我的ASP.NET/VB Web應用程序中使用Campaign Monitor的API的方法。 我以前沒有使用任何API,因此閱讀他們的文檔是很難理解的。使用Campaign Monitor的API

如果有人已經使用它並能夠提供一些指示,我將不勝感激;或者如果有人有一些一般使用說明(如果適用於任何APi),請成爲我的客人! :)

我知道這不是典型的「我有一個問題,這是我的問題,這是我迄今的努力」,但任何幫助將不勝感激。

+0

你添加用戶到列表或將做很多不同的事情? –

+0

基本上添加訂閱者,是的! – serge

+0

好的,那麼我有一個答案給你......我完成了它並稍微張貼它。 –

回答

1

我使用廣告系列監視器來填充訂閱者列表。

有兩種方法可將您的訂閱者發佈到列表。我將堅持最簡單的一個。讓我們先總結一下你需要的東西。

  1. 你需要一個API密鑰(我相信你有)。

  2. 您需要創建訂閱者列表,創建此 列表後,您需要列表ID。要獲得該ID(這是更奇怪)。您需要點擊進入您的訂戶名單 。這看起來朝着 頂部。單選入名單(更改名稱/類型)注意:您不是 會更改名稱或編輯任何內容,但您必須在此處單擊 以獲取該ID。在第三部分中,您將看到:API 用戶列表ID。如果您使用的是API,您需要使用此ID到 訪問此列表。 000x0000xx0x0xx00x00xx(只是一個例子。)

  3. 您需要一個表格來捕獲名稱和電子郵件。你需要你的listid,你在前面提到的那個 。

然後你需要編寫一個通信對象。

如果你正在做一個簡單的電話,你需要姓名,電子郵件和listid。

ListID ="000x0000xx0x0xx00x00xx"; 
Email ="[email protected]"; 
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並調用結果。 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(可能是這種情況),你的代碼(最有可能的罪魁禍首)。

這是匆匆敲了出來,所以道歉,如果流量很奇怪。

祝你好運!

+0

太棒了,弗蘭克!你一直很有幫助,謝謝! – serge

+0

我的快樂。 :) –

1

您也可以使用Campaign Monitor API client library這可以用的NuGet:

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); 
相關問題