Class: MoxiworksPlatform::Contact
- Defined in:
- lib/moxiworks_platform/contact.rb
Overview
Moxi Works Platform Contact
Instance Attribute Summary collapse
-
#anniversary ⇒ Object
the Contact’s anniversary displayed as a Unix Timestamp.
-
#birthday ⇒ Object
the Contact’s birthday displayed as a Unix Timestamp.
-
#contact_name ⇒ String
the full name of this Contact.
-
#contact_namer ⇒ Object
Returns the value of attribute contact_namer.
-
#gender ⇒ String, Enumerated
the gender of this Contact.
-
#home_city ⇒ String
the city of the residence of this Contact.
-
#home_country ⇒ String
the country of the residence of this Contact.
-
#home_neighborhood ⇒ String
the neighborhood of the residence of this Contact.
-
#home_purchase_anniversary ⇒ Object
the anniversary of the purchase of contact’s home displayed as a Unix Timestamp.
-
#home_state ⇒ String
the state in which the residence of this Contact is located.
-
#home_street_address ⇒ String
the street address of the residence of this Contact.
-
#home_zip ⇒ String
the zip code of the residence of this Contact.
-
#is_new_contact ⇒ Boolean
whether the Contact is considered new.
-
#job_title ⇒ String
the specific job title this contact has; ex: ‘Senior VP of Operations’.
-
#moxi_works_agent_id ⇒ String
moxi_works_agent_id is the Moxi Works Platform ID of the agent which a contact is or is to be associated with.
-
#note ⇒ String
more detailed information about the Contact.
-
#occupation ⇒ String
the general occupation of this contact; ex: ‘Software Developer’.
-
#partner_agent_id ⇒ String
your system’s unique identifier for the agent that this contact will be associated with.
-
#partner_contact_id ⇒ String
*your system’s* unique ID for the Contact.
-
#primary_email_address ⇒ String
the email address the contact would want to be contacted via first.
-
#primary_phone_number ⇒ String
the phone number the contact would want to be contacted via first.
-
#property_baths ⇒ Float
the number of bathrooms in the listing the contact has expressed interest in.
-
#property_beds ⇒ Integer
the number of bedrooms in the listing the contact has expressed interest in.
-
#property_city ⇒ String
the city in which the listing the contact has expressed interest in is located.
-
#property_list_price ⇒ Integer
the list_price of the property the contact has expressed interest in.
-
#property_listing_status ⇒ String
Property of Interest (POI) attribute.
-
#property_mls_id ⇒ String
the MLS ID of the listing that of the Property of Interest.
-
#property_photo_url ⇒ String
a full URL to a photo of the Property of Interest.
-
#property_state ⇒ String
the state in which the listing the contact has expressed interest in is located.
-
#property_street_address ⇒ String
the street address of the listing the contact has expressed interest in is located.
-
#property_url ⇒ String
a URL referencing a HTTP(S) location which has information about the listing.
-
#property_zip ⇒ String
the zip code in which the listing the contact has expressed interest in is located.
-
#search_city ⇒ String
the city which the contact has searched for listings in.
-
#search_max_lot_size ⇒ Integer
the maximum lot size used by the contact when searching for listings.
-
#search_max_price ⇒ Integer
the maximum price value used by the contact when searching for listings.
-
#search_max_sq_ft ⇒ Integer
the maximum listing square footage used by the contact when searching for listings.
-
#search_max_year_built ⇒ Integer
the maximum year built used by the contact when searching for listings.
-
#search_min_baths ⇒ Float
Property Search (PS) attribute.
-
#search_min_beds ⇒ Integer
the minimum number of bedrooms used by the contact when searching for listings.
-
#search_min_lot_size ⇒ Integer
the minimum lot size used by the contact when searching for listings.
-
#search_min_price ⇒ Integer
the minimum price used by the contact when searching for listings.
-
#search_min_sq_ft ⇒ Integer
the minimum square footage used by the contact when searching for listings.
-
#search_min_year_built ⇒ Integer
the minimum year built used by the contact when searching for listings.
-
#search_property_types ⇒ String
the property types used by the contact when searching for listings; ex: ‘Condo’ ‘Single-Family’ ‘Townhouse’.
-
#search_state ⇒ String
the state which the contact has searched for listings in.
-
#search_zip ⇒ String
the zip code which the contact has searched for listings in.
-
#secondary_email_address ⇒ String
an additional email address the contact would want to be contacted by.
-
#secondary_phone_number ⇒ String
an additional phone number the contact would want to be contacted by.
Class Method Summary collapse
-
.create(opts = {}) ⇒ MoxiworksPlatform::Contact
Creates a new Contact in Moxi Works Platform.
-
.delete(opts = {}) ⇒ Boolean
Delete a Contact your system has previously created in Moxi Works Platform.
-
.find(opts = {}) ⇒ MoxiworksPlatform::Contact
Find a Contact your system has previously created in Moxi Works Platform.
-
.search(opts = {}) ⇒ Array
Search an Agent’s Contacts in Moxi Works Platform.
-
.send_request(method, opts = {}, url = nil) ⇒ MoxiworksPlatform::Contact
Send our remote request to the Moxi Works Platform.
-
.update(opts = {}) ⇒ MoxiworksPlatform::Contact
Updates a previously created Contact in Moxi Works Platform.
Instance Method Summary collapse
-
#delete ⇒ Boolean
Delete an instance of MoxiWorksPlatform::Contact from Moxi Works Platform that your system has previously created.
-
#save ⇒ MoxiWorksPlatform::Contact
Save an instance of MoxiWorksPlatform::Contact to Moxi Works Platform.
Methods inherited from Resource
accept_header, attr_accessor, attributes, #attributes, auth_header, check_for_error_in_response, content_type_header, headers, #init_attrs_from_hash, #initialize, #method_missing, #numeric_attrs, #numeric_value_for, #to_hash, underscore, underscore_array, underscore_attribute_names, underscore_hash
Constructor Details
This class inherits a constructor from MoxiworksPlatform::Resource
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class MoxiworksPlatform::Resource
Instance Attribute Details
#anniversary ⇒ Object
the Contact’s anniversary displayed as a Unix Timestamp. This will be empty if the data is unavailable
26 27 28 |
# File 'lib/moxiworks_platform/contact.rb', line 26 def anniversary @anniversary end |
#birthday ⇒ Object
the Contact’s birthday displayed as a Unix Timestamp. This will be empty if the data is unavailable
32 33 34 |
# File 'lib/moxiworks_platform/contact.rb', line 32 def birthday @birthday end |
#contact_name ⇒ String
the full name of this Contact
38 |
# File 'lib/moxiworks_platform/contact.rb', line 38 attr_accessor :contact_namer |
#contact_namer ⇒ Object
Returns the value of attribute contact_namer.
38 39 40 |
# File 'lib/moxiworks_platform/contact.rb', line 38 def contact_namer @contact_namer end |
#gender ⇒ String, Enumerated
The single character representation will be used after saving to Moxi Works Platform no matter whether the word or single character representation is passed in.
the gender of this Contact. the first initial of either gender type may be used or the full word ‘male’ or ‘female.’
47 48 49 |
# File 'lib/moxiworks_platform/contact.rb', line 47 def gender @gender end |
#home_city ⇒ String
the city of the residence of this Contact
59 60 61 |
# File 'lib/moxiworks_platform/contact.rb', line 59 def home_city @home_city end |
#home_country ⇒ String
the country of the residence of this Contact
this can either be the country’s abbreviation or the full name of the country
93 94 95 |
# File 'lib/moxiworks_platform/contact.rb', line 93 def home_country @home_country end |
#home_neighborhood ⇒ String
the neighborhood of the residence of this Contact
85 86 87 |
# File 'lib/moxiworks_platform/contact.rb', line 85 def home_neighborhood @home_neighborhood end |
#home_purchase_anniversary ⇒ Object
the anniversary of the purchase of contact’s home displayed as a Unix Timestamp. This will be empty if the data is unavailable
65 66 67 |
# File 'lib/moxiworks_platform/contact.rb', line 65 def home_purchase_anniversary @home_purchase_anniversary end |
#home_state ⇒ String
the state in which the residence of this Contact is located
this can either be the state’s abbreviation or the full name of the state
73 74 75 |
# File 'lib/moxiworks_platform/contact.rb', line 73 def home_state @home_state end |
#home_street_address ⇒ String
the street address of the residence of this Contact
53 54 55 |
# File 'lib/moxiworks_platform/contact.rb', line 53 def home_street_address @home_street_address end |
#home_zip ⇒ String
the zip code of the residence of this Contact
79 80 81 |
# File 'lib/moxiworks_platform/contact.rb', line 79 def home_zip @home_zip end |
#is_new_contact ⇒ Boolean
whether the Contact is considered new
99 100 101 |
# File 'lib/moxiworks_platform/contact.rb', line 99 def is_new_contact @is_new_contact end |
#job_title ⇒ String
the specific job title this contact has; ex: ‘Senior VP of Operations’
105 106 107 |
# File 'lib/moxiworks_platform/contact.rb', line 105 def job_title @job_title end |
#moxi_works_agent_id ⇒ String
moxi_works_agent_id is the Moxi Works Platform ID of the agent which a contact is or is to be associated with.
this must be set for any Moxi Works Platform transaction
12 13 14 |
# File 'lib/moxiworks_platform/contact.rb', line 12 def moxi_works_agent_id @moxi_works_agent_id end |
#note ⇒ String
more detailed information about the Contact
111 112 113 |
# File 'lib/moxiworks_platform/contact.rb', line 111 def note @note end |
#occupation ⇒ String
the general occupation of this contact; ex: ‘Software Developer’
117 118 119 |
# File 'lib/moxiworks_platform/contact.rb', line 117 def occupation @occupation end |
#partner_agent_id ⇒ String
your system’s unique identifier for the agent that this contact will be associated with
123 124 125 |
# File 'lib/moxiworks_platform/contact.rb', line 123 def partner_agent_id @partner_agent_id end |
#partner_contact_id ⇒ String
*your system’s* unique ID for the Contact
this must be set for any Moxi Works Platform transaction
20 21 22 |
# File 'lib/moxiworks_platform/contact.rb', line 20 def partner_contact_id @partner_contact_id end |
#primary_email_address ⇒ String
the email address the contact would want to be contacted via first
129 130 131 |
# File 'lib/moxiworks_platform/contact.rb', line 129 def primary_email_address @primary_email_address end |
#primary_phone_number ⇒ String
the phone number the contact would want to be contacted via first
135 136 137 |
# File 'lib/moxiworks_platform/contact.rb', line 135 def primary_phone_number @primary_phone_number end |
#property_baths ⇒ Float
the number of bathrooms in the listing the contact has expressed interest in
Property of Interest (POI) attribute
156 |
# File 'lib/moxiworks_platform/contact.rb', line 156 attr_writer :property_baths |
#property_beds ⇒ Integer
the number of bedrooms in the listing the contact has expressed interest in
Property of Interest (POI) attribute
165 |
# File 'lib/moxiworks_platform/contact.rb', line 165 attr_writer :property_beds |
#property_city ⇒ String
the city in which the listing the contact has expressed interest in is located
Property of Interest (POI) attribute
174 175 176 |
# File 'lib/moxiworks_platform/contact.rb', line 174 def property_city @property_city end |
#property_list_price ⇒ Integer
the list_price of the property the contact has expressed interest in
Property of Interest (POI) attribute
183 |
# File 'lib/moxiworks_platform/contact.rb', line 183 attr_writer :property_list_price |
#property_listing_status ⇒ String
Property of Interest (POI) attribute
the status of the listing of the Property of Interest; ex: ‘Active’ or ‘Sold’
192 193 194 |
# File 'lib/moxiworks_platform/contact.rb', line 192 def property_listing_status @property_listing_status end |
#property_mls_id ⇒ String
the MLS ID of the listing that of the Property of Interest
Property of Interest (POI) attribute
201 202 203 |
# File 'lib/moxiworks_platform/contact.rb', line 201 def property_mls_id @property_mls_id end |
#property_photo_url ⇒ String
a full URL to a photo of the Property of Interest
Property of Interest (POI) attribute
210 211 212 |
# File 'lib/moxiworks_platform/contact.rb', line 210 def property_photo_url @property_photo_url end |
#property_state ⇒ String
the state in which the listing the contact has expressed interest in is located
Property of Interest (POI) attribute
219 220 221 |
# File 'lib/moxiworks_platform/contact.rb', line 219 def property_state @property_state end |
#property_street_address ⇒ String
the street address of the listing the contact has expressed interest in is located
Property of Interest (POI) attribute
228 229 230 |
# File 'lib/moxiworks_platform/contact.rb', line 228 def property_street_address @property_street_address end |
#property_url ⇒ String
a URL referencing a HTTP(S) location which has information about the listing
Property of Interest (POI) attribute
237 238 239 |
# File 'lib/moxiworks_platform/contact.rb', line 237 def property_url @property_url end |
#property_zip ⇒ String
the zip code in which the listing the contact has expressed interest in is located
Property of Interest (POI) attribute
246 247 248 |
# File 'lib/moxiworks_platform/contact.rb', line 246 def property_zip @property_zip end |
#search_city ⇒ String
the city which the contact has searched for listings in
Property Search (PS) attribute
255 256 257 |
# File 'lib/moxiworks_platform/contact.rb', line 255 def search_city @search_city end |
#search_max_lot_size ⇒ Integer
the maximum lot size used by the contact when searching for listings
Property Search (PS) attribute
282 |
# File 'lib/moxiworks_platform/contact.rb', line 282 attr_writer :search_max_lot_size |
#search_max_price ⇒ Integer
the maximum price value used by the contact when searching for listings
Property Search (PS) attribute
291 |
# File 'lib/moxiworks_platform/contact.rb', line 291 attr_writer :search_max_price |
#search_max_sq_ft ⇒ Integer
the maximum listing square footage used by the contact when searching for listings
Property Search (PS) attribute
300 |
# File 'lib/moxiworks_platform/contact.rb', line 300 attr_writer :search_max_sq_ft |
#search_max_year_built ⇒ Integer
the maximum year built used by the contact when searching for listings
Property Search (PS) attribute
309 |
# File 'lib/moxiworks_platform/contact.rb', line 309 attr_writer :search_max_year_built |
#search_min_baths ⇒ Float
Property Search (PS) attribute
the minimum number of bathrooms used by the contact when searching for listings
318 |
# File 'lib/moxiworks_platform/contact.rb', line 318 attr_writer :search_min_baths |
#search_min_beds ⇒ Integer
the minimum number of bedrooms used by the contact when searching for listings
Property Search (PS) attribute
327 |
# File 'lib/moxiworks_platform/contact.rb', line 327 attr_writer :search_min_beds |
#search_min_lot_size ⇒ Integer
the minimum lot size used by the contact when searching for listings
Property Search (PS) attribute
336 |
# File 'lib/moxiworks_platform/contact.rb', line 336 attr_writer :search_min_lot_size |
#search_min_price ⇒ Integer
the minimum price used by the contact when searching for listings
Property Search (PS) attribute
345 |
# File 'lib/moxiworks_platform/contact.rb', line 345 attr_writer :search_min_price |
#search_min_sq_ft ⇒ Integer
the minimum square footage used by the contact when searching for listings
Property Search (PS) attribute
354 |
# File 'lib/moxiworks_platform/contact.rb', line 354 attr_writer :search_min_sq_ft |
#search_min_year_built ⇒ Integer
the minimum year built used by the contact when searching for listings
Property Search (PS) attribute
363 |
# File 'lib/moxiworks_platform/contact.rb', line 363 attr_writer :search_min_year_built |
#search_property_types ⇒ String
the property types used by the contact when searching for listings; ex: ‘Condo’ ‘Single-Family’ ‘Townhouse’
Property Search (PS) attribute
372 373 374 |
# File 'lib/moxiworks_platform/contact.rb', line 372 def search_property_types @search_property_types end |
#search_state ⇒ String
the state which the contact has searched for listings in
Property Search (PS) attribute
264 265 266 |
# File 'lib/moxiworks_platform/contact.rb', line 264 def search_state @search_state end |
#search_zip ⇒ String
the zip code which the contact has searched for listings in
Property Search (PS) attribute
273 274 275 |
# File 'lib/moxiworks_platform/contact.rb', line 273 def search_zip @search_zip end |
#secondary_email_address ⇒ String
an additional email address the contact would want to be contacted by
141 142 143 |
# File 'lib/moxiworks_platform/contact.rb', line 141 def secondary_email_address @secondary_email_address end |
#secondary_phone_number ⇒ String
an additional phone number the contact would want to be contacted by
147 148 149 |
# File 'lib/moxiworks_platform/contact.rb', line 147 def secondary_phone_number @secondary_phone_number end |
Class Method Details
.create(opts = {}) ⇒ MoxiworksPlatform::Contact
Creates a new Contact in Moxi Works Platform
453 454 455 |
# File 'lib/moxiworks_platform/contact.rb', line 453 def self.create(opts={}) self.send_request(:post, opts) end |
.delete(opts = {}) ⇒ Boolean
Delete a Contact your system has previously created in Moxi Works Platform
618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 |
# File 'lib/moxiworks_platform/contact.rb', line 618 def self.delete(opts={}) url = "#{MoxiworksPlatform::Config.url}/api/contacts/#{opts[:partner_contact_id]}" required_opts = [:moxi_works_agent_id, :partner_contact_id] required_opts.each do |opt| raise ::MoxiworksPlatform::Exception::ArgumentError, "#{opt} required" if opts[opt].nil? or opts[opt].to_s.empty? end RestClient::Request.execute(method: :delete, url: url, payload: opts, headers: self.headers) do |response| puts response if MoxiworksPlatform::Config.debug json = JSON.parse(response) json['status'] == 'success' end end |
.find(opts = {}) ⇒ MoxiworksPlatform::Contact
Find a Contact your system has previously created in Moxi Works Platform
467 468 469 470 |
# File 'lib/moxiworks_platform/contact.rb', line 467 def self.find(opts={}) url = "#{MoxiworksPlatform::Config.url}/api/contacts/#{opts[:partner_contact_id]}" self.send_request(:get, opts, url) end |
.search(opts = {}) ⇒ Array
Search an Agent’s Contacts in Moxi Works Platform
493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 |
# File 'lib/moxiworks_platform/contact.rb', line 493 def self.search(opts={}) url ||= "#{MoxiworksPlatform::Config.url}/api/contacts" required_opts = [:moxi_works_agent_id] required_opts.each do |opt| raise ::MoxiworksPlatform::Exception::ArgumentError, "#{opt} required" if opts[opt].nil? or opts[opt].to_s.empty? end results = [] RestClient::Request.execute(method: :get, url: url, payload: opts, headers: self.headers) do |response| puts response if MoxiworksPlatform::Config.debug self.check_for_error_in_response(response) json = JSON.parse(response) json.each do |r| results << MoxiworksPlatform::Contact.new(r) unless r.nil? or r.empty? end end results end |
.send_request(method, opts = {}, url = nil) ⇒ MoxiworksPlatform::Contact
Send our remote request to the Moxi Works Platform
696 697 698 699 700 701 702 703 704 705 706 707 |
# File 'lib/moxiworks_platform/contact.rb', line 696 def self.send_request(method, opts={}, url=nil) raise ::MoxiworksPlatform::Exception::ArgumentError, 'arguments must be passed as named parameters' unless opts.is_a? Hash url ||= "#{MoxiworksPlatform::Config.url}/api/contacts" required_opts = [:moxi_works_agent_id, :partner_contact_id] required_opts.each do |opt| raise ::MoxiworksPlatform::Exception::ArgumentError, "#{opt} required" if opts[opt].nil? or opts[opt].to_s.empty? end opts[:contact_id] = opts[:partner_contact_id] super(method, opts, url) end |
.update(opts = {}) ⇒ MoxiworksPlatform::Contact
Updates a previously created Contact in Moxi Works Platform
596 597 598 599 600 |
# File 'lib/moxiworks_platform/contact.rb', line 596 def self.update(opts={}) opts[:contact_id] = opts[:partner_contact_id] url = "#{MoxiworksPlatform::Config.url}/api/contacts/#{opts[:partner_contact_id]}" self.send_request(:put, opts, url) end |
Instance Method Details
#delete ⇒ Boolean
Delete an instance of MoxiWorksPlatform::Contact from Moxi Works Platform that your system has previously created
732 733 734 |
# File 'lib/moxiworks_platform/contact.rb', line 732 def delete MoxiworksPlatform::Contact.delete(self.to_hash) end |
#save ⇒ MoxiWorksPlatform::Contact
Save an instance of MoxiWorksPlatform::Contact to Moxi Works Platform
720 721 722 |
# File 'lib/moxiworks_platform/contact.rb', line 720 def save MoxiworksPlatform::Contact.update(self.to_hash) end |