Class: Customerio::APIClient

Inherits:
Object
  • Object
show all
Defined in:
lib/customerio/api.rb

Instance Method Summary collapse

Constructor Details

#initialize(app_key, options = {}) ⇒ APIClient

Returns a new instance of APIClient.



8
9
10
11
12
13
14
15
16
17
# File 'lib/customerio/api.rb', line 8

def initialize(app_key, options = {})
  options = options.dup
  options[:region] = Regions::US if options[:region].nil?
  unless options[:region].is_a?(Regions::Region)
    raise ArgumentError, "region must be an instance of Customerio::Regions::Region"
  end

  options[:url] = options[:region].api_url if options[:url].nil? || options[:url].empty?
  @client = BaseClient.new({ app_key: app_key }, options)
end

Instance Method Details

#send_email(req) ⇒ Object



19
20
21
22
23
# File 'lib/customerio/api.rb', line 19

def send_email(req)
  validate_request!(req, SendEmailRequest)

  deliver(send_email_path, req.message)
end

#send_in_app(req) ⇒ Object



43
44
45
46
47
# File 'lib/customerio/api.rb', line 43

def send_in_app(req)
  validate_request!(req, SendInAppRequest)

  deliver(send_in_app_path, req.message)
end

#send_inbox_message(req) ⇒ Object



37
38
39
40
41
# File 'lib/customerio/api.rb', line 37

def send_inbox_message(req)
  validate_request!(req, SendInboxMessageRequest)

  deliver(send_inbox_message_path, req.message)
end

#send_push(req) ⇒ Object



25
26
27
28
29
# File 'lib/customerio/api.rb', line 25

def send_push(req)
  validate_request!(req, SendPushRequest)

  deliver(send_push_path, req.message)
end

#send_sms(req) ⇒ Object



31
32
33
34
35
# File 'lib/customerio/api.rb', line 31

def send_sms(req)
  validate_request!(req, SendSMSRequest)

  deliver(send_sms_path, req.message)
end

#trigger_broadcast(req) ⇒ Object



49
50
51
52
53
# File 'lib/customerio/api.rb', line 49

def trigger_broadcast(req)
  validate_request!(req, TriggerBroadcastRequest)

  deliver(trigger_broadcast_path(req.broadcast_id), req.message)
end