Class: SimpleConnect::MessagesClient
- Inherits:
-
Object
- Object
- SimpleConnect::MessagesClient
- Defined in:
- lib/simple_connect/messages_client.rb
Overview
Entry point for the account Message API. Assembles the Bearer-auth transport once, then exposes a single resource object:
MSG = SimpleConnect::MessagesClient.new(base_url:, api_key:)
MSG.messages.deliver(template_name:, recipients:, ...)
Distinct from SimpleConnect::Client (which signs Events over HMAC): a caller holding only an account api_key — with no integration — uses this. See docs/adr/0001-messages-use-separate-bearer-client.md.
Constant Summary collapse
- DEFAULT_TIMEOUT =
10
Instance Attribute Summary collapse
-
#messages ⇒ Object
readonly
Returns the value of attribute messages.
Instance Method Summary collapse
-
#initialize(base_url:, api_key:, timeout: DEFAULT_TIMEOUT, logger: nil, max_attempts: nil, retryable: nil, user_agent: nil) ⇒ MessagesClient
constructor
A new instance of MessagesClient.
Constructor Details
#initialize(base_url:, api_key:, timeout: DEFAULT_TIMEOUT, logger: nil, max_attempts: nil, retryable: nil, user_agent: nil) ⇒ MessagesClient
Returns a new instance of MessagesClient.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/simple_connect/messages_client.rb', line 31 def initialize(base_url:, api_key:, timeout: DEFAULT_TIMEOUT, logger: nil, max_attempts: nil, retryable: nil, user_agent: nil) raise ConfigurationError, "base_url is required" if base_url.to_s.strip.empty? raise ConfigurationError, "api_key is required" if api_key.to_s.strip.empty? if max_attempts && retryable raise ConfigurationError, "pass either `max_attempts:` or `retryable:`, not both" end base_uri = URI.parse(base_url) request = Request.new( headers: BearerHeaders.new(api_key: api_key, user_agent: user_agent), timeout: timeout, logger: logger, retryable: retryable || Retryable.new(max_attempts: max_attempts || Retryable::DEFAULT_MAX_ATTEMPTS) ) @messages = Api::Messages.new(request: request, base_uri: base_uri) end |
Instance Attribute Details
#messages ⇒ Object (readonly)
Returns the value of attribute messages.
16 17 18 |
# File 'lib/simple_connect/messages_client.rb', line 16 def @messages end |