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