class KoronaClient::ProductsApi

Attributes

api_client[RW]

Public Class Methods

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

Public Instance Methods

add_products(korona_account_id, body, opts = {}) click to toggle source

adds a batch of new products

@param korona_account_id account id of the KORONA.cloud account @param body array of new products @param [Hash] opts the optional parameters @option opts [BOOLEAN] :upsert when set to true, updates the object instead of generating a already-exists-error @return [Array<AddOrUpdateResult>]

# File lib/korona_client/api/products_api.rb, line 29
def add_products(korona_account_id, body, opts = {})
  data, _status_code, _headers = add_products_with_http_info(korona_account_id, body, opts)
  data
end
add_products_with_http_info(korona_account_id, body, opts = {}) click to toggle source

adds a batch of new products

@param korona_account_id account id of the KORONA.cloud account @param body array of new products @param [Hash] opts the optional parameters @option opts [BOOLEAN] :upsert when set to true, updates the object instead of generating a already-exists-error @return [Array<(Array<AddOrUpdateResult>, Fixnum, Hash)>] Array<AddOrUpdateResult> data, response status code and response headers

# File lib/korona_client/api/products_api.rb, line 41
def add_products_with_http_info(korona_account_id, body, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProductsApi.add_products ...'
  end
  # verify the required parameter 'korona_account_id' is set
  if @api_client.config.client_side_validation && korona_account_id.nil?
    fail ArgumentError, "Missing the required parameter 'korona_account_id' when calling ProductsApi.add_products"
  end
  # verify the required parameter 'body' is set
  if @api_client.config.client_side_validation && body.nil?
    fail ArgumentError, "Missing the required parameter 'body' when calling ProductsApi.add_products"
  end
  # resource path
  local_var_path = '/accounts/{koronaAccountId}/products'.sub('{' + 'koronaAccountId' + '}', korona_account_id.to_s)

  # query parameters
  query_params = {}
  query_params[:'upsert'] = opts[:'upsert'] if !opts[:'upsert'].nil?

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(body)
  auth_names = ['basicAuth']
  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 => 'Array<AddOrUpdateResult>')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ProductsApi#add_products\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
delete_product(korona_account_id, product_id, opts = {}) click to toggle source

deletes the single product

@param korona_account_id account id of the KORONA.cloud account @param product_id id of the related object (important: id should match the uuid-format) @param [Hash] opts the optional parameters @return [nil]

# File lib/korona_client/api/products_api.rb, line 91
def delete_product(korona_account_id, product_id, opts = {})
  delete_product_with_http_info(korona_account_id, product_id, opts)
  nil
end
delete_product_with_http_info(korona_account_id, product_id, opts = {}) click to toggle source

deletes the single product

@param korona_account_id account id of the KORONA.cloud account @param product_id id of the related object (important: id should match the uuid-format) @param [Hash] opts the optional parameters @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers

# File lib/korona_client/api/products_api.rb, line 102
def delete_product_with_http_info(korona_account_id, product_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProductsApi.delete_product ...'
  end
  # verify the required parameter 'korona_account_id' is set
  if @api_client.config.client_side_validation && korona_account_id.nil?
    fail ArgumentError, "Missing the required parameter 'korona_account_id' when calling ProductsApi.delete_product"
  end
  # verify the required parameter 'product_id' is set
  if @api_client.config.client_side_validation && product_id.nil?
    fail ArgumentError, "Missing the required parameter 'product_id' when calling ProductsApi.delete_product"
  end
  # resource path
  local_var_path = '/accounts/{koronaAccountId}/products/{productId}'.sub('{' + 'koronaAccountId' + '}', korona_account_id.to_s).sub('{' + 'productId' + '}', product_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = ['basicAuth']
  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: ProductsApi#delete_product\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
delete_products(korona_account_id, body, opts = {}) click to toggle source

deletes a batch of products

@param korona_account_id account id of the KORONA.cloud account @param body array of existing products (id or number required) @param [Hash] opts the optional parameters @return [Array<AddOrUpdateResult>]

# File lib/korona_client/api/products_api.rb, line 150
def delete_products(korona_account_id, body, opts = {})
  data, _status_code, _headers = delete_products_with_http_info(korona_account_id, body, opts)
  data
end
delete_products_with_http_info(korona_account_id, body, opts = {}) click to toggle source

deletes a batch of products

@param korona_account_id account id of the KORONA.cloud account @param body array of existing products (id or number required) @param [Hash] opts the optional parameters @return [Array<(Array<AddOrUpdateResult>, Fixnum, Hash)>] Array<AddOrUpdateResult> data, response status code and response headers

# File lib/korona_client/api/products_api.rb, line 161
def delete_products_with_http_info(korona_account_id, body, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProductsApi.delete_products ...'
  end
  # verify the required parameter 'korona_account_id' is set
  if @api_client.config.client_side_validation && korona_account_id.nil?
    fail ArgumentError, "Missing the required parameter 'korona_account_id' when calling ProductsApi.delete_products"
  end
  # verify the required parameter 'body' is set
  if @api_client.config.client_side_validation && body.nil?
    fail ArgumentError, "Missing the required parameter 'body' when calling ProductsApi.delete_products"
  end
  # resource path
  local_var_path = '/accounts/{koronaAccountId}/products'.sub('{' + 'koronaAccountId' + '}', korona_account_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(body)
  auth_names = ['basicAuth']
  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,
    :return_type => 'Array<AddOrUpdateResult>')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ProductsApi#delete_products\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
get_product(korona_account_id, product_id, opts = {}) click to toggle source

returns the single product

@param korona_account_id account id of the KORONA.cloud account @param product_id id of the related object (important: id should match the uuid-format) @param [Hash] opts the optional parameters @return [Product]

# File lib/korona_client/api/products_api.rb, line 210
def get_product(korona_account_id, product_id, opts = {})
  data, _status_code, _headers = get_product_with_http_info(korona_account_id, product_id, opts)
  data
end
get_product_stocks(korona_account_id, product_id, opts = {}) click to toggle source

lists the product stocks in different warehouses (KORONA.retail required)

@param korona_account_id account id of the KORONA.cloud account @param product_id id of the related object (important: id should match the uuid-format) @param [Hash] opts the optional parameters @option opts [Integer] :page number of the page to fetch @option opts [Integer] :size amount of objects to return per page @option opts [String] :sort attribute to sort by (multiple separated by comma; max. 5) @option opts [Integer] :revision last revision number, objects with a greater revision than this will be returned @return [ResultListProductStock]

# File lib/korona_client/api/products_api.rb, line 274
def get_product_stocks(korona_account_id, product_id, opts = {})
  data, _status_code, _headers = get_product_stocks_with_http_info(korona_account_id, product_id, opts)
  data
end
get_product_stocks_with_http_info(korona_account_id, product_id, opts = {}) click to toggle source

lists the product stocks in different warehouses (KORONA.retail required)

@param korona_account_id account id of the KORONA.cloud account @param product_id id of the related object (important: id should match the uuid-format) @param [Hash] opts the optional parameters @option opts [Integer] :page number of the page to fetch @option opts [Integer] :size amount of objects to return per page @option opts [String] :sort attribute to sort by (multiple separated by comma; max. 5) @option opts [Integer] :revision last revision number, objects with a greater revision than this will be returned @return [Array<(ResultListProductStock, Fixnum, Hash)>] ResultListProductStock data, response status code and response headers

# File lib/korona_client/api/products_api.rb, line 289
def get_product_stocks_with_http_info(korona_account_id, product_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProductsApi.get_product_stocks ...'
  end
  # verify the required parameter 'korona_account_id' is set
  if @api_client.config.client_side_validation && korona_account_id.nil?
    fail ArgumentError, "Missing the required parameter 'korona_account_id' when calling ProductsApi.get_product_stocks"
  end
  # verify the required parameter 'product_id' is set
  if @api_client.config.client_side_validation && product_id.nil?
    fail ArgumentError, "Missing the required parameter 'product_id' when calling ProductsApi.get_product_stocks"
  end
  # resource path
  local_var_path = '/accounts/{koronaAccountId}/products/{productId}/stocks'.sub('{' + 'koronaAccountId' + '}', korona_account_id.to_s).sub('{' + 'productId' + '}', product_id.to_s)

  # query parameters
  query_params = {}
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
  query_params[:'size'] = opts[:'size'] if !opts[:'size'].nil?
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
  query_params[:'revision'] = opts[:'revision'] if !opts[:'revision'].nil?

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = ['basicAuth']
  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 => 'ResultListProductStock')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ProductsApi#get_product_stocks\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
get_product_with_http_info(korona_account_id, product_id, opts = {}) click to toggle source

returns the single product

@param korona_account_id account id of the KORONA.cloud account @param product_id id of the related object (important: id should match the uuid-format) @param [Hash] opts the optional parameters @return [Array<(Product, Fixnum, Hash)>] Product data, response status code and response headers

# File lib/korona_client/api/products_api.rb, line 221
def get_product_with_http_info(korona_account_id, product_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProductsApi.get_product ...'
  end
  # verify the required parameter 'korona_account_id' is set
  if @api_client.config.client_side_validation && korona_account_id.nil?
    fail ArgumentError, "Missing the required parameter 'korona_account_id' when calling ProductsApi.get_product"
  end
  # verify the required parameter 'product_id' is set
  if @api_client.config.client_side_validation && product_id.nil?
    fail ArgumentError, "Missing the required parameter 'product_id' when calling ProductsApi.get_product"
  end
  # resource path
  local_var_path = '/accounts/{koronaAccountId}/products/{productId}'.sub('{' + 'koronaAccountId' + '}', korona_account_id.to_s).sub('{' + 'productId' + '}', product_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = ['basicAuth']
  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 => 'Product')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ProductsApi#get_product\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
get_products(korona_account_id, opts = {}) click to toggle source

lists all products

@param korona_account_id account id of the KORONA.cloud account @param [Hash] opts the optional parameters @option opts [Integer] :page number of the page to fetch @option opts [Integer] :size amount of objects to return per page @option opts [String] :sort attribute to sort by (multiple separated by comma; max. 5) @option opts [Integer] :revision last revision number, objects with a greater revision than this will be returned @option opts [BOOLEAN] :include_deleted indicates deleted objects should be loaded or not (default: false) @option opts [String] :product_codes at least one product code to filter by (multiple separated by comma; max. 10) @option opts [String] :commodity_group commodity group id to filter by @option opts [String] :assortment assortment id to filter by @option opts [String] :tag tag id to filter by @option opts [String] :number number of the related object @return [ResultListProduct]

# File lib/korona_client/api/products_api.rb, line 351
def get_products(korona_account_id, opts = {})
  data, _status_code, _headers = get_products_with_http_info(korona_account_id, opts)
  data
end
get_products_with_http_info(korona_account_id, opts = {}) click to toggle source

lists all products

@param korona_account_id account id of the KORONA.cloud account @param [Hash] opts the optional parameters @option opts [Integer] :page number of the page to fetch @option opts [Integer] :size amount of objects to return per page @option opts [String] :sort attribute to sort by (multiple separated by comma; max. 5) @option opts [Integer] :revision last revision number, objects with a greater revision than this will be returned @option opts [BOOLEAN] :include_deleted indicates deleted objects should be loaded or not (default: false) @option opts [String] :product_codes at least one product code to filter by (multiple separated by comma; max. 10) @option opts [String] :commodity_group commodity group id to filter by @option opts [String] :assortment assortment id to filter by @option opts [String] :tag tag id to filter by @option opts [String] :number number of the related object @return [Array<(ResultListProduct, Fixnum, Hash)>] ResultListProduct data, response status code and response headers

# File lib/korona_client/api/products_api.rb, line 371
def get_products_with_http_info(korona_account_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProductsApi.get_products ...'
  end
  # verify the required parameter 'korona_account_id' is set
  if @api_client.config.client_side_validation && korona_account_id.nil?
    fail ArgumentError, "Missing the required parameter 'korona_account_id' when calling ProductsApi.get_products"
  end
  # resource path
  local_var_path = '/accounts/{koronaAccountId}/products'.sub('{' + 'koronaAccountId' + '}', korona_account_id.to_s)

  # query parameters
  query_params = {}
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
  query_params[:'size'] = opts[:'size'] if !opts[:'size'].nil?
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
  query_params[:'revision'] = opts[:'revision'] if !opts[:'revision'].nil?
  query_params[:'includeDeleted'] = opts[:'include_deleted'] if !opts[:'include_deleted'].nil?
  query_params[:'productCodes'] = opts[:'product_codes'] if !opts[:'product_codes'].nil?
  query_params[:'commodityGroup'] = opts[:'commodity_group'] if !opts[:'commodity_group'].nil?
  query_params[:'assortment'] = opts[:'assortment'] if !opts[:'assortment'].nil?
  query_params[:'tag'] = opts[:'tag'] if !opts[:'tag'].nil?
  query_params[:'number'] = opts[:'number'] if !opts[:'number'].nil?

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = ['basicAuth']
  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 => 'ResultListProduct')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ProductsApi#get_products\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
update_product(korona_account_id, product_id, body, opts = {}) click to toggle source

updates the single product if [number] is set, the number of the object will change and the resource location as well @param korona_account_id account id of the KORONA.cloud account @param product_id id of the related object (important: id should match the uuid-format) @param body the properties to update of the product @param [Hash] opts the optional parameters @return [nil]

# File lib/korona_client/api/products_api.rb, line 427
def update_product(korona_account_id, product_id, body, opts = {})
  update_product_with_http_info(korona_account_id, product_id, body, opts)
  nil
end
update_product_with_http_info(korona_account_id, product_id, body, opts = {}) click to toggle source

updates the single product if [number] is set, the number of the object will change and the resource location as well @param korona_account_id account id of the KORONA.cloud account @param product_id id of the related object (important: id should match the uuid-format) @param body the properties to update of the product @param [Hash] opts the optional parameters @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers

# File lib/korona_client/api/products_api.rb, line 439
def update_product_with_http_info(korona_account_id, product_id, body, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProductsApi.update_product ...'
  end
  # verify the required parameter 'korona_account_id' is set
  if @api_client.config.client_side_validation && korona_account_id.nil?
    fail ArgumentError, "Missing the required parameter 'korona_account_id' when calling ProductsApi.update_product"
  end
  # verify the required parameter 'product_id' is set
  if @api_client.config.client_side_validation && product_id.nil?
    fail ArgumentError, "Missing the required parameter 'product_id' when calling ProductsApi.update_product"
  end
  # verify the required parameter 'body' is set
  if @api_client.config.client_side_validation && body.nil?
    fail ArgumentError, "Missing the required parameter 'body' when calling ProductsApi.update_product"
  end
  # resource path
  local_var_path = '/accounts/{koronaAccountId}/products/{productId}'.sub('{' + 'koronaAccountId' + '}', korona_account_id.to_s).sub('{' + 'productId' + '}', product_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(body)
  auth_names = ['basicAuth']
  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)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ProductsApi#update_product\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end
update_products(korona_account_id, body, opts = {}) click to toggle source

updates a batch of products

number

must be set in the objects, otherwise the object cannot be updated

@param korona_account_id account id of the KORONA.cloud account @param body an array of existing products @param [Hash] opts the optional parameters @return [Array<AddOrUpdateResult>]

# File lib/korona_client/api/products_api.rb, line 491
def update_products(korona_account_id, body, opts = {})
  data, _status_code, _headers = update_products_with_http_info(korona_account_id, body, opts)
  data
end
update_products_with_http_info(korona_account_id, body, opts = {}) click to toggle source

updates a batch of products

number

must be set in the objects, otherwise the object cannot be updated

@param korona_account_id account id of the KORONA.cloud account @param body an array of existing products @param [Hash] opts the optional parameters @return [Array<(Array<AddOrUpdateResult>, Fixnum, Hash)>] Array<AddOrUpdateResult> data, response status code and response headers

# File lib/korona_client/api/products_api.rb, line 502
def update_products_with_http_info(korona_account_id, body, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ProductsApi.update_products ...'
  end
  # verify the required parameter 'korona_account_id' is set
  if @api_client.config.client_side_validation && korona_account_id.nil?
    fail ArgumentError, "Missing the required parameter 'korona_account_id' when calling ProductsApi.update_products"
  end
  # verify the required parameter 'body' is set
  if @api_client.config.client_side_validation && body.nil?
    fail ArgumentError, "Missing the required parameter 'body' when calling ProductsApi.update_products"
  end
  # resource path
  local_var_path = '/accounts/{koronaAccountId}/products'.sub('{' + 'koronaAccountId' + '}', korona_account_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(body)
  auth_names = ['basicAuth']
  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 => 'Array<AddOrUpdateResult>')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ProductsApi#update_products\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end