Class: InventoryManagementAndItemManagementAndOrderManagementAndPriceManagement::IdController

Inherits:
BaseController
  • Object
show all
Defined in:
lib/inventory_management_and_item_management_and_order_management_and_price_management/controllers/id_controller.rb

Overview

IdController

Constant Summary

Constants inherited from BaseController

BaseController::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseController

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseController

#initialize, #new_parameter, #new_request_builder, #new_response_handler, user_agent

Constructor Details

This class inherits a constructor from InventoryManagementAndItemManagementAndOrderManagementAndPriceManagement::BaseController

Instance Method Details

#anitem(product_id_type, condition, availability, show_duplicate_item_details, id, wm_sec_access_token, wm_consumer_channel_type, wm_qos_correlation_id, wm_svc_name, accept) ⇒ SuccessfulOperation31

This API endpoint allows you to retrieve detailed information about a specific item from the partner’s catalog. You must pass productId as a path parameter and partnerId as a query parameter. The response includes an isDuplicate field, indicating whether the item is a duplicate (true or false). This field will not be available if the productIdType is SKU. Throttling: This endpoint is throttled at a maximum of 900 transactions per minute (TPM) per seller. When called with the showDuplicateItemInfo parameter, this is reduced to 60 TPM. by additional supported product identifiers (SKU, GTIN, EAN, ISBN, EAN, and Item ID). Use this parameter if you need to filter results based on a specific product ID type. If not specified, the call searches by SKU by default. the product. Specify this parameter to filter items based on their condition. availability status. Use this parameter to filter items by their availability status. parameter: Indicates whether to include details of duplicate items in the response. Set this parameter to true if you want to receive information on duplicate items. seller-specified identifier for the item. Defaults to the SKU code. access token retrieved in the Token API call to track the consumer request by channel. Use the Consumer Channel Type received during onboarding unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID Name

Parameters:

  • product_id_type (String)

    Required parameter: Allows users to search

  • condition (String)

    Required parameter: Indicates the condition of

  • availability (String)

    Required parameter: Specifies the product’s

  • show_duplicate_item_details (TrueClass | FalseClass)

    Required

  • id (String)

    Required parameter: (Required) A unique

  • wm_sec_access_token (String)

    Required parameter: (Required) The

  • wm_consumer_channel_type (String)

    Required parameter: A unique ID

  • wm_qos_correlation_id (String)

    Required parameter: (Required) A

  • wm_svc_name (String)

    Required parameter: (Required) Walmart Service

  • accept (String)

    Required parameter: TODO: type description here

Returns:



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/inventory_management_and_item_management_and_order_management_and_price_management/controllers/id_controller.rb', line 48

def anitem(product_id_type,
           condition,
           availability,
           show_duplicate_item_details,
           id,
           wm_sec_access_token,
           wm_consumer_channel_type,
           wm_qos_correlation_id,
           wm_svc_name,
           accept)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/items/{id}',
                                 Server::DEFAULT)
               .query_param(new_parameter(product_id_type, key: 'productIdType'))
               .query_param(new_parameter(condition, key: 'condition'))
               .query_param(new_parameter(availability, key: 'availability'))
               .query_param(new_parameter(show_duplicate_item_details, key: 'showDuplicateItemDetails'))
               .template_param(new_parameter(id, key: 'id')
                                .should_encode(true))
               .header_param(new_parameter(wm_sec_access_token, key: 'WM_SEC.ACCESS_TOKEN'))
               .header_param(new_parameter(wm_consumer_channel_type, key: 'WM_CONSUMER.CHANNEL.TYPE'))
               .header_param(new_parameter(wm_qos_correlation_id, key: 'WM_QOS.CORRELATION_ID'))
               .header_param(new_parameter(wm_svc_name, key: 'WM_SVC.NAME'))
               .header_param(new_parameter(accept, key: 'Accept')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(SuccessfulOperation31.method(:from_hash))
                .local_error('400',
                             'Bad Request',
                             Items400ErrorException)
                .local_error('404',
                             'Not Found',
                             Items404ErrorException)
                .local_error('500',
                             'Internal Server Error',
                             Items500ErrorException))
    .execute
end