37 lines
1.0 KiB
Ruby
37 lines
1.0 KiB
Ruby
class Crm::Leadsquared::Api::ActivityClient < Crm::Leadsquared::Api::BaseClient
|
|
# https://apidocs.leadsquared.com/post-an-activity-to-lead/#api
|
|
def post_activity(prospect_id, activity_event, activity_note)
|
|
raise ArgumentError, 'Prospect ID is required' if prospect_id.blank?
|
|
raise ArgumentError, 'Activity event code is required' if activity_event.blank?
|
|
|
|
path = 'ProspectActivity.svc/Create'
|
|
|
|
body = {
|
|
'RelatedProspectId' => prospect_id,
|
|
'ActivityEvent' => activity_event,
|
|
'ActivityNote' => activity_note
|
|
}
|
|
|
|
response = post(path, {}, body)
|
|
response['Message']['Id']
|
|
end
|
|
|
|
def create_activity_type(name:, score:, direction: 0)
|
|
raise ArgumentError, 'Activity name is required' if name.blank?
|
|
|
|
path = 'ProspectActivity.svc/CreateType'
|
|
body = {
|
|
'ActivityEventName' => name,
|
|
'Score' => score.to_i,
|
|
'Direction' => direction.to_i
|
|
}
|
|
|
|
response = post(path, {}, body)
|
|
response['Message']['Id']
|
|
end
|
|
|
|
def fetch_activity_types
|
|
get('ProspectActivity.svc/ActivityTypes.Get')
|
|
end
|
|
end
|