class CyberSource::CustomerShippingAddressApi

Attributes

api_client[RW]

Public Class Methods

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

Public Instance Methods

delete_customer_shipping_address(customer_token_id, shipping_address_token_id, opts = {}) click to toggle source

Delete a Customer Shipping Address @param customer_token_id The TokenId of a customer. @param shipping_address_token_id The TokenId of an shipping address. @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @return [nil]

# File lib/cybersource_rest_client/api/customer_shipping_address_api.rb, line 29
def delete_customer_shipping_address(customer_token_id, shipping_address_token_id, opts = {})
  data, status_code, headers = delete_customer_shipping_address_with_http_info(customer_token_id, shipping_address_token_id, opts)
  return data, status_code, headers
end
delete_customer_shipping_address_with_http_info(customer_token_id, shipping_address_token_id, opts = {}) click to toggle source

Delete a Customer Shipping Address @param customer_token_id The TokenId of a customer. @param shipping_address_token_id The TokenId of an shipping address. @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers

# File lib/cybersource_rest_client/api/customer_shipping_address_api.rb, line 40
def delete_customer_shipping_address_with_http_info(customer_token_id, shipping_address_token_id, opts = {})
  
      if @api_client.config.debugging
           begin
                    raise
                            @api_client.config.logger.debug 'Calling API: CustomerShippingAddressApi.delete_customer_shipping_address ...'
                    rescue
                            puts 'Cannot write to log'
                    end
  end
  # verify the required parameter 'customer_token_id' is set
  if @api_client.config.client_side_validation && customer_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'customer_token_id' when calling CustomerShippingAddressApi.delete_customer_shipping_address"
  end
  if @api_client.config.client_side_validation && customer_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerShippingAddressApi.delete_customer_shipping_address, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && customer_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerShippingAddressApi.delete_customer_shipping_address, the character length must be great than or equal to 1.'
  end

  # verify the required parameter 'shipping_address_token_id' is set
  if @api_client.config.client_side_validation && shipping_address_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'shipping_address_token_id' when calling CustomerShippingAddressApi.delete_customer_shipping_address"
  end
  if @api_client.config.client_side_validation && shipping_address_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "shipping_address_token_id" when calling CustomerShippingAddressApi.delete_customer_shipping_address, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && shipping_address_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "shipping_address_token_id" when calling CustomerShippingAddressApi.delete_customer_shipping_address, the character length must be great than or equal to 1.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length > 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerShippingAddressApi.delete_customer_shipping_address, the character length must be smaller than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length < 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerShippingAddressApi.delete_customer_shipping_address, the character length must be great than or equal to 36.'
  end

  # resource path
  local_var_path = 'tms/v2/customers/{customerTokenId}/shipping-addresses/{shippingAddressTokenId}'.sub('{' + 'customerTokenId' + '}', customer_token_id.to_s).sub('{' + 'shippingAddressTokenId' + '}', shipping_address_token_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;charset=utf-8'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
  header_params[:'profile-id'] = opts[:'profile_id'] if !opts[:'profile_id'].nil?

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = []
  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
            begin
            raise
                    @api_client.config.logger.debug "API called: CustomerShippingAddressApi#delete_customer_shipping_address\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
            rescue
                    puts 'Cannot write to log'
            end
      end
  return data, status_code, headers
end
get_customer_shipping_address(customer_token_id, shipping_address_token_id, opts = {}) click to toggle source

Retrieve a Customer Shipping Address @param customer_token_id The TokenId of a customer. @param shipping_address_token_id The TokenId of an shipping address. @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @return [Tmsv2customersEmbeddedDefaultShippingAddress]

# File lib/cybersource_rest_client/api/customer_shipping_address_api.rb, line 124
def get_customer_shipping_address(customer_token_id, shipping_address_token_id, opts = {})
  data, status_code, headers = get_customer_shipping_address_with_http_info(customer_token_id, shipping_address_token_id, opts)
  return data, status_code, headers
end
get_customer_shipping_address_with_http_info(customer_token_id, shipping_address_token_id, opts = {}) click to toggle source

Retrieve a Customer Shipping Address @param customer_token_id The TokenId of a customer. @param shipping_address_token_id The TokenId of an shipping address. @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @return [Array<(Tmsv2customersEmbeddedDefaultShippingAddress, Fixnum, Hash)>] Tmsv2customersEmbeddedDefaultShippingAddress data, response status code and response headers

# File lib/cybersource_rest_client/api/customer_shipping_address_api.rb, line 135
def get_customer_shipping_address_with_http_info(customer_token_id, shipping_address_token_id, opts = {})
  
      if @api_client.config.debugging
           begin
                    raise
                            @api_client.config.logger.debug 'Calling API: CustomerShippingAddressApi.get_customer_shipping_address ...'
                    rescue
                            puts 'Cannot write to log'
                    end
  end
  # verify the required parameter 'customer_token_id' is set
  if @api_client.config.client_side_validation && customer_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'customer_token_id' when calling CustomerShippingAddressApi.get_customer_shipping_address"
  end
  if @api_client.config.client_side_validation && customer_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerShippingAddressApi.get_customer_shipping_address, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && customer_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerShippingAddressApi.get_customer_shipping_address, the character length must be great than or equal to 1.'
  end

  # verify the required parameter 'shipping_address_token_id' is set
  if @api_client.config.client_side_validation && shipping_address_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'shipping_address_token_id' when calling CustomerShippingAddressApi.get_customer_shipping_address"
  end
  if @api_client.config.client_side_validation && shipping_address_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "shipping_address_token_id" when calling CustomerShippingAddressApi.get_customer_shipping_address, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && shipping_address_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "shipping_address_token_id" when calling CustomerShippingAddressApi.get_customer_shipping_address, the character length must be great than or equal to 1.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length > 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerShippingAddressApi.get_customer_shipping_address, the character length must be smaller than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length < 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerShippingAddressApi.get_customer_shipping_address, the character length must be great than or equal to 36.'
  end

  # resource path
  local_var_path = 'tms/v2/customers/{customerTokenId}/shipping-addresses/{shippingAddressTokenId}'.sub('{' + 'customerTokenId' + '}', customer_token_id.to_s).sub('{' + 'shippingAddressTokenId' + '}', shipping_address_token_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;charset=utf-8'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
  header_params[:'profile-id'] = opts[:'profile_id'] if !opts[:'profile_id'].nil?

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = []
  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 => 'Tmsv2customersEmbeddedDefaultShippingAddress')
  if @api_client.config.debugging
            begin
            raise
                    @api_client.config.logger.debug "API called: CustomerShippingAddressApi#get_customer_shipping_address\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
            rescue
                    puts 'Cannot write to log'
            end
      end
  return data, status_code, headers
end
get_customer_shipping_addresses_list(customer_token_id, opts = {}) click to toggle source

List Shipping Addresses for a Customer @param customer_token_id The TokenId of a customer. @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @option opts [Integer] :offset Starting record in zero-based dataset that should be returned as the first object in the array. Default is 0. (default to 0) @option opts [Integer] :limit The maximum number that can be returned in the array starting from the offset record in zero-based dataset. Default is 20, maximum is 100. (default to 20) @return [ShippingAddressListForCustomer]

# File lib/cybersource_rest_client/api/customer_shipping_address_api.rb, line 221
def get_customer_shipping_addresses_list(customer_token_id, opts = {})
  data, status_code, headers = get_customer_shipping_addresses_list_with_http_info(customer_token_id, opts)
  return data, status_code, headers
end
get_customer_shipping_addresses_list_with_http_info(customer_token_id, opts = {}) click to toggle source

List Shipping Addresses for a Customer @param customer_token_id The TokenId of a customer. @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @option opts [Integer] :offset Starting record in zero-based dataset that should be returned as the first object in the array. Default is 0. @option opts [Integer] :limit The maximum number that can be returned in the array starting from the offset record in zero-based dataset. Default is 20, maximum is 100. @return [Array<(ShippingAddressListForCustomer, Fixnum, Hash)>] ShippingAddressListForCustomer data, response status code and response headers

# File lib/cybersource_rest_client/api/customer_shipping_address_api.rb, line 233
def get_customer_shipping_addresses_list_with_http_info(customer_token_id, opts = {})
  
      if @api_client.config.debugging
           begin
                    raise
                            @api_client.config.logger.debug 'Calling API: CustomerShippingAddressApi.get_customer_shipping_addresses_list ...'
                    rescue
                            puts 'Cannot write to log'
                    end
  end
  # verify the required parameter 'customer_token_id' is set
  if @api_client.config.client_side_validation && customer_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'customer_token_id' when calling CustomerShippingAddressApi.get_customer_shipping_addresses_list"
  end
  if @api_client.config.client_side_validation && customer_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerShippingAddressApi.get_customer_shipping_addresses_list, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && customer_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerShippingAddressApi.get_customer_shipping_addresses_list, the character length must be great than or equal to 1.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length > 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerShippingAddressApi.get_customer_shipping_addresses_list, the character length must be smaller than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length < 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerShippingAddressApi.get_customer_shipping_addresses_list, the character length must be great than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
    fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling CustomerShippingAddressApi.get_customer_shipping_addresses_list, must be greater than or equal to 0.'
  end

  if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
    fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling CustomerShippingAddressApi.get_customer_shipping_addresses_list, must be smaller than or equal to 100.'
  end

  if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
    fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling CustomerShippingAddressApi.get_customer_shipping_addresses_list, must be greater than or equal to 1.'
  end

  # resource path
  local_var_path = 'tms/v2/customers/{customerTokenId}/shipping-addresses'.sub('{' + 'customerTokenId' + '}', customer_token_id.to_s)

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

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json;charset=utf-8'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
  header_params[:'profile-id'] = opts[:'profile_id'] if !opts[:'profile_id'].nil?

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = []
  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 => 'ShippingAddressListForCustomer')
  if @api_client.config.debugging
            begin
            raise
                    @api_client.config.logger.debug "API called: CustomerShippingAddressApi#get_customer_shipping_addresses_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
            rescue
                    puts 'Cannot write to log'
            end
      end
  return data, status_code, headers
end
patch_customers_shipping_address(customer_token_id, shipping_address_token_id, patch_customer_shipping_address_request, opts = {}) click to toggle source

Update a Customer Shipping Address @param customer_token_id The TokenId of a customer. @param shipping_address_token_id The TokenId of an shipping address. @param patch_customer_shipping_address_request @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @option opts [String] :if_match Contains an ETag value from a GET request to make the request conditional. @return [Tmsv2customersEmbeddedDefaultShippingAddress]

# File lib/cybersource_rest_client/api/customer_shipping_address_api.rb, line 322
def patch_customers_shipping_address(customer_token_id, shipping_address_token_id, patch_customer_shipping_address_request, opts = {})
  data, status_code, headers = patch_customers_shipping_address_with_http_info(customer_token_id, shipping_address_token_id, patch_customer_shipping_address_request, opts)
  return data, status_code, headers
end
patch_customers_shipping_address_with_http_info(customer_token_id, shipping_address_token_id, patch_customer_shipping_address_request, opts = {}) click to toggle source

Update a Customer Shipping Address @param customer_token_id The TokenId of a customer. @param shipping_address_token_id The TokenId of an shipping address. @param patch_customer_shipping_address_request @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @option opts [String] :if_match Contains an ETag value from a GET request to make the request conditional. @return [Array<(Tmsv2customersEmbeddedDefaultShippingAddress, Fixnum, Hash)>] Tmsv2customersEmbeddedDefaultShippingAddress data, response status code and response headers

# File lib/cybersource_rest_client/api/customer_shipping_address_api.rb, line 335
def patch_customers_shipping_address_with_http_info(customer_token_id, shipping_address_token_id, patch_customer_shipping_address_request, opts = {})
  
      if @api_client.config.debugging
           begin
                    raise
                            @api_client.config.logger.debug 'Calling API: CustomerShippingAddressApi.patch_customers_shipping_address ...'
                    rescue
                            puts 'Cannot write to log'
                    end
  end
  # verify the required parameter 'customer_token_id' is set
  if @api_client.config.client_side_validation && customer_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'customer_token_id' when calling CustomerShippingAddressApi.patch_customers_shipping_address"
  end
  if @api_client.config.client_side_validation && customer_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerShippingAddressApi.patch_customers_shipping_address, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && customer_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerShippingAddressApi.patch_customers_shipping_address, the character length must be great than or equal to 1.'
  end

  # verify the required parameter 'shipping_address_token_id' is set
  if @api_client.config.client_side_validation && shipping_address_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'shipping_address_token_id' when calling CustomerShippingAddressApi.patch_customers_shipping_address"
  end
  if @api_client.config.client_side_validation && shipping_address_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "shipping_address_token_id" when calling CustomerShippingAddressApi.patch_customers_shipping_address, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && shipping_address_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "shipping_address_token_id" when calling CustomerShippingAddressApi.patch_customers_shipping_address, the character length must be great than or equal to 1.'
  end

  # verify the required parameter 'patch_customer_shipping_address_request' is set
  if @api_client.config.client_side_validation && patch_customer_shipping_address_request.nil?
    fail ArgumentError, "Missing the required parameter 'patch_customer_shipping_address_request' when calling CustomerShippingAddressApi.patch_customers_shipping_address"
  end
  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length > 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerShippingAddressApi.patch_customers_shipping_address, the character length must be smaller than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length < 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerShippingAddressApi.patch_customers_shipping_address, the character length must be great than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'if_match'].nil? && opts[:'if_match'].to_s.length > 32
    fail ArgumentError, 'invalid value for "opts[:"if_match"]" when calling CustomerShippingAddressApi.patch_customers_shipping_address, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && !opts[:'if_match'].nil? && opts[:'if_match'].to_s.length < 1
    fail ArgumentError, 'invalid value for "opts[:"if_match"]" when calling CustomerShippingAddressApi.patch_customers_shipping_address, the character length must be great than or equal to 1.'
  end

  # resource path
  local_var_path = 'tms/v2/customers/{customerTokenId}/shipping-addresses/{shippingAddressTokenId}'.sub('{' + 'customerTokenId' + '}', customer_token_id.to_s).sub('{' + 'shippingAddressTokenId' + '}', shipping_address_token_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;charset=utf-8'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
  header_params[:'profile-id'] = opts[:'profile_id'] if !opts[:'profile_id'].nil?
  header_params[:'if-match'] = opts[:'if_match'] if !opts[:'if_match'].nil?

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(patch_customer_shipping_address_request)
  auth_names = []
  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 => 'Tmsv2customersEmbeddedDefaultShippingAddress')
  if @api_client.config.debugging
            begin
            raise
                    @api_client.config.logger.debug "API called: CustomerShippingAddressApi#patch_customers_shipping_address\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
            rescue
                    puts 'Cannot write to log'
            end
      end
  return data, status_code, headers
end
post_customer_shipping_address(customer_token_id, post_customer_shipping_address_request, opts = {}) click to toggle source

Create a Customer Shipping Address Include an existing TMS Customer token id in the request URI. * A Customer token can be created by calling: **POST */tms/v2/customers*** @param customer_token_id The TokenId of a customer. @param post_customer_shipping_address_request @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @return [Tmsv2customersEmbeddedDefaultShippingAddress]

# File lib/cybersource_rest_client/api/customer_shipping_address_api.rb, line 434
def post_customer_shipping_address(customer_token_id, post_customer_shipping_address_request, opts = {})
  data, status_code, headers = post_customer_shipping_address_with_http_info(customer_token_id, post_customer_shipping_address_request, opts)
  return data, status_code, headers
end
post_customer_shipping_address_with_http_info(customer_token_id, post_customer_shipping_address_request, opts = {}) click to toggle source

Create a Customer Shipping Address Include an existing TMS Customer token id in the request URI. * A Customer token can be created by calling: **POST */tms/v2/customers*** @param customer_token_id The TokenId of a customer. @param post_customer_shipping_address_request @param [Hash] opts the optional parameters @option opts [String] :profile_id The id of a profile containing user specific TMS configuration. @return [Array<(Tmsv2customersEmbeddedDefaultShippingAddress, Fixnum, Hash)>] Tmsv2customersEmbeddedDefaultShippingAddress data, response status code and response headers

# File lib/cybersource_rest_client/api/customer_shipping_address_api.rb, line 446
def post_customer_shipping_address_with_http_info(customer_token_id, post_customer_shipping_address_request, opts = {})
  
      if @api_client.config.debugging
           begin
                    raise
                            @api_client.config.logger.debug 'Calling API: CustomerShippingAddressApi.post_customer_shipping_address ...'
                    rescue
                            puts 'Cannot write to log'
                    end
  end
  # verify the required parameter 'customer_token_id' is set
  if @api_client.config.client_side_validation && customer_token_id.nil?
    fail ArgumentError, "Missing the required parameter 'customer_token_id' when calling CustomerShippingAddressApi.post_customer_shipping_address"
  end
  if @api_client.config.client_side_validation && customer_token_id.to_s.length > 32
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerShippingAddressApi.post_customer_shipping_address, the character length must be smaller than or equal to 32.'
  end

  if @api_client.config.client_side_validation && customer_token_id.to_s.length < 1
    fail ArgumentError, 'invalid value for "customer_token_id" when calling CustomerShippingAddressApi.post_customer_shipping_address, the character length must be great than or equal to 1.'
  end

  # verify the required parameter 'post_customer_shipping_address_request' is set
  if @api_client.config.client_side_validation && post_customer_shipping_address_request.nil?
    fail ArgumentError, "Missing the required parameter 'post_customer_shipping_address_request' when calling CustomerShippingAddressApi.post_customer_shipping_address"
  end
  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length > 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerShippingAddressApi.post_customer_shipping_address, the character length must be smaller than or equal to 36.'
  end

  if @api_client.config.client_side_validation && !opts[:'profile_id'].nil? && opts[:'profile_id'].to_s.length < 36
    fail ArgumentError, 'invalid value for "opts[:"profile_id"]" when calling CustomerShippingAddressApi.post_customer_shipping_address, the character length must be great than or equal to 36.'
  end

  # resource path
  local_var_path = 'tms/v2/customers/{customerTokenId}/shipping-addresses'.sub('{' + 'customerTokenId' + '}', customer_token_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;charset=utf-8'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8'])
  header_params[:'profile-id'] = opts[:'profile_id'] if !opts[:'profile_id'].nil?

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(post_customer_shipping_address_request)
  auth_names = []
  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 => 'Tmsv2customersEmbeddedDefaultShippingAddress')
  if @api_client.config.debugging
            begin
            raise
                    @api_client.config.logger.debug "API called: CustomerShippingAddressApi#post_customer_shipping_address\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
            rescue
                    puts 'Cannot write to log'
            end
      end
  return data, status_code, headers
end