Class: MessagebusTemplateClient

Inherits:
MessagebusSDK::MessagebusBase show all
Defined in:
lib/messagebus-sdk/template_client.rb

Constant Summary collapse

DEFAULT_TEMPLATE_ENDPOINT =
'https://templates.messagebus.com'

Constants inherited from MessagebusSDK::MessagebusBase

MessagebusSDK::MessagebusBase::DEFAULT, MessagebusSDK::MessagebusBase::DEFAULT_API_ENDPOINT, MessagebusSDK::MessagebusBase::HEADER_SESSION_KEY, MessagebusSDK::MessagebusBase::HTTP_DELETE, MessagebusSDK::MessagebusBase::HTTP_GET, MessagebusSDK::MessagebusBase::HTTP_POST, MessagebusSDK::MessagebusBase::HTTP_PUT, MessagebusSDK::MessagebusBase::MAX_TEMPLATE_MESSAGES, MessagebusSDK::MessagebusBase::SCOPE_ALL, MessagebusSDK::MessagebusBase::TRUE_VALUE

Instance Method Summary collapse

Methods inherited from MessagebusSDK::MessagebusBase

#api_version, #cacert_info, #format_iso_time

Constructor Details

#initialize(api_key, api_endpoint = DEFAULT_TEMPLATE_ENDPOINT) ⇒ MessagebusTemplateClient

Returns a new instance of MessagebusTemplateClient.



20
21
22
23
# 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

Instance Method Details

#create_template(params) ⇒ Object



29
30
31
32
33
# 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) ⇒ Object



35
36
37
38
# 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) ⇒ Object



40
41
42
43
44
45
46
47
48
# 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_versionObject



25
26
27
# File 'lib/messagebus-sdk/template_client.rb', line 25

def template_version
  make_api_request(@rest_endpoints[:template_version])
end

#templatesObject



50
51
52
53
# File 'lib/messagebus-sdk/template_client.rb', line 50

def templates
  path = "#{@rest_endpoints[:templates]}"
  make_api_request(path)
end