2012-07-18 65 views
1

我试图使用Mailchimp的列表订阅订阅用户列表。该列表有一个单一的组(ID = 9917,名称='我是...')与这些选项:晚餐,食品服务运营商。我的目标是添加用户作为食品服务运营商。这里是我的代码:尝试设置分组时遇到错误mailsnake

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: "" is not a valid Interest Grouping name for the list: (TEST) Newsletter

如果我删除了分组的东西,这个完美的作品(虽然用户没有添加到分组) 。另外,如果我尝试使用垃圾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 ...'}] 

所以,看来这应该是正常工作。任何想法为什么它不是?

回答

2

我在Mailchimp API google groups找到了答案。

不幸的是,这个问题是我没有足够好地阅读文档的结果。分组应该是一系列的词组。以下是更正后的代码:

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, 
) 
相关问题