Class: Wavix::VoiceCampaigns::Client
- Inherits:
-
Object
- Object
- Wavix::VoiceCampaigns::Client
- Defined in:
- lib/wavix/voice_campaigns/client.rb
Instance Method Summary collapse
-
#create(request_options: {}, **params) ⇒ Wavix::Types::VoiceCampaignsCreateResponse
Launches a voice campaign that places an outbound call using a pre-configured scenario.
-
#get(request_options: {}, **params) ⇒ Wavix::Types::VoiceCampaignsGetResponse
Returns the voice campaign identified by
id, including its current status. - #initialize(client:) ⇒ void constructor
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/wavix/voice_campaigns/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#create(request_options: {}, **params) ⇒ Wavix::Types::VoiceCampaignsCreateResponse
Launches a voice campaign that places an outbound call using a pre-configured scenario. Track progress with the
returned voice campaign id.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/wavix/voice_campaigns/client.rb', line 25 def create(request_options: {}, **params) params = Wavix::Internal::Types::Utils.normalize_keys(params) request = Wavix::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "v1/voice-campaigns", body: Wavix::VoiceCampaigns::Types::CreateVoiceCampaignsRequest.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Wavix::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Wavix::Types::VoiceCampaignsCreateResponse.load(response.body) else error_class = Wavix::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#get(request_options: {}, **params) ⇒ Wavix::Types::VoiceCampaignsGetResponse
Returns the voice campaign identified by id, including its current status.
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/wavix/voice_campaigns/client.rb', line 60 def get(request_options: {}, **params) params = Wavix::Internal::Types::Utils.normalize_keys(params) request = Wavix::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v1/voice-campaigns/#{URI.encode_uri_component(params[:id].to_s)}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Wavix::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Wavix::Types::VoiceCampaignsGetResponse.load(response.body) else error_class = Wavix::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |