Class: WalmartApIs::FeedsFeedTypePriceAndPromotionApi

Inherits:
BaseApi
  • Object
show all
Defined in:
lib/walmart_ap_is/apis/feeds_feed_type_price_and_promotion_api.rb

Overview

FeedsFeedTypePriceAndPromotionApi

Constant Summary

Constants inherited from BaseApi

BaseApi::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseApi

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseApi

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

Constructor Details

This class inherits a constructor from WalmartApIs::BaseApi

Instance Method Details

#update_pricing_for_multiple_items_in_bulk_new(feed_type, wm_sec_access_token, wm_consumer_channel_type, wm_qos_correlation_id, wm_svc_name, accept, body) ⇒ ApiResponse

Updates the price and promotions in bulk for multiple items. You can modify the prices of multiple items in bulk using a price feed. This is useful for implementing pricing strategies across your catalog, such as seasonal discounts, competitive pricing adjustments, or clearance sales. Each price feed can contain up to 10,000 items. To ensure optimal performance (feed processing time), we recommend limiting the feeds to 1,000 items and keeping the payload under 10 MB. The price sequence guarantee is observed by the bulk price update functionality, subject to the following rules: Use this API instead of the single price update API, especially if a new item has been set up and a Walmart Part ID (wpid) is available. Ensure to wait at least 24 hours after item creation to use the bulk price update API. The bulk price update Service Level Agreement (SLA) is 15 minutes. You may include the same Stock Keeping Unit (SKU) multiple times in a single feed. However, if a SKU is repeated in a feed, only on price will be applied. The price sequence guarantee ensures that the latest price update, based on its creation timestamp, is the one that changes the price of the item, overwriting the previous version. Price updates received with an earlier timestamp are ignored. As a result, we recommend all feed-based bulk updates base the value of ‘feedDate` on UTC. After submitting the price feed, wait at least 5 minutes before checking whether the bulk price update was successful. If a price update fails, for example due to duplicate SKU entries, an error response will be returned. For more information and usage examples, refer to the <a href=“developer.walmart.com/us-marketplace/reference/priceandpromo tionbulkuploads”>Pricing API Guide</a>. here obtained from the Token API. This is required for authenticating requests to Walmart Marketplace APIs. to track the consumer request by channel. Use the Consumer Channel Type received during onboarding. identifies each API call and is used to track and debug issues. Use a randomly generated GUID for this ID. Walmart service being called. parameter: TODO: type description here

Parameters:

  • feed_type (String)

    Required parameter: TODO: type description

  • wm_sec_access_token (String)

    Required parameter: Access token

  • wm_consumer_channel_type (String)

    Required parameter: A unique ID

  • wm_qos_correlation_id (String)

    Required parameter: A unique ID that

  • wm_svc_name (String)

    Required parameter: Specifies the name of the

  • accept (String)

    Required parameter: TODO: type description here

  • body (UpdatePricingForMultipleItemsInBulkNewRequest)

    Required

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



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
# File 'lib/walmart_ap_is/apis/feeds_feed_type_price_and_promotion_api.rb', line 52

def update_pricing_for_multiple_items_in_bulk_new(feed_type,
                                                  wm_sec_access_token,
                                                  wm_consumer_channel_type,
                                                  wm_qos_correlation_id,
                                                  wm_svc_name,
                                                  accept,
                                                  body)
  @api_call
    .request(new_request_builder(HttpMethodEnum::POST,
                                 '/feeds',
                                 Server::SERVER_1)
               .query_param(new_parameter(feed_type, key: 'feedType')
                             .is_required(true))
               .header_param(new_parameter(wm_sec_access_token, key: 'WM_SEC.ACCESS_TOKEN')
                              .is_required(true))
               .header_param(new_parameter(wm_consumer_channel_type, key: 'WM_CONSUMER.CHANNEL.TYPE')
                              .is_required(true))
               .header_param(new_parameter(wm_qos_correlation_id, key: 'WM_QOS.CORRELATION_ID')
                              .is_required(true))
               .header_param(new_parameter(wm_svc_name, key: 'WM_SVC.NAME')
                              .is_required(true))
               .header_param(new_parameter('application/json', key: 'Content-Type'))
               .header_param(new_parameter(accept, key: 'Accept')
                              .is_required(true))
               .body_param(new_parameter(body)
                            .is_required(true))
               .body_serializer(proc do |param| param.to_json unless param.nil? end))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(SuccessfulOperation8.method(:from_hash))
                .is_api_response(true))
    .execute
end