Class: IletimerkeziSdk::Services::SmsService

Inherits:
Object
  • Object
show all
Defined in:
lib/iletimerkezi_sdk/services/sms_service.rb

Instance Method Summary collapse

Constructor Details

#initialize(http_client, api_key, api_hash, default_sender = nil) ⇒ SmsService



4
5
6
7
8
9
10
11
12
# File 'lib/iletimerkezi_sdk/services/sms_service.rb', line 4

def initialize(http_client, api_key, api_hash, default_sender = nil)
  @http_client = http_client
  @api_key = api_key
  @api_hash = api_hash
  @default_sender = default_sender
  @send_datetime = ''
  @iys = '1'
  @iys_list = 'BIREYSEL'
end

Instance Method Details



24
25
26
27
# File 'lib/iletimerkezi_sdk/services/sms_service.rb', line 24

def disable_iys_consent
  @iys = '0'
  self
end


19
20
21
22
# File 'lib/iletimerkezi_sdk/services/sms_service.rb', line 19

def enable_iys_consent
  @iys = '1'
  self
end

#schedule(send_datetime) ⇒ Object



14
15
16
17
# File 'lib/iletimerkezi_sdk/services/sms_service.rb', line 14

def schedule(send_datetime)
  @send_datetime = send_datetime
  self
end

#send(recipients, message, sender = nil) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/iletimerkezi_sdk/services/sms_service.rb', line 29

def send(recipients, message, sender = nil)
  payload = {
    request: {
      authentication: {
        key: @api_key,
        hash: @api_hash
      },
      order: {
        sender: sender || @default_sender,
        message: {
          text: message,
          receipents: {
            number: recipients
          }
        },
        iys: @iys,
        iyslist: @iys_list
      }
    }
  }
  
  payload[:request][:order][:send_datetime] = @send_datetime unless @send_datetime.empty?
  
  response = @http_client.post('send-sms/json', json: payload)
  IletimerkeziSdk::Responses::SmsResponse.new(response[:body], response[:status])
end