lib/mrkt/concerns/crud_leads.rb in mrkt-0.9.0 vs lib/mrkt/concerns/crud_leads.rb in mrkt-0.10.0

- old
+ new

@@ -1,30 +1,44 @@ module Mrkt module CrudLeads + def get_lead_by_id(id, fields: nil) + optional = { + fields: fields&.join(',') + } + + 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.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) + 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('/rest/v1/leads.json') do |req| + post_json('/rest/v1/leads.json') do 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) + 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| @@ -34,22 +48,21 @@ 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 + post_json("/rest/v1/leads/#{id}/associate.json?#{params.to_query}") end 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 + post_json("/rest/v1/leads/#{winning_lead_id}/merge.json?#{params.to_query}") end + def describe_lead + get('/rest/v1/leads/describe.json') + end end end