1

MailchimpのlistSubscribeを使用して、ユーザーをリストにサブスクライブしようとしています。リストには、ダイナー、フードサービスオペレーターのオプションを含む単一のグループ(id = 9917、name ='I am a ...')があります。私の目標は、ユーザーをフードサービスオペレーターとして追加することです。これが私のコードです:

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 ...'}]

したがって、これは正しく機能しているはずです。なぜそうではないのかについて何か考えはありますか?

4

1 に答える 1

2

MailchimpAPIのグーグルグループで答えを見つけました。

残念ながら、問題は私がドキュメントを十分に読んでいない結果でした。GROUPINGSはdictの配列である必要があります。修正されたコードは次のとおりです。

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,
)  
于 2012-07-19T17:12:31.770 に答える