Gibbon / Mailchimp API请求在兴趣分组中创建兴趣

时间:2016-01-12 21:49:21

标签: ruby-on-rails request mailchimp mailchimp-api-v3.0 gibbon

我使用Gibbon,版本2.2.1 for Mailchimp,我希望能够在兴趣小组中创建兴趣。例如,我有订阅课程的用户。我的兴趣小组是"课程"并且该兴趣小组内部的兴趣将是" Foo Lesson"。

我希望能够添加在我的网站的CMS中添加新类的功能,该功能会在after_create上发出API请求。

class Lesson < ActiveRecord::Base
  after_create :create_class_on_mailchimp

  def create_class_on_mailchimp
    require 'mailchimp_service'
    mailchimp = MailchimpService.new(self)
    response = mailchimp.create_class
    self.interest_id = response.id
    self.save
  end
end


class MailchimpService
  def initialize(lesson)
    @lesson = lesson
    @list_id = ENV['MAILCHIMP_LIST_ID']
  end

  def create_class
    GB.lists(@list_id).interest_categories(ENV['MAILCHIMP_CLASSES_CATEGORY_ID']).interests.create(
      body: {
        name: 'foobar'
      }
    )
  end
end

我一直收到这个错误:

Gibbon::MailChimpError:the server responded with status 404 @title="Resource Not Found",
@detail="The requested resource could not be found.",
@body={  
  "type"  =>"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/",
  "title"  =>"Resource Not Found",
  "status"  =>404,
  "detail"  =>"The requested resource could not be found.",
  "instance"  =>""
},
@raw_body="{  
  \"type\":  \"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/\",
  \"title\":\"Resource Not Found\",
  \"status\":404,
  \"detail\":\"The requested resource could not be found.\",
  \"instance\":\"\"
}",
@status_code=404

这告诉我的是我没有使用正确的资源名称?在Gibbon的有限文档中似乎没有关于此类请求的任何文档,也不是Mailchimp过去的事情。 Here是指向Mailchimp的文档的链接,这些文档涉及利益分组中的兴趣请求,但是,它似乎不是一个创建选项......只需阅读,编辑和删除。这对我来说似乎很愚蠢,因为我可以想象人们会想要从Mailchimp的仪表板以外的地方创造兴趣。

我尝试使用nametitleinterest_name作为资源名称,但都没有效果。我也尝试过使用REST API调用,但收到相同的响应。

我做错了什么,或者这真的是Mailchimp没有提供的东西?如果是这样,那将是一个巨大的失败,因为我将创建许多我希望人们能够订阅的课程,这将是一个主要的痛苦全部手动完成。

1 个答案:

答案 0 :(得分:1)

我非常确定POST可以创建兴趣,尽管文档中似乎缺少它。可能发生的是您的列表ID或兴趣类别ID不正确。您可能希望尝试使用API Playground来跟踪这两个实体的确切ID。