Class: Pinnacle::Client
- Inherits:
-
Object
- Object
- Pinnacle::Client
- Defined in:
- lib/rcs.rb
Instance Method Summary collapse
-
#check_rcs_capability(phone_number:, request_options: nil) ⇒ Pinnacle::CheckRcsCapabilityResponse
Checks if a phone number is able to receive RCS.
-
#get_account_number(request_options: nil) ⇒ Pinnacle::GetAccountNumberResponse
Retrieve the phone number associated with the account.
-
#get_company(company_id: nil, company_name: nil, request_options: nil) ⇒ Array<Pinnacle::Company>
Retrieve the company’s information (i.e. approval status, company name, etc.).
- #initialize(api_key:, base_url: nil, environment: Pinnacle::Environment::DEFAULT, max_retries: nil, timeout_in_seconds: nil) ⇒ Pinnacle::Client constructor
-
#register_company(company:, company_contact:, point_of_contact:, optionals: nil, request_options: nil) ⇒ Pinnacle::RegisterCompanyResponse
Register a company for RCS with the Pinnacle platform.
-
#send_message(request:, request_options: nil) ⇒ Pinnacle::SendMessageResponse
Send a SMS or RCS message to a phone number.
-
#update_company(company_id:, company: nil, company_contact: nil, point_of_contact: nil, optionals: nil, request_options: nil) ⇒ Pinnacle::UpdateCompanyResponse
Update a company on the Pinnacle platform.
-
#update_settings(webhook_url:, request_options: nil) ⇒ Pinnacle::UpdateSettingsResponse
Initializes settings related to RCS messaging, including webhook registration.
Constructor Details
#initialize(api_key:, base_url: nil, environment: Pinnacle::Environment::DEFAULT, max_retries: nil, timeout_in_seconds: nil) ⇒ Pinnacle::Client
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/rcs.rb', line 28 def initialize(api_key:, base_url: nil, environment: Pinnacle::Environment::DEFAULT, max_retries: nil, timeout_in_seconds: nil) @request_client = Pinnacle::RequestClient.new( base_url: base_url, environment: environment, max_retries: max_retries, timeout_in_seconds: timeout_in_seconds, api_key: api_key ) end |
Instance Method Details
#check_rcs_capability(phone_number:, request_options: nil) ⇒ Pinnacle::CheckRcsCapabilityResponse
Checks if a phone number is able to receive RCS
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/rcs.rb', line 52 def check_rcs_capability(phone_number:, request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["PINNACLE-API-Key"] = .api_key unless &.api_key.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.params = { **(&.additional_query_parameters || {}), "phone_number": phone_number }.compact unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/check_rcs" end Pinnacle::CheckRcsCapabilityResponse.from_json(json_object: response.body) end |
#get_account_number(request_options: nil) ⇒ Pinnacle::GetAccountNumberResponse
Retrieve the phone number associated with the account.
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/rcs.rb', line 111 def get_account_number(request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["PINNACLE-API-Key"] = .api_key unless &.api_key.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/get_account_number" end Pinnacle::GetAccountNumberResponse.from_json(json_object: response.body) end |
#get_company(company_id: nil, company_name: nil, request_options: nil) ⇒ Array<Pinnacle::Company>
Retrieve the company’s information (i.e. approval status, company name, etc.).
Search by company ID or company name.
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 |
# File 'lib/rcs.rb', line 175 def get_company(company_id: nil, company_name: nil, request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["PINNACLE-API-Key"] = .api_key unless &.api_key.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.params = { **(&.additional_query_parameters || {}), "companyId": company_id, "companyName": company_name }.compact unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/company" end parsed_json = JSON.parse(response.body) parsed_json&.map do |item| item = item.to_json Pinnacle::Company.from_json(json_object: item) end end |
#register_company(company:, company_contact:, point_of_contact:, optionals: nil, request_options: nil) ⇒ Pinnacle::RegisterCompanyResponse
Register a company for RCS with the Pinnacle platform
242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 |
# File 'lib/rcs.rb', line 242 def register_company(company:, company_contact:, point_of_contact:, optionals: nil, request_options: nil) response = @request_client.conn.post do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["PINNACLE-API-Key"] = .api_key unless &.api_key.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), company: company, companyContact: company_contact, pointOfContact: point_of_contact, optionals: optionals }.compact req.url "#{@request_client.get_url(request_options: )}/company/register" end Pinnacle::RegisterCompanyResponse.from_json(json_object: response.body) end |
#send_message(request:, request_options: nil) ⇒ Pinnacle::SendMessageResponse
Send a SMS or RCS message to a phone number
143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
# File 'lib/rcs.rb', line 143 def (request:, request_options: nil) response = @request_client.conn.post do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["PINNACLE-API-Key"] = .api_key unless &.api_key.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(request || {}), **(&.additional_body_parameters || {}) }.compact req.url "#{@request_client.get_url(request_options: )}/send" end Pinnacle::SendMessageResponse.from_json(json_object: response.body) end |
#update_company(company_id:, company: nil, company_contact: nil, point_of_contact: nil, optionals: nil, request_options: nil) ⇒ Pinnacle::UpdateCompanyResponse
Update a company on the Pinnacle platform
322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 |
# File 'lib/rcs.rb', line 322 def update_company(company_id:, company: nil, company_contact: nil, point_of_contact: nil, optionals: nil, request_options: nil) response = @request_client.conn.post do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["PINNACLE-API-Key"] = .api_key unless &.api_key.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), companyId: company_id, company: company, companyContact: company_contact, pointOfContact: point_of_contact, optionals: optionals }.compact req.url "#{@request_client.get_url(request_options: )}/company/update" end Pinnacle::UpdateCompanyResponse.from_json(json_object: response.body) end |
#update_settings(webhook_url:, request_options: nil) ⇒ Pinnacle::UpdateSettingsResponse
Initializes settings related to RCS messaging, including webhook registration.
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/rcs.rb', line 82 def update_settings(webhook_url:, request_options: nil) response = @request_client.conn.post do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["PINNACLE-API-Key"] = .api_key unless &.api_key.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), webhook_url: webhook_url }.compact req.url "#{@request_client.get_url(request_options: )}/update_settings" end Pinnacle::UpdateSettingsResponse.from_json(json_object: response.body) end |