diff --git a/lib/hubspot/engagement.rb b/lib/hubspot/engagement.rb index 99ccf9c7..010cb0a1 100644 --- a/lib/hubspot/engagement.rb +++ b/lib/hubspot/engagement.rb @@ -9,6 +9,7 @@ module Hubspot class Engagement CREATE_ENGAGMEMENT_PATH = '/engagements/v1/engagements' ENGAGEMENT_PATH = '/engagements/v1/engagements/:engagement_id' + ENGAGEMENTS_PATH = '/engagements/v1/engagements/paged' GET_ASSOCIATED_ENGAGEMENTS = '/engagements/v1/engagements/associated/:objectType/:objectId/paged' attr_reader :id @@ -30,6 +31,19 @@ def create!(params={}) new(HashWithIndifferentAccess.new(response)) end + # {http://developers.hubspot.com/docs/methods/engagements/get-all-engagements} + def all(opts={}) + path = ENGAGEMENTS_PATH + engagements = [] + begin + response = Hubspot::Connection.get_json(path, opts) + engagements = response["results"].try(:map) { |engagement| new(engagement) } + rescue => e + raise e unless e.message =~ /not found/ + end + engagements + end + def find(engagement_id) begin response = Hubspot::Connection.get_json(ENGAGEMENT_PATH, { engagement_id: engagement_id })