Class: Wavix::SmsAndMms::OptOuts::Client
- Inherits:
-
Object
- Object
- Wavix::SmsAndMms::OptOuts::Client
- Defined in:
- lib/wavix/sms_and_mms/opt_outs/client.rb
Instance Method Summary collapse
-
#create(request_options: {}, **params) ⇒ Wavix::SmsAndMms::OptOuts::Types::CreateOptOutsResponse
Opts a phone number out of receiving messages from a Sender ID, a 10DLC campaign, or all outbound messages.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Wavix::Types::OptOutsListResponse
Returns a paginated list of phone numbers that have opted out of receiving messages from the authenticated account.
Constructor Details
#initialize(client:) ⇒ void
10 11 12 |
# File 'lib/wavix/sms_and_mms/opt_outs/client.rb', line 10 def initialize(client:) @client = client end |
Instance Method Details
#create(request_options: {}, **params) ⇒ Wavix::SmsAndMms::OptOuts::Types::CreateOptOutsResponse
Opts a phone number out of receiving messages from a Sender ID, a 10DLC campaign, or all outbound messages.
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/wavix/sms_and_mms/opt_outs/client.rb', line 74 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: "v3/messages/opt-outs", body: Wavix::SmsAndMms::OptOuts::Types::OptOutCreateRequest.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::SmsAndMms::OptOuts::Types::CreateOptOutsResponse.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::Types::OptOutsListResponse
Returns a paginated list of phone numbers that have opted out of receiving messages from the authenticated account.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/wavix/sms_and_mms/opt_outs/client.rb', line 32 def list(request_options: {}, **params) params = Wavix::Internal::Types::Utils.normalize_keys(params) query_params = {} query_params["sender_id"] = params[:sender_id] if params.key?(:sender_id) query_params["campaign_id"] = params[:campaign_id] if params.key?(:campaign_id) query_params["created_after"] = params[:created_after] if params.key?(:created_after) query_params["created_before"] = params[:created_before] if params.key?(:created_before) query_params["page"] = params[:page] if params.key?(:page) query_params["per_page"] = params[:per_page] if params.key?(:per_page) request = Wavix::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v3/messages/opt-outs", query: query_params, 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::OptOutsListResponse.load(response.body) else error_class = Wavix::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |