Class: RisenexaLeads::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/risenexa/leads.rb

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ Client

Returns a new instance of Client.



67
68
69
# File 'lib/risenexa/leads.rb', line 67

def initialize(configuration)
  @configuration = configuration
end

Instance Method Details

#batch(leads) ⇒ Object



83
84
85
86
87
88
89
90
91
92
93
# File 'lib/risenexa/leads.rb', line 83

def batch(leads)
  response = connection.post("/api/v1/leads/batch") do |req|
    req.body = build_batch_payload(leads).to_json
  end

  handle_batch_response(response)
rescue Faraday::TimeoutError
  BatchResult.failure("Connection timeout")
rescue Faraday::ConnectionFailed => e
  BatchResult.failure("Connection failed: #{e.message}")
end

#track(attributes) ⇒ Object



71
72
73
74
75
76
77
78
79
80
81
# File 'lib/risenexa/leads.rb', line 71

def track(attributes)
  response = connection.post("/api/v1/leads") do |req|
    req.body = build_lead_payload(attributes).to_json
  end

  handle_response(response)
rescue Faraday::TimeoutError
  Result.failure("Connection timeout")
rescue Faraday::ConnectionFailed => e
  Result.failure("Connection failed: #{e.message}")
end