我正在尝试使用Mailchimp的listSubscribe来订阅用户列表。该列表有一个组(id = 9917,name ='我是......),这些选项包括:餐馆,食品服务运营商。我的目标是将用户添加为食品服务运营商。这是我的代码:
ms.listSubscribe(
id=settings.MAILCHIMP_NEWSLETTER_LIST_ID,
email_address=self.user.email,
merge_vars={'FNAME': self.user.first_name,
'LNAME': self.user.last_name,
'GROUPINGS':
{'id': 9917,
'groups': 'food service operator',}},
double_optin=False,
update_existing=True,
)
当我运行时,我收到此错误:
ListInvalidInterestGroupException:“”不是有效的兴趣分组 名单:(TEST)时事通讯
如果我删除分组内容,这可以很好地工作(尽管用户没有添加到分组中)。此外,如果我尝试使用垃圾ID,我会得到同样的错误。为了确保我使用正确的ID,我跑了
In [4]: ms.listInterestGroupings(id=settings.MAILCHIMP_NEWSLETTER_LIST_ID)
Out[4]:
[{'display_order': '0',
'form_field': 'checkboxes',
'groups': [{'bit': '1',
'display_order': '1',
'name': 'food service operator',
'subscribers': 0},
{'bit': '2', 'display_order': '2', 'name': 'diner', 'subscribers': 0}],
'id': 9917,
'name': 'I am a ...'}]
所以,似乎这应该是正常的。对于为什么不这样做的任何想法?
答案 0 :(得分:2)
我在Mailchimp API google groups找到了答案。
不幸的是,问题是由于我没有充分阅读文档。 GROUPINGS应该是一系列dicts。这是更正后的代码:
ms.listSubscribe(
id=settings.MAILCHIMP_NEWSLETTER_LIST_ID,
email_address=self.user.email,
merge_vars={'FNAME': self.user.first_name,
'LNAME': self.user.last_name,
'GROUPINGS': [
{'id': 9917,
'groups': 'food service operator',},]},
double_optin=False,
update_existing=True,
)