Class: Wavix::TenDlc::CampaignNumbers::Client
- Inherits:
-
Object
- Object
- Wavix::TenDlc::CampaignNumbers::Client
- Defined in:
- lib/wavix/ten_dlc/campaign_numbers/client.rb
Instance Method Summary collapse
- #initialize(client:) ⇒ void constructor
-
#link(request_options: {}, **params) ⇒ Wavix::TenDlc::CampaignNumbers::Types::LinkCampaignNumbersResponse
Links a phone number to a 10DLC Campaign.
-
#list(request_options: {}, **params) ⇒ Wavix::TenDlc::CampaignNumbers::Types::ListCampaignNumbersResponse
Returns the phone numbers linked to the 10DLC Campaign identified by
campaign_id. -
#unlink(request_options: {}, **params) ⇒ Wavix::TenDlc::CampaignNumbers::Types::UnlinkCampaignNumbersResponse
Unlinks a phone number from a 10DLC Campaign.
Constructor Details
#initialize(client:) ⇒ void
10 11 12 |
# File 'lib/wavix/ten_dlc/campaign_numbers/client.rb', line 10 def initialize(client:) @client = client end |
Instance Method Details
#link(request_options: {}, **params) ⇒ Wavix::TenDlc::CampaignNumbers::Types::LinkCampaignNumbersResponse
Links a phone number to a 10DLC Campaign. Wavix automatically creates a Sender ID once the number is approved.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/wavix/ten_dlc/campaign_numbers/client.rb', line 28 def link(request_options: {}, **params) params = Wavix::Internal::Types::Utils.normalize_keys(params) request = Wavix::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "v3/10dlc/brands/#{URI.encode_uri_component(params[:brand_id].to_s)}/campaigns/#{URI.encode_uri_component(params[:campaign_id].to_s)}/numbers/#{URI.encode_uri_component(params[:number].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::TenDlc::CampaignNumbers::Types::LinkCampaignNumbersResponse.load(response.body) else error_class = Wavix::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#list(request_options: {}, **params) ⇒ Wavix::TenDlc::CampaignNumbers::Types::ListCampaignNumbersResponse
Returns the phone numbers linked to the 10DLC Campaign identified by campaign_id.
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/wavix/ten_dlc/campaign_numbers/client.rb', line 99 def list(request_options: {}, **params) params = Wavix::Internal::Types::Utils.normalize_keys(params) request = Wavix::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v3/10dlc/brands/#{URI.encode_uri_component(params[:brand_id].to_s)}/campaigns/#{URI.encode_uri_component(params[:campaign_id].to_s)}/numbers", 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::TenDlc::CampaignNumbers::Types::ListCampaignNumbersResponse.load(response.body) else error_class = Wavix::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#unlink(request_options: {}, **params) ⇒ Wavix::TenDlc::CampaignNumbers::Types::UnlinkCampaignNumbersResponse
Unlinks a phone number from a 10DLC Campaign. The associated Sender ID is also deleted.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/wavix/ten_dlc/campaign_numbers/client.rb', line 64 def unlink(request_options: {}, **params) params = Wavix::Internal::Types::Utils.normalize_keys(params) request = Wavix::Internal::JSON::Request.new( base_url: [:base_url], method: "DELETE", path: "v3/10dlc/brands/#{URI.encode_uri_component(params[:brand_id].to_s)}/campaigns/#{URI.encode_uri_component(params[:campaign_id].to_s)}/numbers/#{URI.encode_uri_component(params[:number].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::TenDlc::CampaignNumbers::Types::UnlinkCampaignNumbersResponse.load(response.body) else error_class = Wavix::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |