class Intercom::Service::Conversation
Public Instance Methods
assign(reply_data)
click to toggle source
# File lib/intercom/service/conversation.rb, line 58 def assign(reply_data) assignee_id = reply_data.fetch(:assignee_id) { raise 'assignee_id is required' } reply reply_data.merge(message_type: 'assignment', assignee_id: assignee_id, type: 'admin') end
close(reply_data)
click to toggle source
# File lib/intercom/service/conversation.rb, line 49 def close(reply_data) reply reply_data.merge(message_type: 'close', type: 'admin') end
collection_class()
click to toggle source
# File lib/intercom/service/conversation.rb, line 20 def collection_class Intercom::Conversation end
collection_proxy_class()
click to toggle source
# File lib/intercom/service/conversation.rb, line 24 def collection_proxy_class Intercom::BaseCollectionProxy end
mark_read(id)
click to toggle source
# File lib/intercom/service/conversation.rb, line 28 def mark_read(id) @client.put("/conversations/#{id}", read: true) end
open(reply_data)
click to toggle source
# File lib/intercom/service/conversation.rb, line 45 def open(reply_data) reply reply_data.merge(message_type: 'open', type: 'admin') end
reply(reply_data)
click to toggle source
# File lib/intercom/service/conversation.rb, line 32 def reply(reply_data) id = reply_data.delete(:id) collection_name = Utils.resource_class_to_collection_name(collection_class) response = @client.post("/#{collection_name}/#{id}/reply", reply_data.merge(conversation_id: id)) collection_class.new.from_response(response) end
reply_to_last(reply_data)
click to toggle source
# File lib/intercom/service/conversation.rb, line 39 def reply_to_last(reply_data) collection_name = Utils.resource_class_to_collection_name(collection_class) response = @client.post("/#{collection_name}/last/reply", reply_data) collection_class.new.from_response(response) end
run_assignment_rules(id)
click to toggle source
# File lib/intercom/service/conversation.rb, line 63 def run_assignment_rules(id) collection_name = Utils.resource_class_to_collection_name(collection_class) response = @client.post("/#{collection_name}/#{id}/run_assignment_rules", {}) collection_class.new.from_response(response) end
snooze(reply_data)
click to toggle source
# File lib/intercom/service/conversation.rb, line 53 def snooze(reply_data) reply_data.fetch(:snoozed_until) { raise 'snoozed_until field is required' } reply reply_data.merge(message_type: 'snoozed', type: 'admin') end