Class: CellForce::TcpaOptInCampaign
- Inherits:
-
Object
- Object
- CellForce::TcpaOptInCampaign
- Includes:
- DefaultShortCode
- Defined in:
- lib/cell_force/tcpa_opt_in_campaign.rb
Constant Summary collapse
- REQUIRED_KEYS_TO_CREATE_CAMPAIGN =
[:name, :first_message, :second_message, :error_message]
Instance Attribute Summary collapse
-
#keyword ⇒ Object
readonly
Returns the value of attribute keyword.
-
#short_code ⇒ Object
readonly
Returns the value of attribute short_code.
Instance Method Summary collapse
- #campaign_ids ⇒ Object
- #create_campaign(options) ⇒ Object
-
#initialize(keyword, short_code = nil) ⇒ TcpaOptInCampaign
constructor
A new instance of TcpaOptInCampaign.
- #keyword_id ⇒ Object
Methods included from DefaultShortCode
Constructor Details
#initialize(keyword, short_code = nil) ⇒ TcpaOptInCampaign
Returns a new instance of TcpaOptInCampaign.
10 11 12 |
# File 'lib/cell_force/tcpa_opt_in_campaign.rb', line 10 def initialize(keyword, short_code=nil) @keyword, @short_code = keyword, short_code end |
Instance Attribute Details
#keyword ⇒ Object (readonly)
Returns the value of attribute keyword.
9 10 11 |
# File 'lib/cell_force/tcpa_opt_in_campaign.rb', line 9 def keyword @keyword end |
#short_code ⇒ Object (readonly)
Returns the value of attribute short_code.
9 10 11 |
# File 'lib/cell_force/tcpa_opt_in_campaign.rb', line 9 def short_code @short_code end |
Instance Method Details
#campaign_ids ⇒ Object
30 31 32 33 34 |
# File 'lib/cell_force/tcpa_opt_in_campaign.rb', line 30 def campaign_ids @campaign_ids ||= Api.post("campaign/list").data.collect do |campaign| campaign["campaign_id"] if keyword_id == Api.post("campaign/detail", row_id: campaign["campaign_id"]).data["keyword_id"] end.compact end |
#create_campaign(options) ⇒ Object
36 37 38 39 |
# File 'lib/cell_force/tcpa_opt_in_campaign.rb', line 36 def create_campaign() raise ArgumentError, "Some options were missing for creating a campaign: #{REQUIRED_KEYS_TO_CREATE_CAMPAIGN - options.keys}" unless (REQUIRED_KEYS_TO_CREATE_CAMPAIGN - .keys).empty? Api.post("campaign/tcpaoptin", keyword_id: keyword_id, shortcode_id: short_code_id, optinkeyword: "Y", name: [:name], message: [:first_message], doubleoptinmessage: [:second_message], errormessage: [:error_message]).data["campaign_id"] end |
#keyword_id ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/cell_force/tcpa_opt_in_campaign.rb', line 14 def keyword_id @keyword_id ||= begin begin Api.post("keyword/create", keyword: keyword, shortcodes: short_code_id, action: "check").data["message"] Api.post("keyword/create", keyword: keyword, shortcodes: short_code_id).data["row_id"] rescue CellForce::Api::Failure => e raise e unless e.to_s == "Keyword is already Exist" if (keyword_record = Api.post("keyword/list").data.find{ |r| keyword == r["keyword"] }) #Intentional assignment operator keyword_record["id"] else raise StandardError, "This keyword is already in use by another consumer of the short_code #{short_code}" end end end end |