Class: Pinnacle::Campaigns::Rcs::Client
- Inherits:
-
Object
- Object
- Pinnacle::Campaigns::Rcs::Client
- Defined in:
- lib/pinnacle/campaigns/rcs/client.rb
Instance Method Summary collapse
-
#autofill(request_options: {}, **params) ⇒ Pinnacle::Campaigns::Rcs::Types::RcsAutofillResponse
Generate campaign details based off existing campaign and the brand it’s connected to.
-
#get(request_options: {}, **params) ⇒ Pinnacle::Types::ExtendedRcsCampaign
Retrieve RCS campaign.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Pinnacle::Types::ListRcsCampaignsResponse
List all RCS campaigns with optional filtering and pagination.
-
#submit(request_options: {}, **params) ⇒ Pinnacle::Types::CampaignSubmissionResult
Submit your RCS campaign for approval and activation with carriers.
-
#upsert(request_options: {}, **params) ⇒ Pinnacle::Types::ExtendedRcsCampaign
Create a new RCS campaign or update an existing one.
-
#validate(request_options: {}, **params) ⇒ Pinnacle::Types::CampaignValidationResult
Validate your RCS campaign configuration against carrier requirements and compliance rules.
Constructor Details
#initialize(client:) ⇒ void
10 11 12 |
# File 'lib/pinnacle/campaigns/rcs/client.rb', line 10 def initialize(client:) @client = client end |
Instance Method Details
#autofill(request_options: {}, **params) ⇒ Pinnacle::Campaigns::Rcs::Types::RcsAutofillResponse
Generate campaign details based off existing campaign and the brand it’s connected to.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/pinnacle/campaigns/rcs/client.rb', line 25 def autofill(request_options: {}, **params) params = Pinnacle::Internal::Types::Utils.normalize_keys(params) request = Pinnacle::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "campaigns/rcs/autofill", body: Pinnacle::Types::AutofillCampaignParams.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Pinnacle::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Pinnacle::Campaigns::Rcs::Types::RcsAutofillResponse.load(response.body) else error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#get(request_options: {}, **params) ⇒ Pinnacle::Types::ExtendedRcsCampaign
Retrieve RCS campaign.
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/pinnacle/campaigns/rcs/client.rb', line 60 def get(request_options: {}, **params) params = Pinnacle::Internal::Types::Utils.normalize_keys(params) request = Pinnacle::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "campaigns/rcs/#{params[:campaign_id]}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Pinnacle::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Pinnacle::Types::ExtendedRcsCampaign.load(response.body) else error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#list(request_options: {}, **params) ⇒ Pinnacle::Types::ListRcsCampaignsResponse
List all RCS campaigns with optional filtering and pagination. Results are sorted by creation date, newest first.
206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 |
# File 'lib/pinnacle/campaigns/rcs/client.rb', line 206 def list(request_options: {}, **params) params = Pinnacle::Internal::Types::Utils.normalize_keys(params) request = Pinnacle::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "campaigns/rcs/list", body: Pinnacle::Campaigns::Rcs::Types::ListRcsCampaignsParams.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Pinnacle::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Pinnacle::Types::ListRcsCampaignsResponse.load(response.body) else error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#submit(request_options: {}, **params) ⇒ Pinnacle::Types::CampaignSubmissionResult
Submit your RCS campaign for approval and activation with carriers.
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/pinnacle/campaigns/rcs/client.rb', line 94 def submit(request_options: {}, **params) params = Pinnacle::Internal::Types::Utils.normalize_keys(params) request = Pinnacle::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "campaigns/rcs/submit/#{params[:campaign_id]}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Pinnacle::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Pinnacle::Types::CampaignSubmissionResult.load(response.body) else error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#upsert(request_options: {}, **params) ⇒ Pinnacle::Types::ExtendedRcsCampaign
Create a new RCS campaign or update an existing one.
<Note> **To create a new campaign:** Omit ‘campaignId` — one will be generated automatically.
**Before you start:** Create a [brand](/api-reference/brands/upsert) first — you’ll need its ‘id` for the [`brand`](#request.body.brand) field.
All fields are required unless specified otherwise, and will be validated when [submitted](/api-reference/campaigns/rcs/submit). </Note>
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/pinnacle/campaigns/rcs/client.rb', line 137 def upsert(request_options: {}, **params) params = Pinnacle::Internal::Types::Utils.normalize_keys(params) request = Pinnacle::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "campaigns/rcs", body: Pinnacle::Campaigns::Rcs::Types::UpsertRcsCampaignParams.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Pinnacle::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Pinnacle::Types::ExtendedRcsCampaign.load(response.body) else error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#validate(request_options: {}, **params) ⇒ Pinnacle::Types::CampaignValidationResult
Validate your RCS campaign configuration against carrier requirements and compliance rules.
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
# File 'lib/pinnacle/campaigns/rcs/client.rb', line 171 def validate(request_options: {}, **params) params = Pinnacle::Internal::Types::Utils.normalize_keys(params) request = Pinnacle::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "campaigns/rcs/validate", body: Pinnacle::Types::ValidateCampaignParams.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Pinnacle::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Pinnacle::Types::CampaignValidationResult.load(response.body) else error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |