问题描述
我正在尝试使用 C# 向 mailchimp 发送订阅/注册请求。现在我能够正确发送它,但我需要添加一个新参数,即 INTERESTS 字段。我很难找到样品,任何人都可以帮我解决这个问题。现在我把它作为订阅的参数
var subscribeRequest = new
{
email_address = subscriber.Email,status = subscriber.Status,merge_fields = new
{
FNAME = subscriber.MergeField.FName,LNAME = subscriber.MergeField.LName,COUNTRY = subscriber.MergeField.Country
}
};
var requestJson = JsonConvert.SerializeObject(subscribeRequest);
return requestJson;
现在如何在此处添加兴趣参数?以下是我将使用的 ID
Interest ID = 4bc11d46dc
Category ID = b2602901cd
Options 1 = a6c2aa3f6c
Option 2 = 7466ab2eb9
Option 3 = 135cd6f22d
现在我在这个兴趣组下有 3 个选项。我只想将第一个选项设置为 true 那么我该怎么做?
我尝试过类似的方法,但它不正确。非常感谢任何帮助
var subscribeRequest = new
{
email_address = subscriber.Email,COUNTRY = subscriber.MergeField.Country
},interests = new {
"4bc11d46dc" = true
}
};
var requestJson = JsonConvert.SerializeObject(subscribeRequest);
return requestJson;
解决方法
好的找到了答案。对于那些与我有同样问题的人,要解决这个问题,请使您的代码如下
var subscribeRequest = new
{
email_address = subscriber.Email,status = subscriber.Status,merge_fields = new
{
FNAME = subscriber.MergeField.FName,LNAME = subscriber.MergeField.LName,COUNTRY = subscriber.MergeField.Country
},interests = new {
"a6c2aa3f6c" = true // <<--- instead of using 4bc11d46dc use the value a6c2aa3f6c
}
};
var requestJson = JsonConvert.SerializeObject(subscribeRequest);
return requestJson;
这里的想法是只包含选项的兴趣 ID。对于场景,我有 1 个类别,有 3 个选项。因此,要使用类别中的选项之一进行注册/注册,您只需包含该选项的 ID,而无需 LIST ID 或 CATEGORY ID 的 ID。只需其中一个选项的 ID 即可。
要找出列表中的 id,您可以创建一个 bash 脚本并查询结果,如下所示
#!/bin/bash
# My first script
dc="<your data-center and can be found in the apikey after `-` character>"
apikey="<your api_key>"
listid="<your listid or audienceid>"
curl -sS \
"https://${dc}.api.mailchimp.com/3.0/lists/${listid}/interest-categories" \
--user "anystring:${apikey}"
这将为您提供该列表下的所有 categories
。现在使用您从结果中检索到的类别 ID,您可以创建另一个 bash 脚本来查询 OPTION ID
中的 listing-category id
,如下所示
#!/bin/bash
# My first script
dc="<your data-center and can be found in the apikey after `-` character>"
apikey="<your api_key>"
listid="<your listid or audienceid>"
categoryid="<your categoryid found from previous bash script>"
curl -sS \
"https://${dc}.api.mailchimp.com/3.0/lists/${listid}/interest-categories/${categoryid}/interests" \
--user "anystring:${apikey}"
这将为您提供列表类别选项的 ID
。现在使用此结果中的 ID,您可以在发送订阅请求时将其添加到 interests
参数下,如上面的代码所示。
希望这能指导任何有问题的人,如果您觉得这有帮助,请点赞。如果您想要一份我在 C# 中如何做的副本,将发布代码或脚本
参考:
https://newbedev.com/can-you-get-a-mailchimp-interest-group-id-without-using-the-api