Class: LoopsSdk::Transactional
- Defined in:
- lib/loops_sdk/transactional.rb
Class Method Summary collapse
- .create(name:, transactional_group_id: nil) ⇒ Object
- .ensure_draft(transactional_id:) ⇒ Object
- .get(transactional_id:) ⇒ Object
- .list(perPage: 20, cursor: nil) ⇒ Object
- .publish(transactional_id:) ⇒ Object
- .send(transactional_id:, email:, add_to_audience: false, data_variables: {}, attachments: [], headers: {}) ⇒ Object
- .update(transactional_id:, name: nil, transactional_group_id: nil) ⇒ Object
Class Method Details
.create(name:, transactional_group_id: nil) ⇒ Object
10 11 12 13 |
# File 'lib/loops_sdk/transactional.rb', line 10 def create(name:, transactional_group_id: nil) body = { name: name, transactionalGroupId: transactional_group_id }.compact make_request(method: :post, path: "v1/transactional-emails", body: body) end |
.ensure_draft(transactional_id:) ⇒ Object
24 25 26 |
# File 'lib/loops_sdk/transactional.rb', line 24 def ensure_draft(transactional_id:) make_request(method: :post, path: "v1/transactional-emails/#{transactional_id}/draft") end |
.get(transactional_id:) ⇒ Object
15 16 17 |
# File 'lib/loops_sdk/transactional.rb', line 15 def get(transactional_id:) make_request(method: :get, path: "v1/transactional-emails/#{transactional_id}") end |
.list(perPage: 20, cursor: nil) ⇒ Object
6 7 8 |
# File 'lib/loops_sdk/transactional.rb', line 6 def list(perPage: 20, cursor: nil) make_request(method: :get, path: "v1/transactional-emails", params: { perPage: perPage, cursor: cursor }) end |
.publish(transactional_id:) ⇒ Object
28 29 30 |
# File 'lib/loops_sdk/transactional.rb', line 28 def publish(transactional_id:) make_request(method: :post, path: "v1/transactional-emails/#{transactional_id}/publish") end |
.send(transactional_id:, email:, add_to_audience: false, data_variables: {}, attachments: [], headers: {}) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/loops_sdk/transactional.rb', line 32 def send(transactional_id:, email:, add_to_audience: false, data_variables: {}, attachments: [], headers: {}) = .map do || .transform_keys { |key| key == :content_type ? :contentType : key } end email_data = { transactionalId: transactional_id, email: email, addToAudience: add_to_audience, dataVariables: data_variables, attachments: }.compact make_request(method: :post, path: "v1/transactional", headers: headers, body: email_data) end |
.update(transactional_id:, name: nil, transactional_group_id: nil) ⇒ Object
19 20 21 22 |
# File 'lib/loops_sdk/transactional.rb', line 19 def update(transactional_id:, name: nil, transactional_group_id: nil) body = { name: name, transactionalGroupId: transactional_group_id }.compact make_request(method: :post, path: "v1/transactional-emails/#{transactional_id}", body: body) end |