Ruby SDK Samples - Module Operations

Get Records from a Custom View
Get Records from a Custom View
              
              
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end

  def get_records_from_custom_view
    customviewid = 'customviewid'
    module_api_name = 'module_api_name'
    customview_ins = ZCRMSDK::Operations::ZCRMCustomView.get_instance(customviewid, module_api_name)
    sort_by = 'field_api_name'
    sort_order = 'asc/desc'
    page = 1
    per_page = 200
    headers = {'If-Modified-Since' => '2019-07-25T15:26:49+05:30'}
    api_res = customview_ins.get_records(sort_by, sort_order, page, per_page, headers) # sort_by, sort_order, page, per_page, headers are not mandatory
    records = api_res.data
    records.each do |record|
      print 'module_api_name '
      print record.module_api_name
      print "\n id "
      print record.entity_id
      line_items = record.line_items
      line_items.each do |line_item|
        print "\n id "
        print line_item.id
        product = line_item.product
        print "\n entity_id "
        print product.entity_id
        print "\n lookup_label "
        print product.lookup_label
        print "\n Product_Code "
        print product.field_data['Product_Code']
        print "\n list_price "
        print line_item.list_price
        print "\n quantity "
        print line_item.quantity
        print "\n  description "
        print line_item.description
        print "\n total "
        print line_item.total
        print "\n discount "
        print line_item.discount
        print "\n total_after_discount "
        print line_item.total_after_discount
        print "\n tax_amount "
        print line_item.tax_amount
        print "\n net_total "
        print line_item.net_total
        print "\n delete_flag "
        print line_item.delete_flag
        line_taxes = line_item.line_tax
        next if line_taxes.nil?

        line_taxes.each do |line_tax|
          print "\n name "
          print line_tax.name
          print "\n percentage "
          print line_tax.percentage
          print "\n  value "
          print line_tax.value
        end
      end
      owner = record.owner
      unless owner.nil?
        print "\n id "
        print owner.id
        print "\n name "
        print owner.name
      end
      created_by = record.created_by
      unless created_by.nil?
        print "\n id "
        print created_by.id
        print "\n name "
        print created_by.name
      end
      modified_by = record.modified_by
      unless owner.nil?
        print "\n  id "
        print modified_by.id
        print "\n name "
        print modified_by.name
      end
      print "\n created_time "
      print record.created_time
      print "\n modified_time "
      print record.modified_time
      print record.properties
      participants = record.participants
      participants.each do |participant|
        print "\n name "
        print participant.name
        print "\n email "
        print participant.email
        print  "\n is_invited "
        print  participant.is_invited
        print  "\n status "
        print  participant.status
        print  "\n type "
        print  participant.type
      end
      pricing_instances = record.price_details
      pricing_instances.each do |pricing_instance|
        print "\n id "
        print pricing_instance.id
        print "\n discount "
        print pricing_instance.discount
        print "\n to_range "
        print pricing_instance.to_range
        print "\n from_range "
        print pricing_instance.from_range
      end
      layout = record.layout
      unless layout.nil?
        print "\n id "
        print layout.id
        print "\n name "
        print layout.name
      end
      tax_list = record.tax_list
      tax_list.each do |tax|
        print "\n name "
        print tax.name
      end
      print record.last_activity_time
      tags = record.tags
      tags.each do |tag|
        print "\n id "
        print tag.id
        print "\n name "
        print tag.name
      end
      fields = record.field_data
      fields.each do |key, field_value|
        print "\n key "
        print key
        print "\t field_value "
        print field_value
      end
      print "\n "
    end
  end
  obj = Test.new
  obj.get_records_from_custom_view
 
Fields
Get Field Details
              
              
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
def get_field
    module_api_name = 'module_api_name'
    field_id = 'field_id'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.get_field(field_id)
    field_instance = api_res.data
    print field_instance.api_name
    print "\n"
    print field_instance.is_webhook
    print "\n"
    print field_instance.crypt
    print "\n"
    print field_instance.tooltip
    print "\n"
    print field_instance.is_field_read_only
    print "\n"
    print field_instance.association_details
    print "\n"
    print field_instance.subform
    print "\n"
    print field_instance.is_mass_update
    print "\n"
    multiselectlookup = field_instance.multiselectlookup
    unless multiselectlookup.empty?
      print multiselectlookup.display_label
      print "\n"
      print multiselectlookup.linking_module
      print "\n"
      print multiselectlookup.connected_module
      print "\n"
      print multiselectlookup.api_name
      print "\n"
      print multiselectlookup.id
    end
    print field_instance.is_custom_field
    print "\n"
    print field_instance.lookup_field
    print "\n"
    print field_instance.convert_mapping
    print "\n"
    print field_instance.is_visible
    print "\n"
    print field_instance.field_label
    print "\n"
    print field_instance.length
    print "\n"
    print field_instance.created_source
    print "\n"
    print field_instance.default_value
    print "\n"
    print field_instance.is_mandatory
    print "\n"
    print field_instance.sequence_number
    print "\n"
    print field_instance.is_read_only
    print "\n"
    print field_instance.is_unique_field
    print "\n"
    print field_instance.is_case_sensitive
    print "\n"
    print field_instance.data_type
    print "\n"
    print field_instance.is_formula_field
    print "\n"
    print field_instance.is_currency_field
    print "\n"
    print field_instance.id
    print "\n"
    picklist_values = field_instance.picklist_values
    print "\n"
    picklist_values.each do |picklist_instance|
      print picklist_instance.display_value
      print "\n"
      print picklist_instance.sequence_number
      print "\n"
      print picklist_instance.actual_value
      print "\n"
      print picklist_instance.maps
    end
    print field_instance.is_auto_number
    print "\n"
    print field_instance.is_business_card_supported
    print "\n"
    print field_instance.field_layout_permissions
    print "\n"
    print field_instance.decimal_place
    print "\n"
    print field_instance.precision
    print "\n"
    print field_instance.rounding_option
    print "\n"
    print field_instance.formula_return_type
    print "\n"
    print field_instance.formula_expression
    print "\n"
    print field_instance.prefix
    print "\n"
    print field_instance.suffix
    print "\n"
    print field_instance.start_number
    print "\n"
    print field_instance.json_type
  end
  obj = Test.new
  obj.get_field
 
Get All Fields
              
              
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end

  def get_all_fields
    module_api_name = 'module_api_name'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.get_all_fields
    fields = api_res.data
    fields.each do |field_instance|
      print field_instance.api_name
      print "\n"
      print field_instance.is_webhook
      print "\n"
      print field_instance.crypt
      print "\n  "
      unless field_instance.tooltip.nil?
        print field_instance.tooltip['name']
        print "\n"
        print field_instance.tooltip['value']
        print "\n  "
      end
      print field_instance.is_field_read_only
      print "\n"
      print field_instance.association_details
      print "\n"
      print field_instance.subform
      print "\n"
      print field_instance.is_mass_update
      print "\n"
      multiselectlookup = field_instance.multiselectlookup
      unless multiselectlookup.nil?
        print multiselectlookup.display_label
        print "\n"
        print multiselectlookup.linking_module
        print "\n"
        print multiselectlookup.connected_module
        print "\n"
        print multiselectlookup.api_name
        print "\n"
        print multiselectlookup.id
      end
      print field_instance.is_custom_field
      print "\n"
      print field_instance.lookup_field
      print "\n"
      print field_instance.convert_mapping
      print "\n"
      print field_instance.is_visible
      print "\n"
      print field_instance.field_label
      print "\n"
      print field_instance.length
      print "\n"
      print field_instance.created_source
      print "\n"
      print field_instance.default_value
      print "\n"
      print field_instance.is_mandatory
      print "\n"
      print field_instance.sequence_number
      print "\n"
      print field_instance.is_read_only
      print "\n"
      print field_instance.is_unique_field
      print "\n"
      print field_instance.is_case_sensitive
      print "\n"
      print field_instance.data_type
      print "\n"
      print field_instance.is_formula_field
      print "\n"
      print field_instance.is_currency_field
      print "\n"
      print field_instance.id
      print "\n"
      picklist_values = field_instance.picklist_values
      print "\n"
      picklist_values.each do |picklist_instance|
        print picklist_instance.display_value
        print "\n"
        print picklist_instance.sequence_number
        print "\n"
        print picklist_instance.actual_value
        print "\n"
        print picklist_instance.maps
      end
      print field_instance.is_auto_number
      print "\n"
      print field_instance.is_business_card_supported
      print "\n"
      print field_instance.field_layout_permissions
      print "\n"
      print field_instance.decimal_place
      print "\n"
      print field_instance.precision
      print "\n"
      print field_instance.rounding_option
      print "\n"
      print field_instance.formula_return_type
      print "\n"
      print field_instance.formula_expression
      print "\n"
      print field_instance.prefix
      print "\n"
      print field_instance.suffix
      print "\n"
      print field_instance.start_number
      print "\n"
      print field_instance.json_type
    end
  end
  obj = Test.new
  obj.get_all_fields
 
Layouts
Get Layout Details
              
              
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end

  def get_layout
    module_apiname = 'module_apiname'
    layout_id = 'layout_id'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_apiname)
    api_res = module_instance.get_layout(layout_id)
    layout = api_res.data
    print layout.id
    print "\n"
    print layout.name
    print "\n"
    print layout.created_time
    print "\n"
    print layout.modified_time
    print "\n"
    print layout.is_visible
    print "\n"
    unless layout.modified_by.nil?
      print layout.modified_by.id
      print "\n"
      print layout.modified_by.name
      print "\n"
    end
    unless layout.created_by.nil?
      print layout.created_by.id
      print "\n"
      print layout.created_by.name
      print "\n"
    end
    profiles = layout.accessible_profiles
    profiles.each do |profile|
      print profile.is_default
      print "\n"
      print profile.name
      print "\n"
      print profile.id
      print "\n"
    end
    sections = layout.sections
    sections.each do |section|
      print section.name
      print "\n"
      print section.display_label
      print "\n"
      print section.column_count
      print "\n"
      print section.sequence_number
      print "\n"
      fields = section.fields
      fields.each do |field_instance|
        print field_instance.api_name
        print "\n"
        print field_instance.is_webhook
        print "\n"
        print field_instance.crypt
        print "\n"
        print field_instance.tooltip
        print "\n"
        print field_instance.is_field_read_only
        print "\n"
        print field_instance.association_details
        print "\n"
        print field_instance.subform
        print "\n"
        print field_instance.is_mass_update
        print "\n"
        multiselectlookup = field_instance.multiselectlookup
        unless multiselectlookup.nil?
          print multiselectlookup.display_label
          print "\n"
          print multiselectlookup.linking_module
          print "\n"
          print multiselectlookup.connected_module
          print "\n"
          print multiselectlookup.api_name
          print "\n"
          print multiselectlookup.id
        end
        print field_instance.is_custom_field
        print "\n"
        print field_instance.lookup_field
        print "\n"
        print field_instance.convert_mapping
        print "\n"
        print field_instance.is_visible
        print "\n"
        print field_instance.field_label
        print "\n"
        print field_instance.length
        print "\n"
        print field_instance.created_source
        print "\n"
        print field_instance.default_value
        print "\n"
        print field_instance.is_mandatory
        print "\n"
        print field_instance.sequence_number
        print "\n"
        print field_instance.is_read_only
        print "\n"
        print field_instance.is_unique_field
        print "\n"
        print field_instance.is_case_sensitive
        print "\n"
        print field_instance.data_type
        print "\n"
        print field_instance.is_formula_field
        print "\n"
        print field_instance.is_currency_field
        print "\n"
        print field_instance.id
        print "\n"
        picklist_values = field_instance.picklist_values
        print "\n"
        picklist_values.each do |picklist_instance|
          print picklist_instance.display_value
          print "\n"
          print picklist_instance.sequence_number
          print "\n"
          print picklist_instance.actual_value
          print "\n"
          print picklist_instance.maps
        end
        print field_instance.is_auto_number
        print "\n"
        print field_instance.is_business_card_supported
        print "\n"
        print field_instance.field_layout_permissions
        print "\n"
        print field_instance.decimal_place
        print "\n"
        print field_instance.precision
        print "\n"
        print field_instance.rounding_option
        print "\n"
        print field_instance.formula_return_type
        print "\n"
        print field_instance.formula_expression
        print "\n"
        print field_instance.prefix
        print "\n"
        print field_instance.suffix
        print "\n"
        print field_instance.start_number
        print "\n"
        print field_instance.json_type
      end
      print section.is_subform_section
      print "\n"
      print section.tab_traversal
      print "\n"
      print section.api_name
      print "\n"
      properties = section.properties
      next if properties.nil?

      print "\n"
      print properties.reorder_rows
      print "\n"
      print properties.tooltip
      print "\n"
      print properties.maximum_rows
    end
    print "\n"
    print layout.status
    print "\n"
    convert_mappings = layout.convert_mapping
    convert_mappings.each do |_key, convert_mapping|
      print convert_mapping.name
      print "\n"
      print convert_mapping.id
      print "\n"
      convert_mapping_fields = convert_mapping.fields
      next if convert_mapping_fields.nil?

      convert_mapping_fields.each do |convert_mapping_field|
        print "\n"
        print convert_mapping_field.id
        print "\n"
        print convert_mapping_field.api_name
        print "\n"
        print convert_mapping_field.field_label
        print "\n"
        print convert_mapping_field.is_required
      end
    end
  end
  obj = Test.new
  obj.get_layout
 
Get All Layouts
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end

  def get_all_layouts
    module_apiname = 'module_apiname'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_apiname)
    api_res = module_instance.get_all_layouts
    layouts = api_res.data
    layouts.each do |layout|
      print layout.id
      print "\n"
      print layout.name
      print "\n"
      print layout.created_time
      print "\n"
      print layout.modified_time
      print "\n"
      print layout.is_visible
      print "\n"
      unless layout.modified_by.nil?
        print layout.modified_by.id
        print "\n"
        print layout.modified_by.name
        print "\n"
      end
      unless layout.created_by.nil?
        print layout.created_by.id
        print "\n"
        print layout.created_by.name
        print "\n"
      end
      profiles = layout.accessible_profiles
      profiles.each do |profile|
        print profile.is_default
        print "\n"
        print profile.name
        print "\n"
        print profile.id
        print "\n"
      end
      sections = layout.sections
      sections.each do |section|
        print section.name
        print "\n"
        print section.display_label
        print "\n"
        print section.column_count
        print "\n"
        print section.sequence_number
        print "\n"
        fields = section.fields
        fields.each do |field_instance|
          print field_instance.api_name
          print "\n"
          print field_instance.is_webhook
          print "\n"
          print field_instance.crypt
          print "\n"
          print field_instance.tooltip
          print "\n"
          print field_instance.is_field_read_only
          print "\n"
          print field_instance.association_details
          print "\n"
          print field_instance.subform
          print "\n"
          print field_instance.is_mass_update
          print "\n"
          multiselectlookup = field_instance.multiselectlookup
          unless multiselectlookup.nil?
            print multiselectlookup.display_label
            print "\n"
            print multiselectlookup.linking_module
            print "\n"
            print multiselectlookup.connected_module
            print "\n"
            print multiselectlookup.api_name
            print "\n"
            print multiselectlookup.id
          end
          print field_instance.is_custom_field
          print "\n"
          print field_instance.lookup_field
          print "\n"
          print field_instance.convert_mapping
          print "\n"
          print field_instance.is_visible
          print "\n"
          print field_instance.field_label
          print "\n"
          print field_instance.length
          print "\n"
          print field_instance.created_source
          print "\n"
          print field_instance.default_value
          print "\n"
          print field_instance.is_mandatory
          print "\n"
          print field_instance.sequence_number
          print "\n"
          print field_instance.is_read_only
          print "\n"
          print field_instance.is_unique_field
          print "\n"
          print field_instance.is_case_sensitive
          print "\n"
          print field_instance.data_type
          print "\n"
          print field_instance.is_formula_field
          print "\n"
          print field_instance.is_currency_field
          print "\n"
          print field_instance.id
          print "\n"
          picklist_values = field_instance.picklist_values
          print "\n"
          picklist_values.each do |picklist_instance|
            print picklist_instance.display_value
            print "\n"
            print picklist_instance.sequence_number
            print "\n"
            print picklist_instance.actual_value
            print "\n"
            print picklist_instance.maps
          end
          print field_instance.is_auto_number
          print "\n"
          print field_instance.is_business_card_supported
          print "\n"
          print field_instance.field_layout_permissions
          print "\n"
          print field_instance.decimal_place
          print "\n"
          print field_instance.precision
          print "\n"
          print field_instance.rounding_option
          print "\n"
          print field_instance.formula_return_type
          print "\n"
          print field_instance.formula_expression
          print "\n"
          print field_instance.prefix
          print "\n"
          print field_instance.suffix
          print "\n"
          print field_instance.start_number
          print "\n"
          print field_instance.json_type
        end
        print section.is_subform_section
        print "\n"
        print section.tab_traversal
        print "\n"
        print section.api_name
        print "\n"
        properties = section.properties
        next if properties.nil?

        print "\n"
        print properties.reorder_rows
        print "\n"
        print properties.tooltip
        print "\n"
        print properties.maximum_rows
      end
      print 'asdadasds'
      print "\n"
      print layout.status
      print "\n"
      convert_mappings = layout.convert_mapping
      convert_mappings.each do |_key, convert_mapping|
        print convert_mapping.name
        print "\n"
        print convert_mapping.id
        print "\n"
        convert_mapping_fields = convert_mapping.fields
        next if convert_mapping_fields.nil?

        convert_mapping_fields.each do |convert_mapping_field|
          print "\n"
          print convert_mapping_field.id
          print "\n"
          print convert_mapping_field.api_name
          print "\n"
          print convert_mapping_field.field_label
          print "\n"
          print convert_mapping_field.is_required
        end
      end
    end
  end
  obj = Test.new
  obj.get_all_layouts
 
Custom Views
Get Custom View Details
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end

  def get_customview
    module_apiname = 'module_apiname'
    customview_id = 'customview_id'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_apiname)
    api_res = module_instance.get_customview(customview_id)
    cv_ins = api_res.data
    print cv_ins.id
    print "\n"
    print cv_ins.module_api_name
    print "\n"
    print cv_ins.display_value
    print "\n"
    print cv_ins.is_default
    print "\n"
    print cv_ins.name
    print "\n"
    print cv_ins.system_name
    print "\n"
    print cv_ins.is_system_defined
    print "\n"
    print cv_ins.shared_details
    print "\n"
    print cv_ins.sort_by
    print "\n"
    print cv_ins.category
    print "\n"
    print cv_ins.fields
    print "\n"
    print cv_ins.favorite
    print "\n "
    print cv_ins.sort_order
    print "\n"
    print cv_ins.criteria_condition
    print "\n"
    cv_criteria = cv_ins.criteria
    print "\n "
    print cv_criteria.comparator # if single condition
    print "\n"
    print cv_criteria.field # if single condition
    print "\n"
    print cv_criteria.value # if single condition
    print "\n"
    print cv_criteria.group # may contain more objects(more than one condition
    print "\n"
    print cv_criteria.group_operator
    print "\n"
    print cv_criteria.pattern
    print "\n"
    print cv_criteria.index
    print "\n"
    print cv_criteria.criteria
    print "\n"
    print cv_ins.categories
    print "\n"
    print cv_ins.is_off_line
    print "\n"
  end
  obj = Test.new
  obj.get_customview
 
Get All Custom Views
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end

  def get_all_customviews
    module_apiname = 'module_apiname'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_apiname)
    api_res = module_instance.get_all_customviews
    customviews = api_res.data
    customviews.each do |cv_ins|
      print cv_ins.id
      print "\n"
      print cv_ins.display_value
      print "\n"
      print cv_ins.is_default
      print "\n"
      print cv_ins.name
      print "\n"
      print cv_ins.system_name
      print "\n"
      print cv_ins.is_system_defined
      print "\n"
      print cv_ins.category
      print "\n"
      print cv_ins.is_off_line
      print "\n"
    end
  end
  obj = Test.new
  obj.get_all_customviews
 
Update Custom View
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end

  def update_custom_view
    module_api_name = 'module_api_name'
    customview_id = 'customview_id'
    field_api_name = 'field_api_name'
    field_id = 'field_id'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    customview_instance = ZCRMSDK::Operations::ZCRMCustomView.get_instance(customview_id)
    customview_instance.sort_by = ZCRMSDK::Operations::ZCRMField.get_instance(field_api_name, field_id)
    customview_instance.sort_order = 'desc'
    print customview_instance.inspect
    res = module_instance.update_customview(customview_instance)
    print res.inspect
  end
  obj = Test.new
  obj.update_custom_view
 
Related Lists
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end

  def get_relatedlist
    module_api_name = 'module_api_name'
    related_list_id = 'related_list_id'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.get_relatedlist(related_list_id)
    relatedlist_ins = api_res.data
    print "\n"
    print relatedlist_ins.api_name
    print "\n"
    print relatedlist_ins.id
    print "\n"
    print relatedlist_ins.module_apiname
    print "\n"
    print relatedlist_ins.display_label
    print "\n"
    print relatedlist_ins.name
    print "\n"
    print relatedlist_ins.type
    print "\n"
    print relatedlist_ins.href
    print "\n"
    print relatedlist_ins.is_visible
    print "\n "
    print relatedlist_ins.action
    print "\n "
    print relatedlist_ins.sequence_number
  end
  obj = Test.new
  obj.get_relatedlist
 
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end

  def get_all_relatedlists
    module_api_name = 'module_api_name'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.get_all_relatedlists
    relatedlists = api_res.data
    relatedlists.each do |relatedlist_ins|
      print "\n"
      print relatedlist_ins.api_name
      print "\n"
      print relatedlist_ins.id
      print "\n"
      print relatedlist_ins.module_apiname
      print "\n"
      print relatedlist_ins.display_label
      print "\n"
      print relatedlist_ins.name
      print "\n"
      print relatedlist_ins.type
      print "\n"
      print relatedlist_ins.href
      print "\n"
      print relatedlist_ins.is_visible
      print "\n"
      print relatedlist_ins.action
      print "\n"
      print relatedlist_ins.sequence_number
    end
  end
  obj = Test.new
  obj.get_all_relatedlists
 
Records
Get List of Records
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end

  def get_records
    customviewid = 'customviewid'
    module_api_name = 'module_api_name'
    sort_by_field = 'field_api_name'
    sort_order = 'asc/desc'
    page = 1
    per_page = 200
    headers = {'If-Modified-Since' => '2019-07-25T15:26:49+05:30'}
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.get_records(customviewid, sort_by_field, sort_order, page, per_page, headers) # customviewid ,sort_by, sort_order, page, per_page, headers are not mandatory
    records = api_res.data
    record_ids = []
    records.each do |record|
      # print 'module_api_name '
      # print record.module_api_name
      # print "\n id "
      print record.entity_id
      record_ids.push(record.entity_id)
      # line_items = record.line_items
      # line_items.each do |line_item|
      #   print "\n id "
      #   print line_item.id
      #   product = line_item.product
      #   print "\n entity_id "
      #   print product.entity_id
      #   print "\n lookup_label "
      #   print product.lookup_label
      #   print "\n Product_Code "
      #   print product.field_data['Product_Code']
      #   print "\n list_price "
      #   print line_item.list_price
      #   print "\n quantity "
      #   print line_item.quantity
      #   print "\n  description "
      #   print line_item.description
      #   print "\n total "
      #   print line_item.total
      #   print "\n discount "
      #   print line_item.discount
      #   print "\n total_after_discount "
      #   print line_item.total_after_discount
      #   print "\n tax_amount "
      #   print line_item.tax_amount
      #   print "\n net_total "
      #   print line_item.net_total
      #   print "\n delete_flag "
      #   print line_item.delete_flag
      #   line_taxes = line_item.line_tax
      #   next if line_taxes.nil?

      #   line_taxes.each do |line_tax|
      #     print "\n name "
      #     print line_tax.name
      #     print "\n percentage "
      #     print line_tax.percentage
      #     print "\n  value "
      #     print line_tax.value
      #   end
      # end
      # owner = record.owner
      # unless owner.nil?
      #   print "\n id "
      #   print owner.id
      #   print "\n name "
      #   print owner.name
      # end
      # created_by = record.created_by
      # unless created_by.nil?
      #   print "\n id "
      #   print created_by.id
      #   print "\n name "
      #   print created_by.name
      # end
      # modified_by = record.modified_by
      # unless owner.nil?
      #   print "\n  id "
      #   print modified_by.id
      #   print "\n name "
      #   print modified_by.name
      # end
      # print "\n created_time "
      # print record.created_time
      # print "\n modified_time "
      # print record.modified_time
      # print record.properties
      # participants = record.participants
      # participants.each do |participant|
      #   print "\n name "
      #   print participant.name
      #   print "\n email "
      #   print participant.email
      #   print  "\n is_invited "
      #   print  participant.is_invited
      #   print  "\n status "
      #   print  participant.status
      #   print  "\n type "
      #   print  participant.type
      # end
      # pricing_instances = record.price_details
      # pricing_instances.each do |pricing_instance|
      #   print "\n id "
      #   print pricing_instance.id
      #   print "\n discount "
      #   print pricing_instance.discount
      #   print "\n to_range "
      #   print pricing_instance.to_range
      #   print "\n from_range "
      #   print pricing_instance.from_range
      # end
      # layout = record.layout
      # unless layout.nil?
      #   print "\n id "
      #   print layout.id
      #   print "\n name "
      #   print layout.name
      # end
      # tax_list = record.tax_list
      # tax_list.each do |tax|
      #   print "\n name "
      #   print tax.name
      # end
      # print record.last_activity_time
      # tags = record.tags
      # tags.each do |tag|
      #   print "\n id "
      #   print tag.id
      #   print "\n name "
      #   print tag.name
      # end
      # fields = record.field_data
      # fields.each do |key, field_value|
      #   print "\n key "
      #   print key
      #   print "\t field_value "
      #   print field_value
      # end
      # print "\n "
    end
    print record_ids
    if record_ids.length>0
      module_instance.delete_records(record_ids)
    end
  end
  obj = Test.new
  obj.get_records
 
Get a Record
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def get_record
    module_api_name = 'module_api_name'
    entity_id = 'entity_id'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.get_record(entity_id)
    record = api_res.data
    print 'module_api_name '
    print record.module_api_name
    print "\n id "
    print record.entity_id
    line_items = record.line_items
    line_items.each do |line_item|
      print "\n id "
      print line_item.id
      product = line_item.product
      print "\n entity_id "
      print product.entity_id
      print "\n lookup_label "
      print product.lookup_label
      print "\n Product_Code "
      print product.field_data['Product_Code']
      print "\n list_price "
      print line_item.list_price
      print "\n quantity "
      print line_item.quantity
      print "\n  description "
      print line_item.description
      print "\n total "
      print line_item.total
      print "\n discount "
      print line_item.discount
      print "\n total_after_discount "
      print line_item.total_after_discount
      print "\n tax_amount "
      print line_item.tax_amount
      print "\n net_total "
      print line_item.net_total
      print "\n delete_flag "
      print line_item.delete_flag
      line_taxes = line_item.line_tax
      next if line_taxes.nil?

      line_taxes.each do |line_tax|
        print "\n name "
        print line_tax.name
        print "\n percentage "
        print line_tax.percentage
        print "\n  value "
        print line_tax.value
      end
    end
    owner = record.owner
    unless owner.nil?
      print "\n id "
      print owner.id
      print "\n name "
      print owner.name
    end
    created_by = record.created_by
    unless created_by.nil?
      print "\n id "
      print created_by.id
      print "\n name "
      print created_by.name
    end
    modified_by = record.modified_by
    unless owner.nil?
      print "\n  id "
      print modified_by.id
      print "\n name "
      print modified_by.name
    end
    print "\n created_time "
    print record.created_time
    print "\n modified_time "
    print record.modified_time
    print record.properties
    participants = record.participants
    participants.each do |participant|
      print "\n name "
      print participant.name
      print "\n email "
      print participant.email
      print  "\n is_invited "
      print  participant.is_invited
      print  "\n status "
      print  participant.status
      print  "\n type "
      print  participant.type
    end
    pricing_instances = record.price_details
    pricing_instances.each do |pricing_instance|
      print "\n id "
      print pricing_instance.id
      print "\n discount "
      print pricing_instance.discount
      print "\n to_range "
      print pricing_instance.to_range
      print "\n from_range "
      print pricing_instance.from_range
    end
    layout = record.layout
    unless layout.nil?
      print "\n id "
      print layout.id
      print "\n name "
      print layout.name
    end
    tax_list = record.tax_list
    tax_list.each do |tax|
      print "\n name "
      print tax.name
    end
    print record.last_activity_time
    tags = record.tags
    tags.each do |tag|
      print "\n id "
      print tag.id
      print "\n name "
      print tag.name
    end
    fields = record.field_data
    fields.each do |key, field_value|
      print "\n key "
      print key
      print "\t field_value "
      print field_value
    end
    print "\n "
  end
  obj = Test.new
  obj.get_record
 
Get List of Deleted Records
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def get_all_deleted_records
    module_api_name = 'module_api_name'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.get_all_deleted_records
    trash_records = api_res.data
    trash_records.each do |trash_record|
      print "\n "
      print trash_record.id
      print "\n "
      print trash_record.type
      print "\n "
      print trash_record.display_name
      print "\n "
      print trash_record.deleted_time
      print "\n "
      created_by = trash_record.created_by
      unless created_by.nil?
        print "\n "
        print created_by.id
        print "\n "
        print created_by.name
      end
      deleted_by = trash_record.deleted_by
      next if created_by.nil?

      print "\n "
      print deleted_by.id
      print "\n "
      print deleted_by.name
    end
  end
  obj = Test.new
  obj.get_all_deleted_records
 
Get Records from Recycle Bin
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def get_recyclebin_records
    module_api_name = 'module_api_name'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.get_recyclebin_records
    trash_records = api_res.data
    trash_records.each do |trash_record|
      print "\n "
      print trash_record.id
      print "\n "
      print trash_record.type
      print "\n "
      print trash_record.display_name
      print "\n "
      print trash_record.deleted_time
      print "\n "
      created_by = trash_record.created_by
      unless created_by.nil?
        print "\n "
        print created_by.id
        print "\n "
        print created_by.name
      end
      deleted_by = trash_record.deleted_by
      next if created_by.nil?

      print "\n "
      print deleted_by.id
      print "\n "
      print deleted_by.name
    end
  end
  obj = Test.new
  obj.get_recyclebin_records
 
Get List of Permanently Deleted Records
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def get_permanently_deleted_records
    module_api_name = 'module_api_name'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.get_permanently_deleted_records
    trash_records = api_res.data
    trash_records.each do |trash_record|
      print "\n "
      print trash_record.id
      print "\n "
      print trash_record.type
      print "\n "
      print trash_record.display_name
      print "\n "
      print trash_record.deleted_time
      print "\n "
      created_by = trash_record.created_by
      unless created_by.nil?
        print "\n "
        print created_by.id
        print "\n "
        print created_by.name
      end
      deleted_by = trash_record.deleted_by
      next if created_by.nil?

      print "\n "
      print deleted_by.id
      print "\n "
      print deleted_by.name
    end
  end
  obj = Test.new
  obj.get_permanently_deleted_records
 
Get Tags
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def get_tags
    module_api_name = 'module_api_name'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.get_tags
    tags = api_res.data
    tags.each do |tag_ins|
      print "\n"
      print tag_ins.id
      tag_ins.module_apiname = module_api_name
      tag_ins.delete
      print "\n"
      print tag_ins.name
      unless tag_ins.created_by.nil?
        print "\n"
        print tag_ins.created_by.name
        print "\n"
        print tag_ins.created_by.id
      end
      unless tag_ins.modified_by.nil?
        print "\n"
        print tag_ins.modified_by.name
        print "\n"
        print tag_ins.modified_by.id
      end
      print "\n"
      print tag_ins.created_time
      print "\n"
      print tag_ins.modified_time
    end
  end
  obj = Test.new
  obj.get_tags
 
Get Tag Count
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
    def get_tag_count
    module_api_name = 'module_api_name'
    tag_id = 'tag_id'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.get_tag_count(tag_id)
    tag_ins = api_res.data
    print "\n"
    print tag_ins.id
    print "\n"
    print tag_ins.count
  end
  obj = Test.new
  obj.get_tag_count
 
Search Records
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def search_records
    module_api_name = 'module_api_name'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.search_records('first')
    records = api_res.data
    records.each do |record|
      print 'module_api_name '
      print record.module_api_name
      print "\n id "
      print record.entity_id
      line_items = record.line_items
      line_items.each do |line_item|
        print "\n id "
        print line_item.id
        product = line_item.product
        print "\n entity_id "
        print product.entity_id
        print "\n lookup_label "
        print product.lookup_label
        print "\n Product_Code "
        print product.field_data['Product_Code']
        print "\n list_price "
        print line_item.list_price
        print "\n quantity "
        print line_item.quantity
        print "\n  description "
        print line_item.description
        print "\n total "
        print line_item.total
        print "\n discount "
        print line_item.discount
        print "\n total_after_discount "
        print line_item.total_after_discount
        print "\n tax_amount "
        print line_item.tax_amount
        print "\n net_total "
        print line_item.net_total
        print "\n delete_flag "
        print line_item.delete_flag
        line_taxes = line_item.line_tax
        next if line_taxes.nil?

        line_taxes.each do |line_tax|
          print "\n name "
          print line_tax.name
          print "\n percentage "
          print line_tax.percentage
          print "\n  value "
          print line_tax.value
        end
      end
      owner = record.owner
      unless owner.nil?
        print "\n id "
        print owner.id
        print "\n name "
        print owner.name
      end
      created_by = record.created_by
      unless created_by.nil?
        print "\n id "
        print created_by.id
        print "\n name "
        print created_by.name
      end
      modified_by = record.modified_by
      unless owner.nil?
        print "\n  id "
        print modified_by.id
        print "\n name "
        print modified_by.name
      end
      print "\n created_time "
      print record.created_time
      print "\n modified_time "
      print record.modified_time
      print record.properties
      participants = record.participants
      participants.each do |participant|
        print "\n name "
        print participant.name
        print "\n email "
        print participant.email
        print  "\n is_invited "
        print  participant.is_invited
        print  "\n status "
        print  participant.status
        print  "\n type "
        print  participant.type
      end
      pricing_instances = record.price_details
      pricing_instances.each do |pricing_instance|
        print "\n id "
        print pricing_instance.id
        print "\n discount "
        print pricing_instance.discount
        print "\n to_range "
        print pricing_instance.to_range
        print "\n from_range "
        print pricing_instance.from_range
      end
      layout = record.layout
      unless layout.nil?
        print "\n id "
        print layout.id
        print "\n name "
        print layout.name
      end
      tax_list = record.tax_list
      tax_list.each do |tax|
        print "\n name "
        print tax.name
      end
      print record.last_activity_time
      tags = record.tags
      tags.each do |tag|
        print "\n id "
        print tag.id
        print "\n name "
        print tag.name
      end
      fields = record.field_data
      fields.each do |key, field_value|
        print "\n key "
        print key
        print "\t field_value "
        print field_value
      end
      print "\n "
    end
  end
  obj = Test.new
  obj.search_records
 
Search Records by Phone
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def search_records_by_phone
    module_api_name = 'module_api_name'
    phone = 'phone'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.search_records_by_phone(phone)
    records = api_res.data
    records.each do |record|
      print 'module_api_name '
      print record.module_api_name
      print "\n id "
      print record.entity_id
      line_items = record.line_items
      line_items.each do |line_item|
        print "\n id "
        print line_item.id
        product = line_item.product
        print "\n entity_id "
        print product.entity_id
        print "\n lookup_label "
        print product.lookup_label
        print "\n Product_Code "
        print product.field_data['Product_Code']
        print "\n list_price "
        print line_item.list_price
        print "\n quantity "
        print line_item.quantity
        print "\n  description "
        print line_item.description
        print "\n total "
        print line_item.total
        print "\n discount "
        print line_item.discount
        print "\n total_after_discount "
        print line_item.total_after_discount
        print "\n tax_amount "
        print line_item.tax_amount
        print "\n net_total "
        print line_item.net_total
        print "\n delete_flag "
        print line_item.delete_flag
        line_taxes = line_item.line_tax
        next if line_taxes.nil?

        line_taxes.each do |line_tax|
          print "\n name "
          print line_tax.name
          print "\n percentage "
          print line_tax.percentage
          print "\n  value "
          print line_tax.value
        end
      end
      owner = record.owner
      unless owner.nil?
        print "\n id "
        print owner.id
        print "\n name "
        print owner.name
      end
      created_by = record.created_by
      unless created_by.nil?
        print "\n id "
        print created_by.id
        print "\n name "
        print created_by.name
      end
      modified_by = record.modified_by
      unless owner.nil?
        print "\n  id "
        print modified_by.id
        print "\n name "
        print modified_by.name
      end
      print "\n created_time "
      print record.created_time
      print "\n modified_time "
      print record.modified_time
      print record.properties
      participants = record.participants
      participants.each do |participant|
        print "\n name "
        print participant.name
        print "\n email "
        print participant.email
        print  "\n is_invited "
        print  participant.is_invited
        print  "\n status "
        print  participant.status
        print  "\n type "
        print  participant.type
      end
      pricing_instances = record.price_details
      pricing_instances.each do |pricing_instance|
        print "\n id "
        print pricing_instance.id
        print "\n discount "
        print pricing_instance.discount
        print "\n to_range "
        print pricing_instance.to_range
        print "\n from_range "
        print pricing_instance.from_range
      end
      layout = record.layout
      unless layout.nil?
        print "\n id "
        print layout.id
        print "\n name "
        print layout.name
      end
      tax_list = record.tax_list
      tax_list.each do |tax|
        print "\n name "
        print tax.name
      end
      print record.last_activity_time
      tags = record.tags
      tags.each do |tag|
        print "\n id "
        print tag.id
        print "\n name "
        print tag.name
      end
      fields = record.field_data
      fields.each do |key, field_value|
        print "\n key "
        print key
        print "\t field_value "
        print field_value
      end
      print "\n "
    end
  end
  obj = Test.new
  obj.search_records_by_phone
 
Search Records by Email
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def search_records_by_email
    module_api_name = 'module_api_name'
    email = 'email'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.search_records_by_email(email)
    records = api_res.data
    records.each do |record|
      print 'module_api_name '
      print record.module_api_name
      print "\n id "
      print record.entity_id
      line_items = record.line_items
      line_items.each do |line_item|
        print "\n id "
        print line_item.id
        product = line_item.product
        print "\n entity_id "
        print product.entity_id
        print "\n lookup_label "
        print product.lookup_label
        print "\n Product_Code "
        print product.field_data['Product_Code']
        print "\n list_price "
        print line_item.list_price
        print "\n quantity "
        print line_item.quantity
        print "\n  description "
        print line_item.description
        print "\n total "
        print line_item.total
        print "\n discount "
        print line_item.discount
        print "\n total_after_discount "
        print line_item.total_after_discount
        print "\n tax_amount "
        print line_item.tax_amount
        print "\n net_total "
        print line_item.net_total
        print "\n delete_flag "
        print line_item.delete_flag
        line_taxes = line_item.line_tax
        next if line_taxes.nil?

        line_taxes.each do |line_tax|
          print "\n name "
          print line_tax.name
          print "\n percentage "
          print line_tax.percentage
          print "\n  value "
          print line_tax.value
        end
      end
      owner = record.owner
      unless owner.nil?
        print "\n id "
        print owner.id
        print "\n name "
        print owner.name
      end
      created_by = record.created_by
      unless created_by.nil?
        print "\n id "
        print created_by.id
        print "\n name "
        print created_by.name
      end
      modified_by = record.modified_by
      unless owner.nil?
        print "\n  id "
        print modified_by.id
        print "\n name "
        print modified_by.name
      end
      print "\n created_time "
      print record.created_time
      print "\n modified_time "
      print record.modified_time
      print record.properties
      participants = record.participants
      participants.each do |participant|
        print "\n name "
        print participant.name
        print "\n email "
        print participant.email
        print  "\n is_invited "
        print  participant.is_invited
        print  "\n status "
        print  participant.status
        print  "\n type "
        print  participant.type
      end
      pricing_instances = record.price_details
      pricing_instances.each do |pricing_instance|
        print "\n id "
        print pricing_instance.id
        print "\n discount "
        print pricing_instance.discount
        print "\n to_range "
        print pricing_instance.to_range
        print "\n from_range "
        print pricing_instance.from_range
      end
      layout = record.layout
      unless layout.nil?
        print "\n id "
        print layout.id
        print "\n name "
        print layout.name
      end
      tax_list = record.tax_list
      tax_list.each do |tax|
        print "\n name "
        print tax.name
      end
      print record.last_activity_time
      tags = record.tags
      tags.each do |tag|
        print "\n id "
        print tag.id
        print "\n name "
        print tag.name
      end
      fields = record.field_data
      fields.each do |key, field_value|
        print "\n key "
        print key
        print "\t field_value "
        print field_value
      end
      print "\n "
    end
  end
  obj = Test.new
  obj.search_records_by_email
 
Search Records by Criteria
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def search_records_by_criteria
    module_api_name = 'module_api_name'
    criteria = 'criteria'
    module_instance = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name)
    api_res = module_instance.search_records_by_criteria(criteria)
    records = api_res.data
    records.each do |record|
      print 'module_api_name '
      print record.module_api_name
      print "\n id "
      print record.entity_id
      line_items = record.line_items
      line_items.each do |line_item|
        print "\n id "
        print line_item.id
        product = line_item.product
        print "\n entity_id "
        print product.entity_id
        print "\n lookup_label "
        print product.lookup_label
        print "\n Product_Code "
        print product.field_data['Product_Code']
        print "\n list_price "
        print line_item.list_price
        print "\n quantity "
        print line_item.quantity
        print "\n  description "
        print line_item.description
        print "\n total "
        print line_item.total
        print "\n discount "
        print line_item.discount
        print "\n total_after_discount "
        print line_item.total_after_discount
        print "\n tax_amount "
        print line_item.tax_amount
        print "\n net_total "
        print line_item.net_total
        print "\n delete_flag "
        print line_item.delete_flag
        line_taxes = line_item.line_tax
        next if line_taxes.nil?

        line_taxes.each do |line_tax|
          print "\n name "
          print line_tax.name
          print "\n percentage "
          print line_tax.percentage
          print "\n  value "
          print line_tax.value
        end
      end
      owner = record.owner
      unless owner.nil?
        print "\n id "
        print owner.id
        print "\n name "
        print owner.name
      end
      created_by = record.created_by
      unless created_by.nil?
        print "\n id "
        print created_by.id
        print "\n name "
        print created_by.name
      end
      modified_by = record.modified_by
      unless owner.nil?
        print "\n  id "
        print modified_by.id
        print "\n name "
        print modified_by.name
      end
      print "\n created_time "
      print record.created_time
      print "\n modified_time "
      print record.modified_time
      print record.properties
      participants = record.participants
      participants.each do |participant|
        print "\n name "
        print participant.name
        print "\n email "
        print participant.email
        print  "\n is_invited "
        print  participant.is_invited
        print  "\n status "
        print  participant.status
        print  "\n type "
        print  participant.type
      end
      pricing_instances = record.price_details
      pricing_instances.each do |pricing_instance|
        print "\n id "
        print pricing_instance.id
        print "\n discount "
        print pricing_instance.discount
        print "\n to_range "
        print pricing_instance.to_range
        print "\n from_range "
        print pricing_instance.from_range
      end
      layout = record.layout
      unless layout.nil?
        print "\n id "
        print layout.id
        print "\n name "
        print layout.name
      end
      tax_list = record.tax_list
      tax_list.each do |tax|
        print "\n name "
        print tax.name
      end
      print record.last_activity_time
      tags = record.tags
      tags.each do |tag|
        print "\n id "
        print tag.id
        print "\n name "
        print tag.name
      end
      fields = record.field_data
      fields.each do |key, field_value|
        print "\n key "
        print key
        print "\t field_value "
        print field_value
      end
      print "\n "
    end
  end
  obj = Test.new
  obj.search_records_by_criteria
 
Mass Update Records
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def mass_update_records
    module_api_name = 'module_api_name'
    record_ids = []
    record_ids.push('record_id_1')
    record_ids.push('record_id_2')
    field_api_name = 'phone'
    value = '24242'
    res = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name).mass_update_records(record_ids, field_api_name, value).bulk_entity_response
    res.each do |response|
      print "\n"
      print response.code
      print "\n"
      print response.message
      print "\n"
      print response.details
    end
  end
  obj = Test.new
  obj.mass_update_records
 
Update Records
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def update_records
    module_api_name = 'module_api_name'
    records = []
    record_id_1 = 'record_id_1'
    record_id_2 = 'record_id_2'
    rec1 = ZCRMSDK::Operations::ZCRMRecord.get_instance(module_api_name, record_id_1)# record_id is mandatory
    rec1.field_data = Array('Last_Name' => 'ruby_asdlead1')
    records.push(rec1)
    rec2 = ZCRMSDK::Operations::ZCRMRecord.get_instance(module_api_name, record_id_2)# record_id is mandatory
    rec2.field_data = Array('Last_Name' => 'ruby_lasdead2')
    records.push(rec2)
    res = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name).update_records(records).bulk_entity_response
    res.each do |response|
      print "\n"
      print response.code
      print "\n"
      print response.message
      print "\n"
      print response.details
    end
  end
  obj = Test.new
  obj.update_records
 
Upsert Records
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def upsert_records
    module_api_name = 'module_api_name'
    records = []
    record_id_1 = 'record_id_1'
    record_id_2 = 'record_id_2'
    duplicate_check_fields = []
    duplicate_check_fields.push('Company')
    rec1 = ZCRMSDK::Operations::ZCRMRecord.get_instance(module_api_name, record_id_1)# record_id is not mandatory
    rec1.field_data = Array('Last_Name' => 'ruby_asdlead1', 'Company' => 'adsasagrgrgrgsdasddd', 'Email' => 'xyc@random.com')
    records.push(rec1)
    rec2 = ZCRMSDK::Operations::ZCRMRecord.get_instance(module_api_name, record_id_2)# record_id is not mandatory
    rec2.field_data = Array('Last_Name' => 'ruby_lasdead2', 'Company' => 'adasasasdrgrgrgsddddsd', 'Email' => 'xyc@random.com')
    records.push(rec2)
    res = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name).upsert_records(records, duplicate_check_fields, nil).bulk_entity_response
    res.each do |response|
      print "\n"
      print response.code
      print "\n"
      print response.message
      print "\n"
      print response.details
    end
  end
  obj = Test.new
  obj.upsert_records
 
Create Records
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def create_records
    module_api_name = 'module_api_name'
    records = []
    rec1 = ZCRMSDK::Operations::ZCRMRecord.get_instance(module_api_name, nil)
    rec1.field_data = Array('Last_Name' => 'ruby_lead1')
    records.push(rec1)
    rec2 = ZCRMSDK::Operations::ZCRMRecord.get_instance(module_api_name, nil)
    rec2.field_data = Array('Last_Name' => 'ruby_lead2', 'City' => 'City')
    records.push(rec2)
    res = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name).create_records(records, 3_524_033_000_001_149_001).bulk_entity_response
    res.each do |response|
      print "\n"
      print response.code
      print "\n"
      print response.message
      print "\n"
      print response.details
    end
  end
  obj = Test.new
  obj.create_records
 
Delete Records
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def delete_records
    module_api_name = 'module_api_name'
    record_ids = []
    record_ids.push('record_id_1')
    record_ids.push('record_id_2')
    res = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name).delete_records(record_ids).bulk_entity_response
    res.each do |response|
      print "\n"
      print response.code
      print "\n"
      print response.message
      print "\n"
      print response.details
    end
  end
  obj = Test.new
  obj.delete_records
 
Create Tags
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def create_tags
    module_api_name = 'module_api_name'
    tags = []
    tag1 = ZCRMSDK::Operations::ZCRMTag.get_instance(nil, 'tag_name_1')
    tags.push(tag1)
    tag2 = ZCRMSDK::Operations::ZCRMTag.get_instance(nil, 'tag_name_1')
    tags.push(tag2)
    res = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name).create_tags(tags).bulk_entity_response
    res.each do |response|
      print "\n"
      print response.code
      print "\n"
      print response.message
      print "\n"
      print response.details
    end
  end
  obj = Test.new
  obj.create_tags
 
Update Tags
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def update_tags
    module_api_name = 'module_api_name'
    tags = []
    tag_id_1 = 'tag_id_1'
    tag_id_2 = 'tag_id_2'
    tag1 = ZCRMSDK::Operations::ZCRMTag.get_instance(tag_id_1, 'updated_tag_name_1')# tag id is not mandatory
    tags.push(tag1)
    tag2 = ZCRMSDK::Operations::ZCRMTag.get_instance(tag_id_2, 'updated_tag_name_2')# tag id is not mandatory
    tags.push(tag2)
    res = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name).update_tags(tags).bulk_entity_response
    res.each do |response|
      print "\n"
      print response.code
      print "\n"
      print response.message
      print "\n"
      print response.details
    end
  end
  obj = Test.new
  obj.update_tags
 
Add Tags to Records
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def add_tags_to_multiple_records
    module_api_name = 'module_api_name'
    tag_names = []
    tag_names.push('tag_name_1')
    tag_names.push('tag_name_2')
    records_ids = []
    records_ids.push('record_id_1')
    records_ids.push('record_id_2')
    res = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name).add_tags_to_multiple_records(tag_names, records_ids).bulk_entity_response
    res.each do |response|
      print "\n"
      print response.code
      print "\n"
      print response.message
      print "\n"
      print response.details
    end
  end
  obj = Test.new
  obj.add_tags_to_multiple_records
 
Remove Tags from Records
          
          
require 'ZCRMSDK'
# THIS CLASS SHOWS THE EXAMPLES
class Test
  def initialize
    config_details = { 'client_id' => 'client_id', 'client_secret' => 'client_secret', 'redirect_uri' => 'redirect_uri', 'api_base_url' => 'api_base_url', 'api_version' => 'v2', 'current_user_email' => 'user_identifier', 'application_log_file_path' => "path/to/filename.log" ,'log_in_console' => 'true' }
    ZCRMSDK::RestClient::ZCRMRestClient.init(config_details)
  end
  def remove_tags_from_multiple_records
    module_api_name = 'module_api_name'
    tag_names = []
    tag_names.push('tag_name_1')
    records_ids = []
    records_ids.push('record_id_1')
    records_ids.push('record_id_2')
    res = ZCRMSDK::Operations::ZCRMModule.get_instance(module_api_name).remove_tags_from_multiple_records(tag_names, records_ids).bulk_entity_response
    res.each do |response|
      print "\n"
      print response.code
      print "\n"
      print response.message
      print "\n"
      print response.details
    end
  end
  obj = Test.new
  obj.remove_tags_from_multiple_records