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

Gibbon/Mailchimp API request to create interests inside interest-groupings

我正在使用 Mailchimp 的 Gibbon 版本 2.2.1,我希望能够在兴趣小组中创建兴趣。例如,我有订阅 class 的用户。我的兴趣小组是 "Lessons",该兴趣小组内的兴趣是 "Foo Lesson"。

我希望能够添加在我网站的 CMS 中添加新 class 的功能,这将在 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 文档的 link,它遍历了兴趣分组内的兴趣请求,但是,似乎没有创建选项……只需阅读、编辑和删除。这对我来说似乎很愚蠢,因为我可以想象人们会想从 Mailchimp 的仪表板以外的其他地方创造兴趣。

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

我是不是做错了什么,或者这真的是 Mailchimp 不提供的东西吗?如果是这样,那将是一个巨大的失败,因为我将创建许多我希望人们能够订阅的 classes,这将是一个 major必须手动完成这一切的痛苦。

我很确定 POST 可以引起兴趣,尽管文档中确实缺少它。可能发生的情况是您的列表 ID 或兴趣类别 ID 不正确。您可能想尝试使用 API Playground 来追踪这两个实体的确切 ID。