Class: LoopsEmail::Sdk::TransactionalEmail

Inherits:
Object
  • Object
show all
Defined in:
lib/loops_email/sdk/transactional_email.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(receiver:, transaction_id:, variables: {}) ⇒ TransactionalEmail

Returns a new instance of TransactionalEmail.



8
9
10
11
12
# File 'lib/loops_email/sdk/transactional_email.rb', line 8

def initialize(receiver:, transaction_id:, variables: {})
  @receiver = receiver
  @transaction_id = transaction_id
  @variables = variables
end

Instance Attribute Details

#receiverObject

Returns the value of attribute receiver.



3
4
5
# File 'lib/loops_email/sdk/transactional_email.rb', line 3

def receiver
  @receiver
end

#transaction_idObject

Returns the value of attribute transaction_id.



3
4
5
# File 'lib/loops_email/sdk/transactional_email.rb', line 3

def transaction_id
  @transaction_id
end

#variablesObject

Returns the value of attribute variables.



3
4
5
# File 'lib/loops_email/sdk/transactional_email.rb', line 3

def variables
  @variables
end

Instance Method Details

#callObject



14
15
16
# File 'lib/loops_email/sdk/transactional_email.rb', line 14

def call
  LoopsEmail::Client.new.post("/api/v1/transactional", body: payload)
end

#payloadObject



18
19
20
21
22
23
24
# File 'lib/loops_email/sdk/transactional_email.rb', line 18

def payload
  {
    transactionalId: transaction_id,
    email: receiver,
    dataVariables: variables
  }
end