class Plivo::Resources::CampaignInterface

Public Class Methods

new(client, resource_list_json = nil) click to toggle source
Calls superclass method Plivo::Base::ResourceInterface::new
# File lib/plivo/resources/campaign.rb, line 20
def initialize(client, resource_list_json = nil)
  @_name = '10dlc/Campaign'
  @_resource_type = Campaign
  @_identifier_string = 'campaign_id'
  super
end

Public Instance Methods

create(options=nil) click to toggle source

Create a new Camapign

# File lib/plivo/resources/campaign.rb, line 68
def create(options=nil)
  valid_param?(:options, options, Hash, true)
  if not options[:brand_id]
    raise_invalid_request("brand_id must be provided")
  end
  if not options[:vertical]
    raise_invalid_request("vertical must be provided")
  end
  if not options[:usecase]
    raise_invalid_request("usecase must be provided")
  end
  if not options[:message_flow]
    raise_invalid_request("message_flow must be provided")
  end
  if not options[:help_message]
    raise_invalid_request("help_message must be provided")
  end
  if not options[:optout_message]
    raise_invalid_request("optout_message must be provided")
  end
  perform_create(options)
end
delete(campaign_id) click to toggle source

Delete Campaign @param [String] campaign_id

# File lib/plivo/resources/campaign.rb, line 162
def delete(campaign_id)
  valid_param?(:campaign_id, campaign_id, [String, Symbol], true)
  perform_delete(campaign_id)
end
get(campaign_id) click to toggle source

Get an Campaign @param [String] campaign_id @return [Campaign] Campaign

# File lib/plivo/resources/campaign.rb, line 31
def get(campaign_id)
  valid_param?(:campaign_id, campaign_id, [String, Symbol], true)
  perform_get(campaign_id)
end
get_number(campaign_id, number) click to toggle source

get campaign number

# File lib/plivo/resources/campaign.rb, line 148
def get_number(campaign_id, number)
  action = campaign_id + '/Number/' + number
  perform_action_with_identifier(action, 'GET', nil)
end
get_numbers(campaign_id, options = nil) click to toggle source

get campaign numbers

# File lib/plivo/resources/campaign.rb, line 127
def get_numbers(campaign_id, options = nil)
  params = {}
  %i[offset limit].each do |param|
    if options.key?(param) && valid_param?(param, options[param],
                                           [Integer, Integer], true)
      params[param] = options[param]
    end
  end
  if options.key?(:limit) && (options[:limit] > 20 || options[:limit] <= 0)
    raise_invalid_request('The maximum number of results that can be '\
    "fetched is 20. limit can't be more than 20 or less than 1")
  end
  if options.key?(:offset) && options[:offset] < 0
    raise_invalid_request("Offset can't be negative")
  end
  action = campaign_id + '/Number'
  perform_action_with_identifier(action, 'GET', params)
end
import(options=nil) click to toggle source

import campaign

# File lib/plivo/resources/campaign.rb, line 103
def import(options=nil)
  valid_param?(:options, options, Hash, true)
  if not options[:campaign_id]
    raise_invalid_request("campaign_id must be provided")
  end
  if not options[:campaign_alias]
    raise_invalid_request("campaign_alias must be provided")
  end
  action = 'Import'
  perform_action_with_identifier(action, 'POST', options)   
end
list(options=nil) click to toggle source

List all Campaign @param [Hash] options @option options [String] :brand_id @option options [Status] :usecase @option options [String] :campaign_source @option options [String] :registration_status @option options [Status] :limit @option options [Status] :offset @return [Hash]

# File lib/plivo/resources/campaign.rb, line 46
def list(options=nil)
  return perform_list_without_object if options.nil?
  
  params = {}
  %i[usecase brand_id campaign_source limit offset registration_status].each do |param|
    if options.key?(param) && valid_param?(param, options[param],
                                             [String, Integer], true)
      params[param] = options[param]
    end
  end
  if options.key?(:limit) && (options[:limit] > 20 || options[:limit] <= 0)
    raise_invalid_request('The maximum number of results that can be '\
    "fetched is 20. limit can't be more than 20 or less than 1")
  end
  if options.key?(:offset) && options[:offset] < 0
    raise_invalid_request("Offset can't be negative")
  end  
  perform_list_without_object(params)
end
update(campaign_id, options=nil) click to toggle source

Update Camapign

# File lib/plivo/resources/campaign.rb, line 92
def update(campaign_id, options=nil)
  valid_param?(:options, options, Hash, true)
  if not campaign_id
    raise_invalid_request("campaign_id must be provided")
  end
  action = campaign_id
  perform_action_with_identifier(action, 'POST', options)
end