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
Submit a draft campaign for carrier review.
-
#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.
223 224 225 226 |
# File 'lib/zavudev/resources/number_10dlc/campaigns.rb', line 223 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
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.
190 191 192 193 194 195 196 197 |
# File 'lib/zavudev/resources/number_10dlc/campaigns.rb', line 190 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.
211 212 213 214 215 216 217 218 |
# File 'lib/zavudev/resources/number_10dlc/campaigns.rb', line 211 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 |