我使用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的仪表板以外的地方创造兴趣。
我尝试使用name
,title
和interest_name
作为资源名称,但都没有效果。我也尝试过使用REST API调用,但收到相同的响应。
我做错了什么,或者这真的是Mailchimp没有提供的东西?如果是这样,那将是一个巨大的失败,因为我将创建许多我希望人们能够订阅的课程,这将是一个主要的痛苦全部手动完成。
答案 0 :(得分:1)
我非常确定POST可以创建兴趣,尽管文档中似乎缺少它。可能发生的是您的列表ID或兴趣类别ID不正确。您可能希望尝试使用API Playground来跟踪这两个实体的确切ID。