Class: LeadRouter::Client
- Inherits:
-
Object
- Object
- LeadRouter::Client
- Defined in:
- lib/lead_router/client.rb
Instance Method Summary collapse
- #add_activities(site_uuid, lead_uuid, activities) ⇒ Object
- #create_lead(site_uuid, lead, destinations = []) ⇒ Object
- #create_potential_seller_lead(site_uuid, lead) ⇒ Object
-
#delete_user(site_uuid, user_id) ⇒ Object
Send a request to notify a user was deleted in the Lead Manager.
-
#initialize(host, user, token) ⇒ Client
constructor
A new instance of Client.
- #update_lead(site_uuid, lead_uuid, lead) ⇒ Object
-
#update_user(site_uuid, user_id, user) ⇒ Object
Send a request to notify a user was updated in the Lead Manager.
Constructor Details
#initialize(host, user, token) ⇒ Client
Returns a new instance of Client.
6 7 8 9 10 |
# File 'lib/lead_router/client.rb', line 6 def initialize(host, user, token) @host = host @user = user @token = token end |
Instance Method Details
#add_activities(site_uuid, lead_uuid, activities) ⇒ Object
25 26 27 28 29 |
# File 'lib/lead_router/client.rb', line 25 def add_activities(site_uuid, lead_uuid, activities) require_arg "site_uuid", site_uuid require_arg "lead_uuid", lead_uuid request :post, "https://#{@host}/rest/sites/#{site_uuid}/leads/#{lead_uuid}/activities", activities.to_json end |
#create_lead(site_uuid, lead, destinations = []) ⇒ Object
12 13 14 15 16 17 |
# File 'lib/lead_router/client.rb', line 12 def create_lead(site_uuid, lead, destinations=[]) destinations ||= [] require_arg "site_uuid", site_uuid dest_headers = destinations.empty? ? nil : { "X-ROUTER-DESTINATIONS" => destinations.join(",") } request :post, "https://#{@host}/rest/sites/#{site_uuid}/leads", lead.to_json, dest_headers end |
#create_potential_seller_lead(site_uuid, lead) ⇒ Object
31 32 33 34 |
# File 'lib/lead_router/client.rb', line 31 def create_potential_seller_lead(site_uuid, lead) require_arg "site_uuid", site_uuid request :post, "https://#{@host}/rest/sites/#{site_uuid}/potential-seller-leads", lead.to_json end |
#delete_user(site_uuid, user_id) ⇒ Object
Send a request to notify a user was deleted in the Lead Manager
Only the lead manager is allowed to send this request, every other client will get 403
64 65 66 |
# File 'lib/lead_router/client.rb', line 64 def delete_user(site_uuid, user_id) request :delete, "http://#{@host}/rest/sites/#{site_uuid}/users/#{user_id}" end |
#update_lead(site_uuid, lead_uuid, lead) ⇒ Object
19 20 21 22 23 |
# File 'lib/lead_router/client.rb', line 19 def update_lead(site_uuid, lead_uuid, lead) require_arg "site_uuid", site_uuid require_arg "lead_uuid", lead_uuid request :patch, "https://#{@host}/rest/sites/#{site_uuid}/leads/#{lead_uuid}", lead.to_json end |
#update_user(site_uuid, user_id, user) ⇒ Object
Send a request to notify a user was updated in the Lead Manager
Only the lead manager is allowed to send this request, every other client will get 403
Must be called with the full user object, all fields. See all fields in: developers.realgeeks.com/users/
‘name’ could be provided as ‘first_name’ and ‘last_name’, they will be combined as ‘name’
46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/lead_router/client.rb', line 46 def update_user(site_uuid, user_id, user) require_arg "site_uuid", site_uuid require_arg "user_id", user_id # if name not set try to use first_name and last_name user = user.clone first = user.delete(:first_name) last = user.delete(:last_name) user['name'] ||= first unless first.nil? user['name'] += " #{last}" unless last.nil? request :put, "https://#{@host}/rest/sites/#{site_uuid}/users/#{user_id}", user.to_json end |