Class: Revox::Resources::Campaigns

Inherits:
Object
  • Object
show all
Defined in:
lib/revox/resources/campaigns.rb,
sig/revox/resources/campaigns.rbs

Instance Method Summary collapse

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.

Parameters:



171
172
173
# File 'lib/revox/resources/campaigns.rb', line 171

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.

Parameters:

Returns:

See Also:



120
121
122
123
124
125
126
127
# File 'lib/revox/resources/campaigns.rb', line 120

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.

Parameters:

  • assistant_id (String)

    The ID of the assistant to use

  • contacts (Array<Revox::Models::CampaignCreateParams::Contact>)

    The list of contacts to call

  • launch (Boolean)

    Whether to launch the campaign immediately. Set to false to save as a draft.

  • name (String)

    The name of the campaign

  • type (Symbol, Revox::Models::CampaignCreateParams::Type)

    Campaign type. 'jump_in' campaigns only dial while someone is on the campaign pa

  • call_retry_config (Revox::Models::CampaignCreateParams::CallRetryConfig)

    Override retry configuration for calls in this campaign. If not provided, uses t

  • from_phone_number (String)

    The phone number to use for outbound calls (E.164 format, e.g., +1234567890)

  • max_concurrent_calls (Float)

    Maximum number of concurrent calls allowed for this campaign

  • scheduled_at (Time, Object)

    Schedule all calls in this campaign to start at a specific date and time (ISO 86

  • request_options (Revox::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



37
38
39
40
41
42
43
44
45
46
# File 'lib/revox/resources/campaigns.rb', line 37

def create(params)
  parsed, options = Revox::CampaignCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "campaigns",
    body: parsed,
    model: Revox::Models::CampaignCreateResponse,
    options: 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.

Parameters:

Returns:

See Also:



99
100
101
102
103
104
105
106
# File 'lib/revox/resources/campaigns.rb', line 99

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.

Parameters:

Returns:

See Also:



139
140
141
142
143
144
145
146
# File 'lib/revox/resources/campaigns.rb', line 139

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.

Parameters:

Returns:

See Also:



159
160
161
162
163
164
165
166
# File 'lib/revox/resources/campaigns.rb', line 159

def get_rows(id, params = {})
  @client.request(
    method: :get,
    path: ["campaigns/%1$s/rows", id],
    model: Revox::Models::CampaignGetRowsResponse,
    options: params[:request_options]
  )
end

#list(request_options: {}) ⇒ Revox::Models::CampaignListResponse

Retrieve all campaigns for your organization, including both active and completed ones.

Parameters:

Returns:

See Also:



78
79
80
81
82
83
84
85
# File 'lib/revox/resources/campaigns.rb', line 78

def list(params = {})
  @client.request(
    method: :get,
    path: "campaigns",
    model: Revox::Models::CampaignListResponse,
    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.

Parameters:

Returns:

See Also:



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