首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Mailchimp 3.0和Gibbon 2.x订阅新用户

如何使用Mailchimp 3.0和Gibbon 2.x订阅新用户
EN

Stack Overflow用户
提问于 2015-08-30 06:34:12
回答 1查看 776关注 0票数 2

在我的应用程序中,我希望在用户创建时自动订阅MailChimp列表。我找到的所有文档都集中在Gibbon API2.0和MailChip 1.x上。

这是我到目前为止所知道的:

我创建了一个包含以下内容的.env文件:

代码语言:javascript
复制
MAILCHIMP_API_KEY = "my_api_key"
MAILCHIMP_LIST_ID = "my_list_id"

我用以下命令创建了一个名为gibbon.rb的初始化器:

代码语言:javascript
复制
Gibbon::Request.api_key = ENV["MAILCHIMP_API_KEY"]
Gibbon::Request.timeout = 15

然后创建一个作业:

代码语言:javascript
复制
class SubscribeUserToMailingListJob < ActiveJob::Base
  queue_as :default

  def perform(user)
    gibbon = Gibbon::Request.new
    # I am getting errors from this line
    gibbon.lists(ENV["MAILCHIMP_LIST_ID"]).members.create(body: {email_address: user.email, status: "subscribed", merge_fields: {FNAME: user.name, LNAME: ""}})
  end
end

在我的user.rb中,我检查过了这个

代码语言:javascript
复制
after_create :subscribe_user_to_mailing_list

并在private下添加了以下内容:

代码语言:javascript
复制
def subscribe_user_to_mailing_list
  SubscribeUserToMailingListJob.perform_later(self)
end

我从gibbon.lists(ENV["MAILCHIMP_LIST_ID"]).members.create(body: {email_address: user.email, status: "subscribed", merge_fields: {FNAME: user.name, LNAME: ""}})收到一个400错误

*编辑*

根据此conversation

我认为发生错误是因为该电子邮件地址已存在于列表中。当我第一次收到错误时,电子邮件地址被添加到MailChimp列表中,但由于另一个错误,用户没有在我的应用程序中创建。现在,当我尝试创建一个具有相同电子邮件地址的用户时,弹出错误400,因为该电子邮件已经存在。这也会阻止在我的应用程序中创建用户。

请有更多经验的人验证一下这是否正确?

EN

回答 1

Stack Overflow用户

发布于 2015-09-01 01:02:39

您是对的--如果您正在进行一个POST调用,并且您要发布的内容已经存在,那么您将得到一个错误。在接口支持PUT之前,更新或订阅是一个两步操作。检查订阅服务器是否存在,然后使用适当的方法。或者,您可以先尝试PATCH,如果使用404失败,则执行POST

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32291348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档