Sha256: bebe6f3d161633b25b5c6806cedf1e9231e83a43916e828129d7c558a232ceea

Contents?: true

Size: 873 Bytes

Versions: 1

Compression:

Stored size: 873 Bytes

Contents

require 'time'

module Mrkt
  module CrudCustomActivities
    def get_list_of_custom_activity_types
      get('/rest/v1/activities/types.json')
    end

    def create_custom_activity(lead_id, activity_type_id, primary_attribute_value, attributes: {}, date: nil)
      date ||= Time.now
      date = date.utc.iso8601
      converted_attributes = convert_attribute_hash(attributes)

      input = [{
        leadId: lead_id,
        activityDate: date,
        activityTypeId: activity_type_id,
        primaryAttributeValue: primary_attribute_value,
        attributes: converted_attributes
      }]
      post('/rest/v1/activities/external.json') do |req|
        json_payload(req, input: input)
      end
    end

    private

    def convert_attribute_hash(attributes)
      attributes.map do |key, value|
        { name: key, value: value }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mrkt-0.7.0 lib/mrkt/concerns/crud_custom_activities.rb