Module: Mrkt::CrudLeads

Included in:
Client
Defined in:
lib/mrkt/concerns/crud_leads.rb

Instance Method Summary collapse

Instance Method Details

#associate_lead(id, cookie) ⇒ Object



35
36
37
38
39
40
41
42
# File 'lib/mrkt/concerns/crud_leads.rb', line 35

def associate_lead(id, cookie)
  params = Faraday::Utils::ParamsHash.new
  params[:cookie] = cookie

  post("/rest/v1/leads/#{id}/associate.json?#{params.to_query}") do |req|
    json_payload(req, {})
  end
end

#createupdate_leads(leads, action: 'createOrUpdate', lookup_field: nil, partition_name: nil, async_processing: nil) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/mrkt/concerns/crud_leads.rb', line 15

def createupdate_leads(leads, action: 'createOrUpdate', lookup_field: nil, partition_name: nil, async_processing: nil)
  post('/rest/v1/leads.json') do |req|
    params = {
      action: action,
      input: leads
    }
    params[:lookupField] = lookup_field if lookup_field
    params[:partitionName] = partition_name if partition_name
    params[:asyncProcessing] = async_processing if async_processing

    json_payload(req, params)
  end
end

#delete_leads(leads) ⇒ Object



29
30
31
32
33
# File 'lib/mrkt/concerns/crud_leads.rb', line 29

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

#get_leads(filter_type, filter_values, fields: nil, batch_size: nil, next_page_token: nil) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/mrkt/concerns/crud_leads.rb', line 3

def get_leads(filter_type, filter_values, fields: nil, batch_size: nil, next_page_token: nil)
  params = {
    filterType: filter_type,
    filterValues: filter_values.join(',')
  }
  params[:fields] = fields if fields
  params[:batchSize] = batch_size if batch_size
  params[:nextPageToken] = next_page_token if next_page_token

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

#merge_leads(winning_lead_id, losing_lead_ids, merge_in_crm: false) ⇒ Object



44
45
46
47
48
49
50
51
52
# File 'lib/mrkt/concerns/crud_leads.rb', line 44

def merge_leads(winning_lead_id, losing_lead_ids, merge_in_crm: false)
  params = Faraday::Utils::ParamsHash.new
  params[:mergeInCRM] = merge_in_crm
  params[:leadIds] = losing_lead_ids.join(',') if losing_lead_ids

  post("/rest/v1/leads/#{winning_lead_id}/merge.json?#{params.to_query}") do |req|
    json_payload(req,{})
  end
end