MailJet API - 活动创建中的问题

MailJet API - Issue in Campaign Creation

这是关于 .NET 的 MailJet API - https://dev.mailjet.com/guides/?csharp#prepare-a-campaign

我在尝试创建广告系列时遇到以下错误,

Root = {{ "ErrorInfo": "", "ErrorMessage": "Invalid json input: expected ",", but found """ at stream position 133 ...ctsList":"|ContactLis...", "StatusCode": 400 }}

下面是代码,

var client = new MailjetClient(MjApikeyPublic, MjApikeyPrivate){
    Version = ApiVersion.V3
};
MailjetRequest request = new MailjetRequest{
    Resource = Campaigndraft.Resource,
}.Property(Campaigndraft.Locale, "en_US")
 .Property(Campaigndraft.Sender, "Mailjet Dv1")
 .Property(Campaigndraft.SenderEmail, "buddhika_jet@outlook.com")
 .Property(Campaigndraft.Subject, "Greetings from Mailjet")
 .Property(Campaigndraft.ContactsList, "10152")
 .Property(Campaigndraft.Title, "Friday newsletter");
response = await client.PostAsync(request);

我对我传递的 Campaigndraft.ContactsList 值有疑问。考虑到官方 mailjet 文档,参数应该是 (Ref - https://dev.mailjet.com/guides/?csharp#prepare-a-campaign),

.Property(Campaigndraft.ContactsListID, "$ID_CONTACTSLIST")

但我在 mailjet API 版本 3 或版本 3.1 中找不到 Campaigndraft.ContactsListID

任何帮助将不胜感激。提前致谢。

在朋友的帮助下,我找到了解决这个问题的方法。希望这对在 mailjet API 上进行开发的任何人都有帮助。 所以,是的,即使官方文档 (https://dev.mailjet.com/guides/?csharp#prepare-a-campaign) 指示我们使用 Campaigndraft class、

的 'ContactsListID' 属性
.Property(Campaigndraft.ContactsListID, "$ID_CONTACTSLIST")

由于某种原因,它实际上在竞选草案中不可用。 所以,解决方法是使用,

.Property("ContactsListID", contactListId) 

表示 "ContactsListID" 值的字符串文字。这是因为,mailjet 中的 Campaigndraft class 只是一个 API 参数名称映射器,class 中可用的所有属性表明参数的多样性可用于制作 API来电。

public static class Campaigndraft
{
    public const string Sender = "Sender";
    public const string Status = "Status";
    public const string Subject = "Subject";
    public const string Template = "Template"; 
    //...
}

因此,可以使用字符串文字代替上述所有参数以及官方 mailjet 包缺少的任何参数。 希望这对您有所帮助,谢谢。