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 的仪表板以外的其他地方创造兴趣。
我试过使用 name
、title
和 interest_name
作为资源名称,但 none 有效。我也尝试过使用 REST API 调用,但我收到了相同的响应。
我是不是做错了什么,或者这真的是 Mailchimp 不提供的东西吗?如果是这样,那将是一个巨大的失败,因为我将创建许多我希望人们能够订阅的 classes,这将是一个 major必须手动完成这一切的痛苦。
我很确定 POST 可以引起兴趣,尽管文档中确实缺少它。可能发生的情况是您的列表 ID 或兴趣类别 ID 不正确。您可能想尝试使用 API Playground 来追踪这两个实体的确切 ID。
我正在使用 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 的仪表板以外的其他地方创造兴趣。
我试过使用 name
、title
和 interest_name
作为资源名称,但 none 有效。我也尝试过使用 REST API 调用,但我收到了相同的响应。
我是不是做错了什么,或者这真的是 Mailchimp 不提供的东西吗?如果是这样,那将是一个巨大的失败,因为我将创建许多我希望人们能够订阅的 classes,这将是一个 major必须手动完成这一切的痛苦。
我很确定 POST 可以引起兴趣,尽管文档中确实缺少它。可能发生的情况是您的列表 ID 或兴趣类别 ID 不正确。您可能想尝试使用 API Playground 来追踪这两个实体的确切 ID。