module Mrkt::CrudLeads

Public Instance Methods

associate_lead(id, cookie) click to toggle source
# File lib/mrkt/concerns/crud_leads.rb, line 49
def associate_lead(id, cookie)
  params = Mrkt::Faraday::ParamsEncoder.encode(cookie: cookie)

  post_json("/rest/v1/leads/#{id}/associate.json?#{params}")
end
createupdate_leads(leads, action: 'createOrUpdate', lookup_field: nil, partition_name: nil, async_processing: nil) click to toggle source
# File lib/mrkt/concerns/crud_leads.rb, line 26
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
delete_leads(leads) click to toggle source
# File lib/mrkt/concerns/crud_leads.rb, line 43
def delete_leads(leads)
  delete('/rest/v1/leads.json') do |req|
    json_payload(req, input: map_lead_ids(leads))
  end
end
describe_lead() click to toggle source
# File lib/mrkt/concerns/crud_leads.rb, line 66
def describe_lead
  get('/rest/v1/leads/describe.json')
end
get_lead_by_id(id, fields: nil) click to toggle source
# File lib/mrkt/concerns/crud_leads.rb, line 3
def get_lead_by_id(id, fields: nil)
  optional = {
    fields: fields
  }

  get("/rest/v1/lead/#{id}.json", {}, optional)
end
get_leads(filter_type, filter_values, fields: nil, batch_size: nil, next_page_token: nil) click to toggle source
# File lib/mrkt/concerns/crud_leads.rb, line 11
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
merge_leads(winning_lead_id, losing_lead_ids, merge_in_crm: false) click to toggle source
# File lib/mrkt/concerns/crud_leads.rb, line 55
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