openapi: 3.0.1 info: title: Walmart Cost Management Assortment Recommendations Returns/Refunds API description: 'This API allows drop ship vendor (DSV) users to update cost for items in bulk. **May 2024**
Built: 05/09/2024, 13:05:34 ' version: '1.0' servers: - url: https://api-gateway.walmart.com description: Production URL - url: https://sandbox.walmartapis.com description: Sandbox URL tags: - name: Returns/Refunds paths: /v3/returns/{returnOrderId}/refund: post: tags: - Returns/Refunds summary: Walmart Issue Refund description: 'This API allows sellers to issue refund against a return order. Multiple return order lines can be refunded in one request. Note: Sellers can use the Refund Order Lines API for all non-exception category items, including adjustments that seller needs to determine a partial refund amount. Especially for exception category items: HAZMAT, OTHER and FREIGHT that are not eligible for the Marketplace Returns Program. ' externalDocs: description: View Guide url: /doc/us/mp/us-mp-returns/#4438 operationId: issueRefund parameters: - name: returnOrderId in: path description: The return order ID required: true schema: type: string - in: header name: WM_SEC.ACCESS_TOKEN description: The access token retrieved in the Token API call required: true schema: type: string example: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM..... - in: header name: WM_CONSUMER.CHANNEL.TYPE description: A unique ID to track the consumer request by channel. Use the Consumer Channel Type received during onboarding required: false schema: type: string - in: header name: WM_QOS.CORRELATION_ID description: A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID required: true schema: type: string example: b3261d2d-028a-4ef7-8602-633c23200af6 - in: header name: WM_SVC.NAME description: Walmart Service Name required: true schema: type: string example: Walmart Service Name requestBody: description: File fields content: application/json: schema: required: - customerOrderId - refundLines type: object properties: customerOrderId: type: string description: A unique ID associated with the sales order for specified customer refundLines: type: array description: Array of refund lines. items: required: - returnOrderLineNumber type: object properties: returnOrderLineNumber: type: integer description: A line number associated with each individual line in the return order. If return order has only one return order line and it is not provided in the request, the only available return order line is auto-selected. If return order has multiple return order lines, the required return order line must be provided in the request. If not provided in the request, it will result in data-error. format: int64 quantity: required: - measurementValue - unitOfMeasure type: object properties: unitOfMeasure: type: string description: The unit of measure in the item's weight (e.g., 'EACH' or 'EA') measurementValue: type: number description: The quantity of the unit of measure for the item format: double description: Total quantity returned in this return line description: Array of refund lines. example: customerOrderId: '1535274411287' refundLines: - returnOrderLineNumber: 1 quantity: unitOfMeasure: EA measurementValue: 2 required: true responses: '200': description: Successful Operation content: application/json: schema: type: object properties: returnOrderId: type: string description: The return order id customerOrderId: type: string description: A unique ID associated with the sales order for specified customer refundLines: type: array description: Array of refund lines items: required: - returnOrderLineNumber type: object properties: returnOrderLineNumber: type: integer description: A line number associated with each individual line in the return order. If return order has only one return order line and it is not provided in the request, the only available return order line is auto-selected. If return order has multiple return order lines, the required return order line must be provided in the request. If not provided in the request, it will result in data-error. format: int64 quantity: required: - measurementValue - unitOfMeasure type: object properties: unitOfMeasure: type: string description: The unit of measure in the item's weight (e.g., 'EACH' or 'EA') measurementValue: type: number description: The quantity of the unit of measure for the item format: double description: Total quantity returned in this return line description: Array of refund lines. example: returnOrderId: '106152711271982880' customerOrderId: '1535274411287' refundLines: - returnOrderLineNumber: 1 quantity: unitOfMeasure: EA measurementValue: 2 /v3/feeds: post: tags: - Returns/Refunds summary: Walmart Return Item Overrides description: 'Sellers can specify global settings for returns in Seller Center, and they can override individual item level settings using this API. Empty values for the settings will remove the existing overriden values and revert them to global settings. For more details, see the announcement forĀ [Bulk Return Rules](https://sellerhelp.walmart.com/s/guide?article=000008197).' operationId: bulkItemOverrideFeed parameters: - name: feedType in: query description: Feed Type required: true schema: type: string default: RETURNS_OVERRIDES - in: header name: WM_SEC.ACCESS_TOKEN description: The access token retrieved in the Token API call required: true schema: type: string example: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM..... - in: header name: WM_CONSUMER.CHANNEL.TYPE description: A unique ID to track the consumer request by channel. Use the Consumer Channel Type received during onboarding required: false schema: type: string - in: header name: WM_QOS.CORRELATION_ID description: A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID required: true schema: type: string example: b3261d2d-028a-4ef7-8602-633c23200af6 - in: header name: WM_SVC.NAME description: Walmart Service Name required: true schema: type: string example: Walmart Service Name requestBody: content: multipart/form-data: schema: required: - file type: object properties: file: type: string description: Feed file to upload format: binary examples: sample1: value: header: feedDate: '2018-08-31T20:59:14.000Z' overrideFeed: - sku: ABC001 overrides: returnCenterAlias: CAL1 sample2: value: header: feedDate: '2018-08-31T20:59:14.000Z' overrideFeed: - sku: ABC002 overrides: isKeepIt: 'Yes' sample3: value: header: feedDate: '2018-08-31T20:59:14.000Z' overrideFeed: - sku: ABC003 overrides: isReturnRestricted: 'No' sample4: value: header: feedDate: '2018-08-31T20:59:14.000Z' overrideFeed: - sku: ABC004 overrides: isKeepIt: '' responses: '200': description: Successful Operation content: application/json: schema: type: object properties: feedId: type: string description: A unique ID, returned from the Bulk Upload API, used for tracking the Feed File. example: feedId: C0771C26FF1A4282A73C6F3EB659D9BF@ATgBAQA /v3/returns: get: tags: - Returns/Refunds summary: Walmart Returns description: Retrieves the details of return orders for the specified filter criteria. externalDocs: description: View Guide url: /doc/us/mp/us-mp-returns/ operationId: getReturns parameters: - name: returnOrderId in: query description: Return order identifier of the return order object as part of array. This is the same as RMA number. required: false schema: type: string - name: customerOrderId in: query description: A unique ID associated with the sales order for specified customer required: false schema: type: string - name: status in: query description: 'Status may be specified to query the returns with specific status.Valid statuses are: INITIATED, DELIVERED, COMPLETED' required: false schema: type: string - name: replacementInfo in: query description: Provides additional attributes - replacementCustomerOrderID, returnType, rechargeReason, returnCancellationReason - related to Replacement return order, in response, if available. Allowed values are true or false. required: false schema: type: string - name: returnType in: query description: Specifies if the return order is a replacement return or a regular (refund) return. Possible values are REPLACEMENT or REFUND. required: false schema: type: string - name: returnCreationStartDate in: query description: 'Start Date for querying all return orders that were created after that date. Use one of the following formats, based on UTC, ISO 8601. Date example: ''2013-08-16'' Timestamp example: ''2013-08-16T10:30:15Z''' required: false schema: type: string format: date-time - name: returnCreationEndDate in: query description: 'Limits the query to the return orders that were created before this returnCreationEndDate. Use one of the following formats, based on ISO 8601, are allowed: UTC date or timestamp. Examples: ''2016-08-16T10:30:30.155Z'' or ''2016-08-16''' required: false schema: type: string format: date-time - name: returnLastModifiedStartDate in: query description: 'Start Date for querying all return orders that were modified after that date. Use one of the following formats, based on UTC, ISO 8601. Date example: ''2013-08-16'' Timestamp example: ''2013-08-16T10:30:15Z''.In case of dates with timezone, use format ''2020-04-17T10:42:41.000+0000'' and follow encode ''+'' with %20' required: false schema: type: string format: date-time - name: returnLastModifiedEndDate in: query description: 'Limits the query to the return orders that were modified before this date. Use one of the following formats, based on UTC, ISO 8601. Date example: ''2013-08-16'' Timestamp example: ''2013-08-18T10:30:15Z''.In case of dates with timezone, use format ''2020-04-18T10:42:41.000+0000'' and follow encode ''+'' with %20' required: false schema: type: string format: date-time - name: limit in: query description: The number of orders to be returned. Cannot be larger than 200 required: false schema: type: string default: '10' - in: header name: WM_SEC.ACCESS_TOKEN description: The access token retrieved in the Token API call required: true schema: type: string example: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM..... - in: header name: WM_CONSUMER.CHANNEL.TYPE description: A unique ID to track the consumer request by channel. Use the Consumer Channel Type received during onboarding required: false schema: type: string - in: header name: WM_QOS.CORRELATION_ID description: A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID required: true schema: type: string example: b3261d2d-028a-4ef7-8602-633c23200af6 - in: header name: WM_SVC.NAME description: Walmart Service Name required: true schema: type: string example: Walmart Service Name responses: '200': description: Successful Operation content: application/json: schema: required: - meta - returnOrders type: object properties: meta: required: - limit - nextCursor - totalCount type: object properties: totalCount: type: integer format: int64 limit: type: integer format: int64 nextCursor: type: string returnOrders: type: array description: List of returns for the seller. items: type: object properties: returnOrderId: type: string description: Return order identifier of the return order. This is the same as RMA number. customerEmailId: type: string description: Customer email address returnType: type: string description: Specifies if the return order is a replacement return or a regular (refund) return. Possible values are REPLACEMENT or REFUND. replacementCustomerOrderId: type: string description: customer order ID of the original return order on which the replacement is created. customerName: type: object properties: firstName: type: string description: Customer first name lastName: type: string description: Customer last name description: Customer information customerOrderId: type: string description: A unique ID associated with the sales order for specified customer returnOrderDate: type: string description: Date format for return order date format: date-time returnByDate: type: string description: Date format for return by order date format: date-time refundMode: type: string description: Determines when the refund was/will be issued to the customer totalRefundAmount: required: - currencyAmount - currencyUnit type: object properties: currencyAmount: type: number description: Amount to be refunded. It can be upto two decimal points. format: double currencyUnit: type: string description: Currency information description: Price of One unit of item, in this order line returnLineGroups: type: array description: These groups are created per label or type of carrier service required. (e.g., If order has some lines that can be clubbed and mailed together as a smart post then they belong to one return group. If a line is bulky and needs a different type of carrier service, then that line will be part of different group. Customer gets multiple labels depending on how many groups are created for the entire order.) items: type: object properties: groupNo: type: integer description: Sequence of group numbers where each returnLineGroups will represent one or more return lines format: int64 returnLines: type: array description: Array of return lines items: type: object properties: returnOrderLineNumber: type: integer description: Identifier of the return label format: int64 description: Array of return lines labels: type: array description: Array of labels items: type: object properties: labelImageURL: type: string description: Url to get the return label carrierInfoList: type: array description: Carrier information for the return items: type: object properties: carrierId: type: string description: ID of the carrier used for the return carrierName: type: string description: Name of the carrier used serviceType: type: string description: the type of service used trackingNo: type: string description: Tracking number of the order description: Carrier information for the return description: Array of labels returnExpectedFlag: type: boolean description: Is customer required to send this item back to return center description: These groups are created per label or type of carrier service required. (e.g., If order has some lines that can be clubbed and mailed together as a smart post then they belong to one return group. If a line is bulky and needs a different type of carrier service, then that line will be part of different group. Customer gets multiple labels depending on how many groups are created for the entire order.) returnOrderLines: type: array description: A list of order lines in the return order items: type: object properties: returnOrderLineNumber: type: integer description: The returns order line number for that return format: int64 salesOrderLineNumber: type: integer description: The sales order line number for the return created format: int64 sellerOrderId: type: string description: A unique ID associated with the sales order for specified Seller; gives Sellers the ability to print their own custom order ID on the return label; limit of 30 characters returnReason: type: string description: 'Gives the reason that was selected during the return creation. Reason codes are: ARRIVED_LATE, AUTO_RETURN, BOUGHT_ANOTHER_SIZE_OR_COLOR, BOUGHT_SOMEWHERE_ELSE, DAMAGED, DEFECTIVE, DUPLICATE_ITEM, INADEQUATE_QUALITY, INCORRECT_ITEM, LOST_AFTER_DELIVERY, LOST_IN_TRANSIT, LOWER_PRICE, MISSING_PARTS, NOT_AS_DESCRIBED, NO_LONGER_WANTED, RETURN_TO_SENDER, SHIPPING_BOX_DAMAGED, TRIED_TO_CANCEL and WRONG_SIZE/POOR_FIT' purchaseOrderId: type: string description: The purchase order ID for the return created purchaseOrderLineNumber: type: integer description: The purchase order line number for the return created format: int64 exceptionItemType: type: string isReturnForException: type: boolean rechargeReason: type: string description: reason for recharging the customer for replacement returnCancellationReason: type: string description: reason for cancelling the return item: type: object properties: sku: type: string description: An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. condition: type: string description: Information about the condition of the product. productName: type: string description: 'The name of the product associated with the line item. Example: ''Kenmore CF1'' or ''2086883 Canister Secondary Filter Generic 2 Pack''' itemWeight: required: - measurementValue - unitOfMeasure type: object properties: unitOfMeasure: type: string description: The unit of measure in the item's weight (e.g., 'EACH' or 'EA') measurementValue: type: number description: The quantity of the unit of measure for the item format: double description: Total quantity returned in this return line description: Details of the item to be returned charges: type: array description: Information relating to the charge for the orderLine items: type: object properties: chargeCategory: type: string description: The category type. (e.g., 'PRODUCT' or 'FEE') chargeName: type: string description: If chargeType is PRODUCT, chargeName is ItemPrice. If chargeType is PRODUCT and includes a chargeName as SubscriptionDiscount, these are subscription orders with a discount. If chargeType is SHIPPING, chargeName is Shipping chargePerUnit: required: - currencyAmount - currencyUnit type: object properties: currencyAmount: type: number description: Amount to be refunded. It can be upto two decimal points. format: double currencyUnit: type: string description: Currency information description: Price of One unit of item, in this order line isDiscount: type: boolean description: Is this charge a discount, which then needs to be subtracted from the refund isBillable: type: boolean description: 'Should this charge be included in the refund computation ' tax: type: array description: Taxes for each charge items: type: object properties: taxName: type: string description: Name of the tax excessTax: required: - currencyAmount - currencyUnit type: object properties: currencyAmount: type: number description: Amount to be refunded. It can be upto two decimal points. format: double currencyUnit: type: string description: Currency information description: Amount of excess tax in the order line taxPerUnit: required: - currencyAmount - currencyUnit type: object properties: currencyAmount: type: number description: Amount to be refunded. It can be upto two decimal points. format: double currencyUnit: type: string description: Currency information description: Price of One unit of item, in this order line description: Taxes for each charge excessCharge: required: - currencyAmount - currencyUnit type: object properties: currencyAmount: type: number description: Amount to be refunded. It can be upto two decimal points. format: double currencyUnit: type: string description: Currency information description: Price of One unit of item, in this order line references: type: array description: Used only for OG items: required: - name - value type: object properties: name: type: string value: type: string description: Used only for 1P description: Information relating to the charge for the orderLine unitPrice: required: - currencyAmount - currencyUnit type: object properties: currencyAmount: type: number description: Amount to be refunded. It can be upto two decimal points. format: double currencyUnit: type: string description: Currency information description: Price of One unit of item, in this order line itemReturnSettings: type: array description: 'Contains name value pairs of calculated charges for the line. Eg: if order line has 3 Qty, this will have a shipping charge = 3 * shipping charge per unit (This is present in the line level charges).' items: required: - name - value type: object properties: name: type: string value: type: string description: Used only for 1P chargeTotals: type: array description: 'Contains name value pairs of calculated charges for the line. Eg: if order line has 3 Qty, this will have a shipping charge = 3 * shipping charge per unit (This is present in the line level charges).' items: required: - name - value type: object properties: name: type: string description: 'Charge Names: lineUnitPrice, lineProductTaxes, lineTotalTaxes, lineRestockingFee, lineShippingFee, lineSubTotal, lineTotal.' value: required: - currencyAmount - currencyUnit type: object properties: currencyAmount: type: number description: Amount to be refunded. It can be upto two decimal points. format: double currencyUnit: type: string description: Currency information description: Price of One unit of item, in this order line description: 'Contains name value pairs of calculated charges for the line. Eg: if order line has 3 Qty, this will have a shipping charge = 3 * shipping charge per unit (This is present in the line level charges).' cancellableQty: type: integer description: How much quantity of this order line can be cancelled format: int64 quantity: required: - measurementValue - unitOfMeasure type: object properties: unitOfMeasure: type: string description: The unit of measure in the item's weight (e.g., 'EACH' or 'EA') measurementValue: type: number description: The quantity of the unit of measure for the item format: double description: Total quantity returned in this return line returnExpectedFlag: type: boolean description: Is customer required to send this item back to return center. isFastReplacement: type: boolean description: Applicable only for 1P. isKeepIt: type: boolean description: Is customer allowed to keep the product and not required to send it back to return center. This flag is determined by making a call to fraud system. lastItem: type: boolean description: This return is the last item on the sales order line and all other sales order line items are already returned. Helps in last penny calculations. refundedQty: type: number description: The quantity for which customer was refunded format: double rechargeableQty: type: number description: The quantity for which customer can be charged again for format: double refundChannel: type: string description: 'Determines the mode of refund initiation. Valid values are: WALMART_SETTLED_REFUND, SELLER_AUTO_REFUND, SELLER_MANUAL_REFUND, SELLER_SYSTEM_REFUND, and WALMART_TRIGGERED_REFUND.' returnTrackingDetail: type: array description: Informational blocks added as the return order completes its journey from return creation to received and refunded. items: type: object properties: sequenceNo: type: integer description: The stage the return is in. (e.g., '1' is an initiated return) format: int64 eventTag: type: string description: The last completed return event. (e.g., 'RETURN_IN_TRANSIT') eventDescription: type: string description: Description of current return status event. (e.g., 'A MARKET_PLACE Return in Transit') eventTime: type: string description: Timestamp of listed event format: date-time references: type: array description: Used only for 1P items: required: - name - value type: object properties: name: type: string value: type: string description: Used only for 1P description: Informational blocks added as the return order completes its journey from return creation to received and refunded. status: type: string description: Current status of return. (e.g., 'INITIATED') statusTime: type: string description: Timestamp of listed status change format: date-time currentDeliveryStatus: type: string description: Determines the current carrier tracking status of the return. currentRefundStatus: type: string description: Determines the current refund status of the return. currentTrackingStatuses: type: array description: Array of current tracking status of each quantity items: type: object properties: status: type: string description: Current status of return. (e.g., 'INITIATED') statusTime: type: string description: Timestamp of listed status change format: date-time currentRefundStatus: type: string description: Determines the current refund status of the return. quantity: required: - measurementValue - unitOfMeasure type: object properties: unitOfMeasure: type: string description: The unit of measure in the item's weight (e.g., 'EACH' or 'EA') measurementValue: type: number description: The quantity of the unit of measure for the item format: double description: Total quantity returned in this return line description: Array of current tracking status of each quantity refundChannels: type: array description: Array of refund channel of each quantity items: type: object properties: refundChannelName: type: string description: 'Valid values are: ONLINE, IN_STORE, and CUSTOMER_CARE' quantity: required: - measurementValue - unitOfMeasure type: object properties: unitOfMeasure: type: string description: The unit of measure in the item's weight (e.g., 'EACH' or 'EA') measurementValue: type: number description: The quantity of the unit of measure for the item format: double description: Total quantity returned in this return line description: Array of refund channel of each quantity description: A list of order lines in the return order returnChannel: type: object properties: channelName: type: string description: 'Valid values are: ONLINE, IN_STORE, and CUSTOMER_CARE' description: The channel via order return got initiated description: List of returns for the seller. example: meta: totalCount: 40 limit: 10 nextCursor: ?sellerId=151&limit=10&offset=10 returnOrders: - returnOrderId: '103738048909818825' customerEmailId: emailID123456@relay.walmart.com customerName: firstName: Jane lastName: Doe customerOrderId: '1234567891234' refundMode: POST_DELIVERY returnOrderDate: '2019-02-21T01:01:08.000Z' returnType: REPLACEMENT replacementCustomerOrderId: '1234567891234' returnByDate: '2019-03-23T01:01:06.000Z' totalRefundAmount: currencyAmount: 127.45 currencyUnit: USD returnLineGroups: - groupNo: 1 returnLines: - returnOrderLineNumber: 1 labels: - labelImageURL: https://i5.walmartimages.com/asr/0a0c7462-7a85-4d3d-b7cf-91738b6883d4_1.c2c4f7b05e1cfe67910134779aa7c571.png carrierInfoList: - carrierId: '11' carrierName: FEDEX serviceType: FedEx Ground trackingNo: '785611449666' returnExpectedFlag: true returnOrderLines: - returnOrderLineNumber: 1 salesOrderLineNumber: 1 returnReason: ARRIVED_LATE purchaseOrderId: '4790210558890' sellerOrderId: '123' purchaseOrderLineNumber: 1 isReturnForException: true exceptionItemType: HAZMAT/OTHER/FREIGHT rechargeReason: Recharge Reason returnCancellationReason: Cancellation Reason item: sku: ANTL_GDL-0700 condition: 'Pre-Owned: Like New' productName: Antlion Audio ModMic Wireless Attachable Boom Microphone itemWeight: unitOfMeasure: POUND measurementValue: 5 charges: - chargeCategory: PRODUCT chargeName: ItemPrice chargePerUnit: currencyAmount: 119.95 currencyUnit: USD isDiscount: false isBillable: true tax: - taxName: Tax1 excessTax: currencyAmount: 0 currencyUnit: USD taxPerUnit: currencyAmount: 7.5 currencyUnit: USD excessCharge: currencyAmount: 0 currencyUnit: USD references: - name: isAdjustment value: 'false' unitPrice: currencyAmount: 119.95 currencyUnit: USD chargeTotals: - name: lineUnitPrice value: currencyAmount: 119.95 currencyUnit: USD - name: lineProductTaxes value: currencyAmount: 7.5 currencyUnit: USD - name: lineTotalTaxes value: currencyAmount: 7.5 currencyUnit: USD - name: lineSubTotal value: currencyAmount: 119.95 currencyUnit: USD - name: lineTotal value: currencyAmount: 127.45 currencyUnit: USD currentDeliveryStatus: NOT_SHIPPED currentRefundStatus: REFUND_INITIATED currentTrackingStatuses: - status: COMPLETED statusTime: '2023-06-22T02:20:51.000Z' currentRefundStatus: REFUND_INITIATED quantity: unitOfMeasure: EACH measurementValue: 2 - status: COMPLETED statusTime: '2023-06-22T02:20:51.000Z' currentRefundStatus: REFUND_COMPLETED quantity: unitOfMeasure: EACH measurementValue: 1 refundChannels: - refundChannelName: SELLER_MANUAL_REFUND quantity: measurementValue: 2 - refundChannelName: InstantRefund quantity: measurementValue: 1 cancellableQty: 0 quantity: unitOfMeasure: EACH measurementValue: 3 returnExpectedFlag: true isFastReplacement: false isKeepIt: false lastItem: false refundedQty: 1 rechargeableQty: 0 refundChannel: SELLER_AUTO_REFUND returnTrackingDetail: - sequenceNo: 1 eventTag: RETURN_IN_TRANSIT eventDescription: A MARKET_PLACE Return in Transit eventTime: '2019-02-23T00:46:11.000Z' references: - name: ReturnDate value: '2019-02-21T01:01:08.000Z' - name: SLA for Receiving Items value: 7 Days - sequenceNo: 0 eventTag: RETURN_INITIATED eventDescription: Return initiated for MARKET_PLACE eventTime: '2019-02-21T01:01:08.000Z' references: - name: ReturnDate value: '2019-02-21T01:01:08.000Z' - name: FedexTrackingLink value: https://www.fedex.com/apps/fedextrack/?tracknumbers=785611449666 status: COMPLETED statusTime: '2019-03-02T05:45:45.000Z' returnChannel: channelName: IN_STORE x-tagGroups: - name: 1P Suppliers DSV Cost Reference tags: - DSV Cost