class OrderCloud::PromotionApi

Attributes

api_client[RW]

Public Class Methods

new(api_client = ApiClient.default) click to toggle source
# File lib/order_cloud/api/promotion_api.rb, line 30
def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Public Instance Methods

create(promo, opts = {}) click to toggle source

@param promo @param [Hash] opts the optional parameters @return [Promotion]

# File lib/order_cloud/api/promotion_api.rb, line 39
def create(promo, opts = {})
  data, _status_code, _headers = create_with_http_info(promo, opts)
  return data
end
create_with_http_info(promo, opts = {}) click to toggle source

@param promo @param [Hash] opts the optional parameters @return [Array<(Promotion, Fixnum, Hash)>] Promotion data, response status code and response headers

# File lib/order_cloud/api/promotion_api.rb, line 49
def create_with_http_info(promo, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug "Calling API: PromotionApi.create ..."
  end
  # verify the required parameter 'promo' is set
  fail ArgumentError, "Missing the required parameter 'promo' when calling PromotionApi.create" if promo.nil?
  # resource path
  local_var_path = "/promotions".sub('{format}','json')

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}

  # HTTP header 'Accept' (if needed)
  local_header_accept = ['application/json']
  local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result

  # HTTP header 'Content-Type'
  local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
  header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(promo)
  auth_names = ['oauth2']
  data, status_code, headers = @api_client.call_api(:POST, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'Promotion')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: PromotionApi#create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
delete(promotion_id, opts = {}) click to toggle source

@param promotion_id ID of the promotion. @param [Hash] opts the optional parameters @return [nil]

# File lib/order_cloud/api/promotion_api.rb, line 96
def delete(promotion_id, opts = {})
  delete_with_http_info(promotion_id, opts)
  return nil
end
delete_assignment(promotion_id, buyer_id, opts = {}) click to toggle source

@param promotion_id ID of the promotion. @param buyer_id ID of the buyer. @param [Hash] opts the optional parameters @option opts [String] :user_id ID of the user. @option opts [String] :user_group_id ID of the user group. @return [nil]

# File lib/order_cloud/api/promotion_api.rb, line 155
def delete_assignment(promotion_id, buyer_id, opts = {})
  delete_assignment_with_http_info(promotion_id, buyer_id, opts)
  return nil
end
delete_assignment_with_http_info(promotion_id, buyer_id, opts = {}) click to toggle source

@param promotion_id ID of the promotion. @param buyer_id ID of the buyer. @param [Hash] opts the optional parameters @option opts [String] :user_id ID of the user. @option opts [String] :user_group_id ID of the user group. @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers

# File lib/order_cloud/api/promotion_api.rb, line 168
def delete_assignment_with_http_info(promotion_id, buyer_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug "Calling API: PromotionApi.delete_assignment ..."
  end
  # verify the required parameter 'promotion_id' is set
  fail ArgumentError, "Missing the required parameter 'promotion_id' when calling PromotionApi.delete_assignment" if promotion_id.nil?
  # verify the required parameter 'buyer_id' is set
  fail ArgumentError, "Missing the required parameter 'buyer_id' when calling PromotionApi.delete_assignment" if buyer_id.nil?
  # resource path
  local_var_path = "/promotions/{promotionID}/assignments".sub('{format}','json').sub('{' + 'promotionID' + '}', promotion_id.to_s)

  # query parameters
  query_params = {}
  query_params[:'buyerID'] = buyer_id
  query_params[:'userID'] = opts[:'user_id'] if !opts[:'user_id'].nil?
  query_params[:'userGroupID'] = opts[:'user_group_id'] if !opts[:'user_group_id'].nil?

  # header parameters
  header_params = {}

  # HTTP header 'Accept' (if needed)
  local_header_accept = ['application/json']
  local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result

  # HTTP header 'Content-Type'
  local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
  header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = ['oauth2']
  data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: PromotionApi#delete_assignment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
delete_with_http_info(promotion_id, opts = {}) click to toggle source

@param promotion_id ID of the promotion. @param [Hash] opts the optional parameters @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers

# File lib/order_cloud/api/promotion_api.rb, line 106
def delete_with_http_info(promotion_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug "Calling API: PromotionApi.delete ..."
  end
  # verify the required parameter 'promotion_id' is set
  fail ArgumentError, "Missing the required parameter 'promotion_id' when calling PromotionApi.delete" if promotion_id.nil?
  # resource path
  local_var_path = "/promotions/{promotionID}".sub('{format}','json').sub('{' + 'promotionID' + '}', promotion_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}

  # HTTP header 'Accept' (if needed)
  local_header_accept = ['application/json']
  local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result

  # HTTP header 'Content-Type'
  local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
  header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = ['oauth2']
  data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: PromotionApi#delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
get(promotion_id, opts = {}) click to toggle source

@param promotion_id ID of the promotion. @param [Hash] opts the optional parameters @return [Promotion]

# File lib/order_cloud/api/promotion_api.rb, line 219
def get(promotion_id, opts = {})
  data, _status_code, _headers = get_with_http_info(promotion_id, opts)
  return data
end
get_with_http_info(promotion_id, opts = {}) click to toggle source

@param promotion_id ID of the promotion. @param [Hash] opts the optional parameters @return [Array<(Promotion, Fixnum, Hash)>] Promotion data, response status code and response headers

# File lib/order_cloud/api/promotion_api.rb, line 229
def get_with_http_info(promotion_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug "Calling API: PromotionApi.get ..."
  end
  # verify the required parameter 'promotion_id' is set
  fail ArgumentError, "Missing the required parameter 'promotion_id' when calling PromotionApi.get" if promotion_id.nil?
  # resource path
  local_var_path = "/promotions/{promotionID}".sub('{format}','json').sub('{' + 'promotionID' + '}', promotion_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}

  # HTTP header 'Accept' (if needed)
  local_header_accept = ['application/json']
  local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result

  # HTTP header 'Content-Type'
  local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
  header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = ['oauth2']
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'Promotion')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: PromotionApi#get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
list(opts = {}) click to toggle source

@param [Hash] opts the optional parameters @option opts [String] :search Search of the promotion. @option opts [Array<String>] :search_on Search on of the promotion. @option opts [Array<String>] :sort_by Sort by of the promotion. @option opts [Integer] :page Page of the promotion. @option opts [Integer] :page_size Page size of the promotion. @option opts [Hash<String, String>] :filters Filters of the promotion. @return [ListPromotion]

# File lib/order_cloud/api/promotion_api.rb, line 281
def list(opts = {})
  data, _status_code, _headers = list_with_http_info(opts)
  return data
end
list_assignments(opts = {}) click to toggle source

@param [Hash] opts the optional parameters @option opts [String] :buyer_id ID of the buyer. @option opts [String] :promotion_id ID of the promotion. @option opts [String] :user_id ID of the user. @option opts [String] :user_group_id ID of the user group. @option opts [String] :level Level of the promotion. @option opts [Integer] :page Page of the promotion. @option opts [Integer] :page_size Page size of the promotion. @return [ListPromotionAssignment]

# File lib/order_cloud/api/promotion_api.rb, line 353
def list_assignments(opts = {})
  data, _status_code, _headers = list_assignments_with_http_info(opts)
  return data
end
list_assignments_with_http_info(opts = {}) click to toggle source

@param [Hash] opts the optional parameters @option opts [String] :buyer_id ID of the buyer. @option opts [String] :promotion_id ID of the promotion. @option opts [String] :user_id ID of the user. @option opts [String] :user_group_id ID of the user group. @option opts [String] :level Level of the promotion. @option opts [Integer] :page Page of the promotion. @option opts [Integer] :page_size Page size of the promotion. @return [Array<(ListPromotionAssignment, Fixnum, Hash)>] ListPromotionAssignment data, response status code and response headers

# File lib/order_cloud/api/promotion_api.rb, line 369
def list_assignments_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug "Calling API: PromotionApi.list_assignments ..."
  end
  # resource path
  local_var_path = "/promotions/assignments".sub('{format}','json')

  # query parameters
  query_params = {}
  query_params[:'buyerID'] = opts[:'buyer_id'] if !opts[:'buyer_id'].nil?
  query_params[:'promotionID'] = opts[:'promotion_id'] if !opts[:'promotion_id'].nil?
  query_params[:'userID'] = opts[:'user_id'] if !opts[:'user_id'].nil?
  query_params[:'userGroupID'] = opts[:'user_group_id'] if !opts[:'user_group_id'].nil?
  query_params[:'level'] = opts[:'level'] if !opts[:'level'].nil?
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?

  # header parameters
  header_params = {}

  # HTTP header 'Accept' (if needed)
  local_header_accept = ['application/json']
  local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result

  # HTTP header 'Content-Type'
  local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
  header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = ['oauth2']
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'ListPromotionAssignment')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: PromotionApi#list_assignments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
list_with_http_info(opts = {}) click to toggle source

@param [Hash] opts the optional parameters @option opts [String] :search Search of the promotion. @option opts [Array<String>] :search_on Search on of the promotion. @option opts [Array<String>] :sort_by Sort by of the promotion. @option opts [Integer] :page Page of the promotion. @option opts [Integer] :page_size Page size of the promotion. @option opts [Hash<String, String>] :filters Filters of the promotion. @return [Array<(ListPromotion, Fixnum, Hash)>] ListPromotion data, response status code and response headers

# File lib/order_cloud/api/promotion_api.rb, line 296
def list_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug "Calling API: PromotionApi.list ..."
  end
  # resource path
  local_var_path = "/promotions".sub('{format}','json')

  # query parameters
  query_params = {}
  query_params[:'search'] = opts[:'search'] if !opts[:'search'].nil?
  query_params[:'searchOn'] = @api_client.build_collection_param(opts[:'search_on'], :csv) if !opts[:'search_on'].nil?
  query_params[:'sortBy'] = @api_client.build_collection_param(opts[:'sort_by'], :csv) if !opts[:'sort_by'].nil?
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
  query_params[:'filters'] = opts[:'filters'] if !opts[:'filters'].nil?

  # header parameters
  header_params = {}

  # HTTP header 'Accept' (if needed)
  local_header_accept = ['application/json']
  local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result

  # HTTP header 'Content-Type'
  local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
  header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = ['oauth2']
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'ListPromotion')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: PromotionApi#list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
patch(promotion_id, partial_promotion, opts = {}) click to toggle source

@param promotion_id ID of the promotion. @param partial_promotion @param [Hash] opts the optional parameters @return [Promotion]

# File lib/order_cloud/api/promotion_api.rb, line 422
def patch(promotion_id, partial_promotion, opts = {})
  data, _status_code, _headers = patch_with_http_info(promotion_id, partial_promotion, opts)
  return data
end
patch_with_http_info(promotion_id, partial_promotion, opts = {}) click to toggle source

@param promotion_id ID of the promotion. @param partial_promotion @param [Hash] opts the optional parameters @return [Array<(Promotion, Fixnum, Hash)>] Promotion data, response status code and response headers

# File lib/order_cloud/api/promotion_api.rb, line 433
def patch_with_http_info(promotion_id, partial_promotion, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug "Calling API: PromotionApi.patch ..."
  end
  # verify the required parameter 'promotion_id' is set
  fail ArgumentError, "Missing the required parameter 'promotion_id' when calling PromotionApi.patch" if promotion_id.nil?
  # verify the required parameter 'partial_promotion' is set
  fail ArgumentError, "Missing the required parameter 'partial_promotion' when calling PromotionApi.patch" if partial_promotion.nil?
  # resource path
  local_var_path = "/promotions/{promotionID}".sub('{format}','json').sub('{' + 'promotionID' + '}', promotion_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}

  # HTTP header 'Accept' (if needed)
  local_header_accept = ['application/json']
  local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result

  # HTTP header 'Content-Type'
  local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
  header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(partial_promotion)
  auth_names = ['oauth2']
  data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'Promotion')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: PromotionApi#patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
save_assignment(assignment, opts = {}) click to toggle source

@param assignment @param [Hash] opts the optional parameters @return [nil]

# File lib/order_cloud/api/promotion_api.rb, line 482
def save_assignment(assignment, opts = {})
  save_assignment_with_http_info(assignment, opts)
  return nil
end
save_assignment_with_http_info(assignment, opts = {}) click to toggle source

@param assignment @param [Hash] opts the optional parameters @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers

# File lib/order_cloud/api/promotion_api.rb, line 492
def save_assignment_with_http_info(assignment, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug "Calling API: PromotionApi.save_assignment ..."
  end
  # verify the required parameter 'assignment' is set
  fail ArgumentError, "Missing the required parameter 'assignment' when calling PromotionApi.save_assignment" if assignment.nil?
  # resource path
  local_var_path = "/promotions/assignments".sub('{format}','json')

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}

  # HTTP header 'Accept' (if needed)
  local_header_accept = ['application/json']
  local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result

  # HTTP header 'Content-Type'
  local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
  header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(assignment)
  auth_names = ['oauth2']
  data, status_code, headers = @api_client.call_api(:POST, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: PromotionApi#save_assignment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
update(promotion_id, promo, opts = {}) click to toggle source

@param promotion_id ID of the promotion. @param promo @param [Hash] opts the optional parameters @return [Promotion]

# File lib/order_cloud/api/promotion_api.rb, line 539
def update(promotion_id, promo, opts = {})
  data, _status_code, _headers = update_with_http_info(promotion_id, promo, opts)
  return data
end
update_with_http_info(promotion_id, promo, opts = {}) click to toggle source

@param promotion_id ID of the promotion. @param promo @param [Hash] opts the optional parameters @return [Array<(Promotion, Fixnum, Hash)>] Promotion data, response status code and response headers

# File lib/order_cloud/api/promotion_api.rb, line 550
def update_with_http_info(promotion_id, promo, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug "Calling API: PromotionApi.update ..."
  end
  # verify the required parameter 'promotion_id' is set
  fail ArgumentError, "Missing the required parameter 'promotion_id' when calling PromotionApi.update" if promotion_id.nil?
  # verify the required parameter 'promo' is set
  fail ArgumentError, "Missing the required parameter 'promo' when calling PromotionApi.update" if promo.nil?
  # resource path
  local_var_path = "/promotions/{promotionID}".sub('{format}','json').sub('{' + 'promotionID' + '}', promotion_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}

  # HTTP header 'Accept' (if needed)
  local_header_accept = ['application/json']
  local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result

  # HTTP header 'Content-Type'
  local_header_content_type = ['application/json', 'text/plain; charset=utf-8']
  header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type)

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(promo)
  auth_names = ['oauth2']
  data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'Promotion')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: PromotionApi#update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end