Class: Blueticks::Client
- Inherits:
-
Object
- Object
- Blueticks::Client
- Defined in:
- lib/blueticks/client.rb
Overview
Top-level entry point. Construct one and access resources via accessor methods:
client = Blueticks::Client.new(api_key: "bt_live_...")
client..create(type: "text", to: "12025550100", text: "Hello!")
Configuration order of precedence:
1. Explicit keyword args.
2. Environment variables: BLUETICKS_API_KEY, BLUETICKS_BASE_URL.
3. Defaults (base_url => https://api.blueticks.co).
Constant Summary collapse
- DEFAULT_BASE_URL =
"https://api.blueticks.co"
Instance Attribute Summary collapse
-
#transport ⇒ Object
readonly
Returns the value of attribute transport.
Instance Method Summary collapse
- #account ⇒ Object
- #audiences ⇒ Object
- #campaigns ⇒ Object
- #chats ⇒ Object
- #contacts ⇒ Object
- #engines ⇒ Object
- #groups ⇒ Object
-
#initialize(api_key: nil, base_url: nil, timeout: 30.0, max_retries: 3, user_agent: nil, http: nil) ⇒ Client
constructor
A new instance of Client.
- #messages ⇒ Object
- #newsletters ⇒ Object
- #ping ⇒ Object
-
#request(method, path, params: nil, body: nil, idempotency_key: nil) ⇒ Object
Issue a raw request.
- #scheduled_messages ⇒ Object
- #suno ⇒ Object
-
#utils ⇒ Object
Kept for backward compatibility.
- #webhooks ⇒ Object
Constructor Details
#initialize(api_key: nil, base_url: nil, timeout: 30.0, max_retries: 3, user_agent: nil, http: nil) ⇒ Client
Returns a new instance of Client.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/blueticks/client.rb', line 35 def initialize(api_key: nil, base_url: nil, timeout: 30.0, max_retries: 3, user_agent: nil, http: nil) api_key = resolve_api_key(api_key) base_url = resolve_base_url(base_url) @transport = Transport.new( api_key: api_key, base_url: base_url, timeout: timeout, max_retries: max_retries, user_agent: user_agent, http: http ) end |
Instance Attribute Details
#transport ⇒ Object (readonly)
Returns the value of attribute transport.
33 34 35 |
# File 'lib/blueticks/client.rb', line 33 def transport @transport end |
Instance Method Details
#account ⇒ Object
55 56 57 |
# File 'lib/blueticks/client.rb', line 55 def account @account ||= Resources::AccountResource.new(self) end |
#audiences ⇒ Object
75 76 77 |
# File 'lib/blueticks/client.rb', line 75 def audiences @audiences ||= Resources::AudiencesResource.new(self) end |
#campaigns ⇒ Object
79 80 81 |
# File 'lib/blueticks/client.rb', line 79 def campaigns @campaigns ||= Resources::CampaignsResource.new(self) end |
#chats ⇒ Object
71 72 73 |
# File 'lib/blueticks/client.rb', line 71 def chats @chats ||= Resources::ChatsResource.new(self) end |
#contacts ⇒ Object
91 92 93 |
# File 'lib/blueticks/client.rb', line 91 def contacts @contacts ||= Resources::ContactsResource.new(self) end |
#engines ⇒ Object
87 88 89 |
# File 'lib/blueticks/client.rb', line 87 def engines @engines ||= Resources::EnginesResource.new(self) end |
#groups ⇒ Object
83 84 85 |
# File 'lib/blueticks/client.rb', line 83 def groups @groups ||= Resources::GroupsResource.new(self) end |
#messages ⇒ Object
99 100 101 |
# File 'lib/blueticks/client.rb', line 99 def @messages ||= Resources::MessagesResource.new(self) end |
#newsletters ⇒ Object
95 96 97 |
# File 'lib/blueticks/client.rb', line 95 def @newsletters ||= Resources::NewslettersResource.new(self) end |
#ping ⇒ Object
59 60 61 |
# File 'lib/blueticks/client.rb', line 59 def ping @ping ||= Resources::PingResource.new(self) end |
#request(method, path, params: nil, body: nil, idempotency_key: nil) ⇒ Object
Issue a raw request. Used internally by resource classes.
51 52 53 |
# File 'lib/blueticks/client.rb', line 51 def request(method, path, params: nil, body: nil, idempotency_key: nil) @transport.request(method, path, params: params, body: body, idempotency_key: idempotency_key) end |
#scheduled_messages ⇒ Object
63 64 65 |
# File 'lib/blueticks/client.rb', line 63 def @scheduled_messages ||= Resources::ScheduledMessagesResource.new(self) end |
#suno ⇒ Object
103 104 105 |
# File 'lib/blueticks/client.rb', line 103 def suno @suno ||= Resources::SunoResource.new(self) end |
#utils ⇒ Object
Kept for backward compatibility. No spec-backed operations exposed.
108 109 110 |
# File 'lib/blueticks/client.rb', line 108 def utils @utils ||= Resources::UtilsResource.new(self) end |
#webhooks ⇒ Object
67 68 69 |
# File 'lib/blueticks/client.rb', line 67 def webhooks @webhooks ||= Resources::WebhooksResource.new(self) end |