Class: Zavudev::Resources::Number10dlc::Campaigns
- Inherits:
-
Object
- Object
- Zavudev::Resources::Number10dlc::Campaigns
- Defined in:
- lib/zavudev/resources/number_10dlc/campaigns.rb,
lib/zavudev/resources/number_10dlc/campaigns/phone_numbers.rb,
sig/zavudev/resources/number_10dlc/campaigns.rbs,
sig/zavudev/resources/number_10dlc/campaigns/phone_numbers.rbs
Defined Under Namespace
Classes: PhoneNumbers
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#create(affiliate_marketing:, age_gated:, brand_id:, description:, direct_lending:, embedded_link:, embedded_phone:, name:, number_pooling:, sample_messages:, subscriber_help:, subscriber_opt_in:, subscriber_opt_out:, use_case:, help_message: nil, message_flow: nil, opt_in_keywords: nil, opt_out_keywords: nil, sub_use_cases: nil, request_options: {}) ⇒ Zavudev::Models::Number10dlc::CampaignCreateResponse
Create a 10DLC campaign under an existing brand.
-
#delete(campaign_id, request_options: {}) ⇒ nil
Delete 10DLC campaign.
-
#initialize(client:) ⇒ Campaigns
constructor
private
A new instance of Campaigns.
-
#list(brand_id: nil, cursor: nil, limit: nil, request_options: {}) ⇒ Zavudev::Internal::Cursor<Zavudev::Models::Number10dlc::TenDlcCampaign>
List 10DLC campaign registrations for this project.
-
#retrieve(campaign_id, request_options: {}) ⇒ Zavudev::Models::Number10dlc::CampaignRetrieveResponse
Get 10DLC campaign.
-
#submit(campaign_id, request_options: {}) ⇒ Zavudev::Models::Number10dlc::CampaignSubmitResponse
The team must have an approved Business Verification (KYB): submitting without one returns
403with codekyb_required. -
#sync_status(campaign_id, request_options: {}) ⇒ Zavudev::Models::Number10dlc::CampaignSyncStatusResponse
Sync the campaign status with the registration provider.
-
#update(campaign_id, description: nil, help_message: nil, message_flow: nil, name: nil, opt_in_keywords: nil, opt_out_keywords: nil, sample_messages: nil, request_options: {}) ⇒ Zavudev::Models::Number10dlc::CampaignUpdateResponse
Update a 10DLC campaign in draft status.
Constructor Details
#initialize(client:) ⇒ Campaigns
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Campaigns.
224 225 226 227 |
# File 'lib/zavudev/resources/number_10dlc/campaigns.rb', line 224 def initialize(client:) @client = client @phone_numbers = Zavudev::Resources::Number10dlc::Campaigns::PhoneNumbers.new(client: client) end |
Instance Attribute Details
#phone_numbers ⇒ Zavudev::Resources::Number10dlc::Campaigns::PhoneNumbers (readonly)
8 9 10 |
# File 'lib/zavudev/resources/number_10dlc/campaigns.rb', line 8 def phone_numbers @phone_numbers end |
Instance Method Details
#create(affiliate_marketing:, age_gated:, brand_id:, description:, direct_lending:, embedded_link:, embedded_phone:, name:, number_pooling:, sample_messages:, subscriber_help:, subscriber_opt_in:, subscriber_opt_out:, use_case:, help_message: nil, message_flow: nil, opt_in_keywords: nil, opt_out_keywords: nil, sub_use_cases: nil, request_options: {}) ⇒ Zavudev::Models::Number10dlc::CampaignCreateResponse
Create a 10DLC campaign under an existing brand. The campaign starts in draft status. Submit it for carrier review using the submit endpoint.
58 59 60 61 62 63 64 65 66 67 |
# File 'lib/zavudev/resources/number_10dlc/campaigns.rb', line 58 def create(params) parsed, = Zavudev::Number10dlc::CampaignCreateParams.dump_request(params) @client.request( method: :post, path: "v1/10dlc/campaigns", body: parsed, model: Zavudev::Models::Number10dlc::CampaignCreateResponse, options: ) end |
#delete(campaign_id, request_options: {}) ⇒ nil
Delete 10DLC campaign
164 165 166 167 168 169 170 171 |
# File 'lib/zavudev/resources/number_10dlc/campaigns.rb', line 164 def delete(campaign_id, params = {}) @client.request( method: :delete, path: ["v1/10dlc/campaigns/%1$s", campaign_id], model: NilClass, options: params[:request_options] ) end |
#list(brand_id: nil, cursor: nil, limit: nil, request_options: {}) ⇒ Zavudev::Internal::Cursor<Zavudev::Models::Number10dlc::TenDlcCampaign>
List 10DLC campaign registrations for this project.
140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/zavudev/resources/number_10dlc/campaigns.rb', line 140 def list(params = {}) parsed, = Zavudev::Number10dlc::CampaignListParams.dump_request(params) query = Zavudev::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: "v1/10dlc/campaigns", query: query.transform_keys(brand_id: "brandId"), page: Zavudev::Internal::Cursor, model: Zavudev::Number10dlc::TenDlcCampaign, options: ) end |
#retrieve(campaign_id, request_options: {}) ⇒ Zavudev::Models::Number10dlc::CampaignRetrieveResponse
Get 10DLC campaign
80 81 82 83 84 85 86 87 |
# File 'lib/zavudev/resources/number_10dlc/campaigns.rb', line 80 def retrieve(campaign_id, params = {}) @client.request( method: :get, path: ["v1/10dlc/campaigns/%1$s", campaign_id], model: Zavudev::Models::Number10dlc::CampaignRetrieveResponse, options: params[:request_options] ) end |
#submit(campaign_id, request_options: {}) ⇒ Zavudev::Models::Number10dlc::CampaignSubmitResponse
The team must have an approved Business Verification (KYB): submitting without
one returns 403 with code kyb_required. Submit a draft campaign for carrier
review. The campaign must be in draft status and its brand must be verified.
TCR's one-time registration fee is charged from your balance at submission ($15
for standard use cases, $2 for LOW_VOLUME), passed through at cost and refunded
if the carrier rejects it. Once approved, the campaign's monthly TCR fee ($10
standard, $2 LOW_VOLUME) is charged from your balance while the campaign is
active — see registrationCostCents and monthlyFeeCents on the campaign object.
191 192 193 194 195 196 197 198 |
# File 'lib/zavudev/resources/number_10dlc/campaigns.rb', line 191 def submit(campaign_id, params = {}) @client.request( method: :post, path: ["v1/10dlc/campaigns/%1$s/submit", campaign_id], model: Zavudev::Models::Number10dlc::CampaignSubmitResponse, options: params[:request_options] ) end |
#sync_status(campaign_id, request_options: {}) ⇒ Zavudev::Models::Number10dlc::CampaignSyncStatusResponse
Sync the campaign status with the registration provider. Use this to check for approval updates after submission.
212 213 214 215 216 217 218 219 |
# File 'lib/zavudev/resources/number_10dlc/campaigns.rb', line 212 def sync_status(campaign_id, params = {}) @client.request( method: :post, path: ["v1/10dlc/campaigns/%1$s/sync", campaign_id], model: Zavudev::Models::Number10dlc::CampaignSyncStatusResponse, options: params[:request_options] ) end |
#update(campaign_id, description: nil, help_message: nil, message_flow: nil, name: nil, opt_in_keywords: nil, opt_out_keywords: nil, sample_messages: nil, request_options: {}) ⇒ Zavudev::Models::Number10dlc::CampaignUpdateResponse
Update a 10DLC campaign in draft status. Cannot update after submission.
114 115 116 117 118 119 120 121 122 123 |
# File 'lib/zavudev/resources/number_10dlc/campaigns.rb', line 114 def update(campaign_id, params = {}) parsed, = Zavudev::Number10dlc::CampaignUpdateParams.dump_request(params) @client.request( method: :patch, path: ["v1/10dlc/campaigns/%1$s", campaign_id], body: parsed, model: Zavudev::Models::Number10dlc::CampaignUpdateResponse, options: ) end |