def pull(id, size = 52_428_800, cursor = '', callback = nil)
      params = {
        :id => id
      }
      requires params
      params.merge!(
        :size => size,
        :cursor => cursor
      )
      params.merge!({:on_interaction => callback}) unless callback.nil?
      DataSift.request(:GET, 'pull', @config, params, {}, 30, 30, true)
    end
def pull(id, size = 52_428_800, cursor = '', callback = nil)
      params = {
        :id => id
      }
      requires params
      params.merge!(
        :size => size,
        :cursor => cursor
      )
      params.merge!({:on_interaction => callback}) unless callback.nil?
      DataSift.request(:GET, 'pull', @config, params, {}, 30, 30, true)
    end
Pull data from a 'pull' type Push Subscription

 @param id [String] ID of the Push subscription to pull data from
 @param size [Integer] Max size (bytes) of the data that should be returned
 @param cursor [String] Point to a specific point in your Push buffer using
   a cursor
 @param callback [Method] Pass a callback to process each interaction
   returned from a successful pull request