class MessagebusTemplateClient

Constants

DEFAULT_TEMPLATE_ENDPOINT

Public Class Methods

new(api_key, api_endpoint = DEFAULT_TEMPLATE_ENDPOINT) click to toggle source
Calls superclass method MessagebusSDK::MessagebusBase::new
# File lib/messagebus-sdk/template_client.rb, line 20
def initialize(api_key, api_endpoint = DEFAULT_TEMPLATE_ENDPOINT)
  super(api_key, api_endpoint)
  @rest_endpoints = define_rest_endpoints
end

Public Instance Methods

create_template(params) click to toggle source
# File lib/messagebus-sdk/template_client.rb, line 29
def create_template(params)
  path = @rest_endpoints[:templates]
  template_params = base_template_params.merge!(params)
  make_api_request(path, HTTP_POST, template_params.to_json)
end
get_template(template_key) click to toggle source
# File lib/messagebus-sdk/template_client.rb, line 35
def get_template(template_key)
  path = replace_token_with_key(@rest_endpoints[:template], "%TEMPLATE_KEY%", template_key)
  make_api_request(path)
end
send_messages(template_key, params) click to toggle source
# File lib/messagebus-sdk/template_client.rb, line 40
def send_messages(template_key, params)
  if params.length > MessagebusSDK::MessagebusBase::MAX_TEMPLATE_MESSAGES
    raise MessagebusSDK::TemplateError.new("Max number of template messages per send exceeded #{MessagebusSDK::MessagebusBase::MAX_TEMPLATE_MESSAGES}")
  end

  path = @rest_endpoints[:templates_send]
  json = {:templateKey => template_key, :messages => params}.to_json
  make_api_request(path, HTTP_POST, json)
end
template_version() click to toggle source
# File lib/messagebus-sdk/template_client.rb, line 25
def template_version
  make_api_request(@rest_endpoints[:template_version])
end
templates() click to toggle source
# File lib/messagebus-sdk/template_client.rb, line 50
def templates
  path = "#{@rest_endpoints[:templates]}"
  make_api_request(path)
end

Private Instance Methods

base_template_params() click to toggle source
# File lib/messagebus-sdk/template_client.rb, line 65
def base_template_params
  {:toEmail => '',
   :fromEmail => '',
   :subject => '',
   :toName => '',
   :fromName => '',
   :returnPath => '',
   :plaintextBody => '',
   :htmlBody => '',
   :sessionKey => DEFAULT,
   :options => {},
   :customHeaders => {} }
end
define_rest_endpoints() click to toggle source
# File lib/messagebus-sdk/template_client.rb, line 56
def define_rest_endpoints
  {
    :template_version => "/v5/templates/version",
    :template => "/v5/template/%TEMPLATE_KEY%",
    :templates => "/v5/templates",
    :templates_send => "/v5/templates/send"
  }
end