class MelissaData::WebSmart::PropertyAPI
Constants
- BASE_URL
- USER_AGENT
Public Instance Methods
address(address:, city:, state:, zip:, country:)
click to toggle source
# File lib/melissa_data/web_smart/property_api.rb, line 64 def address(address:, city:, state:, zip:, country:) raw = default_connection(BASE_URL, json_headers: true) .get '/v3/WEB/ContactVerify/doContactVerify', { id: MelissaData.web_smart_id, Actions: 'Check', a1: address, city: city, state: state, postal: zip, ctry: country, AdvancedAddressCorrection: 'on' } res = JSON.parse(raw.body).deep_transform_keys(&:underscore) res&.with_indifferent_access[:records]&.first end
default_connection(url = BASE_URL, json_headers: false)
click to toggle source
# File lib/melissa_data/web_smart/property_api.rb, line 11 def default_connection(url = BASE_URL, json_headers: false) Faraday.new(url: url) do |conn| conn.response :logger conn.headers[:user_agent] = USER_AGENT if json_headers conn.headers['Content-Type'] = 'application/json' conn.headers['Accept'] = 'application/json' end conn.adapter :typhoeus end end
property_by_address(address:)
click to toggle source
# File lib/melissa_data/web_smart/property_api.rb, line 51 def property_by_address(address:) raw = default_connection(BASE_URL).get '/v4/WEB/LookupProperty/', { id: MelissaData.web_smart_id, ff: address, cols: 'GrpAll', addressKey: nil, format: 'json' } res = JSON.parse(raw.body).deep_transform_keys(&:underscore) res&.with_indifferent_access end
property_by_address_key(address_key:)
click to toggle source
# File lib/melissa_data/web_smart/property_api.rb, line 39 def property_by_address_key(address_key:) raw = default_connection(BASE_URL).get '/v4/WEB/LookupProperty/', { id: MelissaData.web_smart_id, addressKey: address_key, cols: 'GrpAll', format: 'json' } res = JSON.parse(raw.body).deep_transform_keys(&:underscore) res&.with_indifferent_access end
property_by_apn(fips:, apn:)
click to toggle source
# File lib/melissa_data/web_smart/property_api.rb, line 25 def property_by_apn(fips:, apn:) raw = default_connection(BASE_URL).get '/v4/WEB/LookupProperty/', { id: MelissaData.web_smart_id, fips: fips, apn: apn, cols: 'GrpAll', addressKey: nil, format: 'json' } res = JSON.parse(raw.body).deep_transform_keys(&:underscore) res&.with_indifferent_access end