Sha256: 0c22f541d3825843f5e505fc95ff9cdd5f3803ff96101e3cb9e16ed8ce15a5b7

Contents?: true

Size: 1.73 KB

Versions: 6

Compression:

Stored size: 1.73 KB

Contents

module Mrkt
  module CrudLeads
    def get_lead_by_id(id, fields: nil)
      optional = {
        fields: fields
      }

      get("/rest/v1/lead/#{id}.json", {}, optional)
    end

    def get_leads(filter_type, filter_values, fields: nil, batch_size: nil, next_page_token: nil)
      params = {
        filterType: filter_type,
        filterValues: filter_values
      }

      optional = {
        fields: fields,
        batchSize: batch_size,
        nextPageToken: next_page_token
      }

      get('/rest/v1/leads.json', params, optional)
    end

    def createupdate_leads(leads, action: 'createOrUpdate', lookup_field: nil, partition_name: nil, async_processing: nil)
      post_json('/rest/v1/leads.json') do
        params = {
          action: action,
          input: leads
        }

        optional = {
          lookupField: lookup_field,
          partitionName: partition_name,
          asyncProcessing: async_processing
        }

        merge_params(params, optional)
      end
    end

    def delete_leads(leads)
      delete('/rest/v1/leads.json') do |req|
        json_payload(req, input: map_lead_ids(leads))
      end
    end

    def associate_lead(id, cookie)
      params = Mrkt::Faraday::ParamsEncoder.encode(cookie: cookie)

      post_json("/rest/v1/leads/#{id}/associate.json?#{params}")
    end

    def merge_leads(winning_lead_id, losing_lead_ids, merge_in_crm: false)
      params = {}

      params[:mergeInCRM] = merge_in_crm
      params[:leadIds] = losing_lead_ids if losing_lead_ids

      query_params = Mrkt::Faraday::ParamsEncoder.encode(params)

      post_json("/rest/v1/leads/#{winning_lead_id}/merge.json?#{query_params}")
    end

    def describe_lead
      get('/rest/v1/leads/describe.json')
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mrkt-1.2.2 lib/mrkt/concerns/crud_leads.rb
mrkt-1.2.1 lib/mrkt/concerns/crud_leads.rb
mrkt-1.2.0 lib/mrkt/concerns/crud_leads.rb
mrkt-1.1.1 lib/mrkt/concerns/crud_leads.rb
mrkt-1.1.0 lib/mrkt/concerns/crud_leads.rb
mrkt-1.0.1 lib/mrkt/concerns/crud_leads.rb