Class: Revox::Resources::Campaigns
- Inherits:
-
Object
- Object
- Revox::Resources::Campaigns
- Defined in:
- lib/revox/resources/campaigns.rb,
sig/revox/resources/campaigns.rbs
Instance Method Summary collapse
-
#cancel(id, request_options: {}) ⇒ Revox::Models::CampaignCancelResponse
Cancel a running or scheduled campaign.
-
#create(assistant_id:, contacts:, launch:, name:, type:, call_retry_config: nil, from_phone_number: nil, max_concurrent_calls: nil, scheduled_at: nil, request_options: {}) ⇒ Revox::Models::CampaignCreateResponse
Some parameter documentations has been truncated, see Models::CampaignCreateParams for more details.
-
#delete(id, request_options: {}) ⇒ Revox::Models::CampaignDeleteResponse
Permanently delete a campaign and all its associated rows.
-
#export_rows(id, request_options: {}) ⇒ Revox::Models::CampaignExportRowsResponse
Export all rows of a campaign as a CSV file for offline analysis or reporting.
-
#get_rows(id, request_options: {}) ⇒ Revox::Models::CampaignGetRowsResponse
Retrieve all contact rows for a campaign.
-
#initialize(client:) ⇒ Campaigns
constructor
private
A new instance of Campaigns.
-
#launch(id, request_options: {}) ⇒ Revox::Models::CampaignLaunchResponse
Launch a previously saved draft campaign.
-
#list(request_options: {}) ⇒ Revox::Models::CampaignListResponse
Retrieve all campaigns for your organization, including both active and completed ones.
-
#pause(id, request_options: {}) ⇒ Revox::Models::CampaignPauseResponse
Pause a running campaign so no further calls are placed.
-
#resume(id, request_options: {}) ⇒ Revox::Models::CampaignResumeResponse
Resume a paused campaign.
-
#retrieve(id, request_options: {}) ⇒ Revox::Models::CampaignRetrieveResponse
Retrieve the full details of a single campaign by its unique ID.
-
#statistics(id, request_options: {}) ⇒ Revox::Models::CampaignStatisticsResponse
Retrieve the "Statistiques" report for a campaign: the four-tile cascade funnel (appelés → eus en ligne → réels échanges → leads chauds), two secondary tiles, the distribution of exchanges by outcome, the list of hot leads, and data-extraction coverage.
-
#update(id, assistant_id: nil, call_retry_config: nil, contacts: nil, from_phone_number: nil, max_concurrent_calls: nil, name: nil, scheduled_at: nil, type: nil, request_options: {}) ⇒ Revox::Models::CampaignUpdateResponse
Some parameter documentations has been truncated, see Models::CampaignUpdateParams for more details.
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.
302 303 304 |
# File 'lib/revox/resources/campaigns.rb', line 302 def initialize(client:) @client = client end |
Instance Method Details
#cancel(id, request_options: {}) ⇒ Revox::Models::CampaignCancelResponse
Cancel a running or scheduled campaign. Pending and queued calls will be aborted, while in-progress calls will be allowed to finish. Unlike deletion, the campaign and its rows are preserved for historical reference.
163 164 165 166 167 168 169 170 |
# File 'lib/revox/resources/campaigns.rb', line 163 def cancel(id, params = {}) @client.request( method: :post, path: ["campaigns/%1$s/cancel", id], model: Revox::Models::CampaignCancelResponse, options: params[:request_options] ) end |
#create(assistant_id:, contacts:, launch:, name:, type:, call_retry_config: nil, from_phone_number: nil, max_concurrent_calls: nil, scheduled_at: nil, request_options: {}) ⇒ Revox::Models::CampaignCreateResponse
Some parameter documentations has been truncated, see Models::CampaignCreateParams for more details.
Create a new outbound calling campaign. By default the campaign launches immediately. Set launch to false to save as a draft for later review.
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/revox/resources/campaigns.rb', line 37 def create(params) parsed, = Revox::CampaignCreateParams.dump_request(params) @client.request( method: :post, path: "campaigns", body: parsed, model: Revox::Models::CampaignCreateResponse, options: ) end |
#delete(id, request_options: {}) ⇒ Revox::Models::CampaignDeleteResponse
Permanently delete a campaign and all its associated rows. This action is irreversible. In-progress calls will not be affected, but no new calls will be placed.
142 143 144 145 146 147 148 149 |
# File 'lib/revox/resources/campaigns.rb', line 142 def delete(id, params = {}) @client.request( method: :delete, path: ["campaigns/%1$s", id], model: Revox::Models::CampaignDeleteResponse, options: params[:request_options] ) end |
#export_rows(id, request_options: {}) ⇒ Revox::Models::CampaignExportRowsResponse
Export all rows of a campaign as a CSV file for offline analysis or reporting.
182 183 184 185 186 187 188 189 |
# File 'lib/revox/resources/campaigns.rb', line 182 def export_rows(id, params = {}) @client.request( method: :get, path: ["campaigns/%1$s/export", id], model: Revox::Models::CampaignExportRowsResponse, options: params[:request_options] ) end |
#get_rows(id, request_options: {}) ⇒ Revox::Models::CampaignGetRowsResponse
Retrieve all contact rows for a campaign. Useful for loading draft campaign data for editing.
202 203 204 205 206 207 208 209 |
# File 'lib/revox/resources/campaigns.rb', line 202 def get_rows(id, params = {}) @client.request( method: :get, path: ["campaigns/%1$s/rows", id], model: Revox::Models::CampaignGetRowsResponse, options: params[:request_options] ) end |
#launch(id, request_options: {}) ⇒ Revox::Models::CampaignLaunchResponse
Launch a previously saved draft campaign. This starts all calls immediately (or queues them if scheduled_at is set). The campaign must be in draft status.
222 223 224 225 226 227 228 229 |
# File 'lib/revox/resources/campaigns.rb', line 222 def launch(id, params = {}) @client.request( method: :post, path: ["campaigns/%1$s/launch", id], model: Revox::Models::CampaignLaunchResponse, options: params[:request_options] ) end |
#list(request_options: {}) ⇒ Revox::Models::CampaignListResponse
Retrieve all campaigns for your organization, including both active and completed ones.
121 122 123 124 125 126 127 128 |
# File 'lib/revox/resources/campaigns.rb', line 121 def list(params = {}) @client.request( method: :get, path: "campaigns", model: Revox::Models::CampaignListResponse, options: params[:request_options] ) end |
#pause(id, request_options: {}) ⇒ Revox::Models::CampaignPauseResponse
Pause a running campaign so no further calls are placed. In-progress calls are allowed to finish; pending and scheduled calls are held until the campaign is resumed. Scheduled retry timers keep counting down, so a call resumed before its time fires on schedule, while one resumed after its time fires at the next available calling window.
245 246 247 248 249 250 251 252 |
# File 'lib/revox/resources/campaigns.rb', line 245 def pause(id, params = {}) @client.request( method: :post, path: ["campaigns/%1$s/pause", id], model: Revox::Models::CampaignPauseResponse, options: params[:request_options] ) end |
#resume(id, request_options: {}) ⇒ Revox::Models::CampaignResumeResponse
Resume a paused campaign. Held calls continue from where they left off; calls whose scheduled time passed during the pause are placed at the next available calling window.
266 267 268 269 270 271 272 273 |
# File 'lib/revox/resources/campaigns.rb', line 266 def resume(id, params = {}) @client.request( method: :post, path: ["campaigns/%1$s/resume", id], model: Revox::Models::CampaignResumeResponse, options: params[:request_options] ) end |
#retrieve(id, request_options: {}) ⇒ Revox::Models::CampaignRetrieveResponse
Retrieve the full details of a single campaign by its unique ID. Can be used to poll for campaign completion.
59 60 61 62 63 64 65 66 |
# File 'lib/revox/resources/campaigns.rb', line 59 def retrieve(id, params = {}) @client.request( method: :get, path: ["campaigns/%1$s", id], model: Revox::Models::CampaignRetrieveResponse, options: params[:request_options] ) end |
#statistics(id, request_options: {}) ⇒ Revox::Models::CampaignStatisticsResponse
Retrieve the "Statistiques" report for a campaign: the four-tile cascade funnel (appelés → eus en ligne → réels échanges → leads chauds), two secondary tiles, the distribution of exchanges by outcome, the list of hot leads, and data-extraction coverage. All counts are over distinct E.164-normalized phone numbers, and the outcome-based categories derive exclusively from calls.outcome. Cascade percentages are null when their denominator is zero.
290 291 292 293 294 295 296 297 |
# File 'lib/revox/resources/campaigns.rb', line 290 def statistics(id, params = {}) @client.request( method: :get, path: ["campaigns/%1$s/statistics", id], model: Revox::Models::CampaignStatisticsResponse, options: params[:request_options] ) end |
#update(id, assistant_id: nil, call_retry_config: nil, contacts: nil, from_phone_number: nil, max_concurrent_calls: nil, name: nil, scheduled_at: nil, type: nil, request_options: {}) ⇒ Revox::Models::CampaignUpdateResponse
Some parameter documentations has been truncated, see Models::CampaignUpdateParams for more details.
Update editable fields on a campaign. Draft campaigns support updating all fields including assistant, contacts, and settings. Non-draft campaigns only support renaming.
100 101 102 103 104 105 106 107 108 109 |
# File 'lib/revox/resources/campaigns.rb', line 100 def update(id, params = {}) parsed, = Revox::CampaignUpdateParams.dump_request(params) @client.request( method: :patch, path: ["campaigns/%1$s", id], body: parsed, model: Revox::Models::CampaignUpdateResponse, options: ) end |