使用Gibbon gem为mailchimp添加地址

时间:2013-09-04 05:46:51

标签: ruby mailchimp gibbon

我使用长臂猿0.4.6与ruby 1.9.3p392,我试图添加我的联系人的地址,但我找不到正确的参数格式。

 respuesta = gb.listSubscribe({
    :id => lista_id, :email_address => email, 
    :merge_vars => {'FNAME' => nombre, 'LNAME' => apellido, 
      'MMERGE3' => ['addr1' => 'aqui', 'addr2' => 'Alla', 'city' => 'Mexico DF', 
                    'zip' => '06700', 'country' => 'MX']
    }
  })

更新

正如Amro所说,现在我使用的是Gibbon 1.0,但我遇到了同样的问题:

我用过这个

respuesta = gb.lists.subscribe({
    :id => lista_id, :email => {:email => email}, 
    :merge_vars => {'FNAME' => nombre, 'LNAME' => apellido, 
      'MMERGE3' => {'addr1' => 'aqui', 'addr2' => 'Alla', 'city' => 'Mexico DF', 'zip'  => '06700', 'country' => 'MX'},
      'MMERGE4' => 'Mi nota '
      }
  })

但地址(MMERGE3)未在MailChimp注册。

欢迎任何想法。

1 个答案:

答案 0 :(得分:0)

您当前的代码对我来说很合理。您是否尝试过传递“update_existing”值为true?如果该地址已经订阅,那么它将无法正常工作,因为“update_existing”默认为false。

API 1.3的旧答案

我是Gibbon的维护者。在这种情况下,MailChimp's docs表示类型是“数组”,但它们表示关联数组(即Ruby哈希)。所以尝试这样的事情:

respuesta = gb.listSubscribe({
    :id => lista_id, :email_address => email, 
    :merge_vars => {'FNAME' => nombre, 'LNAME' => apellido, 
      'MMERGE3' => {'addr1' => 'aqui', 'addr2' => 'Alla', 'city' => 'Mexico DF', 
                    'zip' => '06700', 'country' => 'MX'}
    }
  })

此外,API 1.3已被弃用。我建议升级到Gibbon 1.0,它会命中MailChimp API 2.0。语法略有不同所以请务必查看2.0文档和Gibbon的更新README here