Class: WalmartApIs::FeedsFeedTypePriceAndPromotionApi
- Defined in:
- lib/walmart_ap_is/apis/feeds_feed_type_price_and_promotion_api.rb
Overview
FeedsFeedTypePriceAndPromotionApi
Constant Summary
Constants inherited from BaseApi
Instance Attribute Summary
Attributes inherited from BaseApi
Instance Method Summary collapse
-
#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.
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
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 |