Method: Outbound::Client#subscription

Defined in:
lib/outbound.rb

#subscription(user_id, unsubscribe = false, all = false, campaign_ids = nil) ⇒ Object



287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
# File 'lib/outbound.rb', line 287

def subscription user_id, unsubscribe=false, all=false, campaign_ids=nil
  unless user_id.is_a? String or user_id.is_a? Numeric
    res = Result.new Outbound::ERROR_USER_ID, false
    @logger.error res.error
    return res
  end

  if !all
    unless !campaign_ids.nil? && campaign_ids.is_a?(Array) && campaign_ids.length > 0
      res = Result.new Outbound::ERROR_CAMPAIGN_IDS, false
      @logger.error res.error
      return res
    end
  end

  url = '/' + (unsubscribe ? 'unsubscribe' : 'subscribe') + '/' + (all ? 'all' : 'campaigns')
  data = {:user_id => user_id}
  if !all
    data[:campaign_ids] = campaign_ids
  end
  return post(@api_key, url, data)
end