Class: Pinnacle::Campaigns::Dlc::Client
- Inherits:
-
Object
- Object
- Pinnacle::Campaigns::Dlc::Client
- Defined in:
- lib/pinnacle/campaigns/dlc/client.rb
Instance Method Summary collapse
-
#autofill(request_options: {}, **params) ⇒ Pinnacle::Types::AutofillDlcCampaignResponse
Generate campaign details based off existing campaign and the brand it’s connected to.
-
#get(request_options: {}, **params) ⇒ Pinnacle::Types::DlcCampaignWithExtendedBrandAndStatus
Retrieve 10DLC campaign.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Pinnacle::Types::ListDlcCampaignsResponse
List all 10DLC campaigns with optional filtering and pagination.
-
#submit(request_options: {}, **params) ⇒ Pinnacle::Types::CampaignSubmissionResult
Submit your 10DLC campaign for approval and activation with carriers.
-
#upsert(request_options: {}, **params) ⇒ Pinnacle::Types::DlcCampaignWithExtendedBrandAndStatus
Create a new 10DLC campaign or update an existing one.
-
#validate(request_options: {}, **params) ⇒ Pinnacle::Types::CampaignValidationResult
Validate your 10DLC campaign configuration against carrier requirements and compliance rules.
Constructor Details
#initialize(client:) ⇒ void
10 11 12 |
# File 'lib/pinnacle/campaigns/dlc/client.rb', line 10 def initialize(client:) @client = client end |
Instance Method Details
#autofill(request_options: {}, **params) ⇒ Pinnacle::Types::AutofillDlcCampaignResponse
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/dlc/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/dlc/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::Types::AutofillDlcCampaignResponse.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::DlcCampaignWithExtendedBrandAndStatus
Retrieve 10DLC 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/dlc/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/dlc/#{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::DlcCampaignWithExtendedBrandAndStatus.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::ListDlcCampaignsResponse
List all 10DLC campaigns with optional filtering and pagination. Results are sorted by creation date, newest first.
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 |
# File 'lib/pinnacle/campaigns/dlc/client.rb', line 208 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/dlc/list", body: Pinnacle::Campaigns::Dlc::Types::ListDlcCampaignsParams.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::ListDlcCampaignsResponse.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 10DLC 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/dlc/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/dlc/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::DlcCampaignWithExtendedBrandAndStatus
Create a new 10DLC 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/10-dlc/submit).
**See the response for example values for each field.** </Note>
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
# File 'lib/pinnacle/campaigns/dlc/client.rb', line 139 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/dlc", body: Pinnacle::Campaigns::Dlc::Types::UpsertDlcCampaignParams.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::DlcCampaignWithExtendedBrandAndStatus.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 10DLC campaign configuration against carrier requirements and compliance rules.
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
# File 'lib/pinnacle/campaigns/dlc/client.rb', line 173 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/dlc/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 |