Checking dispute status
Use the Dispute status API to check the processing status of duplicate item disputes you previously submitted. You send a list of product identifiers, and the service returns a per-item status indicating where each dispute is in the workflow.
- You submit
productIdandproductIdTypepairs under issues. - The service looks up each dispute and returns an
itemResponsearray. - Each entry includes the current
statusand alastUpdatedDate(Unix epoch timestamp). - Typical statuses include: IN_REVIEW, PROCESSING, ERROR, COMPLETED.
Endpoint
POST https://marketplace.walmartapis.com/v3/items/dispute/duplicates/status
Sample request
curl -X 'POST' '<http://marketplace.walmartapis.com/v3/items/dispute/duplicates/status'> -H 'accept: application/json' -H 'WM_SEC.ACCESS_TOKEN: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....' -H 'WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6' -H 'WM_SVC.NAME: Walmart Service Name' -H 'Content-Type: application/json' -d '{ "issues": [ { "productId": "string", "productIdType": "string" } ] }'
import requests url = "http://marketplace.walmartapis.com/v3/items/dispute/duplicates/status"
headers = { "accept": "application/json", "WM_SEC.ACCESS_TOKEN": "eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....", "WM_QOS.CORRELATION_ID": "b3261d2d-028a-4ef7-8602-633c23200af6", "WM_SVC.NAME": "Walmart Service Name", "Content-Type": "application/json"
}
data = { "issues": [ { "productId": "string", "productIdType": "string" } ]
} response = requests.post(url, headers=headers, json=data)
print(response.status_code)
print(response.json())
Modify the code
Follow these steps to customize the sample and get a successful response:
- Replace the access token and other placeholder header values with your actual data.
- Populate the request body with real IDs:
productId: Provide a valid identifier for the disputed item (for example, a WPID value).productIdType: Use the correct type for the productId you send (for example, WPID). Keep types consistent across entries.
- Add multiple objects under
issuesto check several disputes in one call. - Handle response statuses:
- Treat COMPLETED as final.
- IN_REVIEW or PROCESSING indicates the dispute is still underway; you can poll again later.
- If ERROR, contact Support.
- Resilience and safe logging: On 429 or 5xx, retry with exponential backoff and random jitter. Log only non-sensitive metadata (timestamp, path, status, attempt); never log tokens.
Sample response
{ "itemResponse": [ { "productId": "3V47ZGPR09H5", "productIdType": "WPID", "status": "IN_REVIEW", "lastUpdatedDate": "<TIMESTAMP: Unix Epoch timestamp>" }, { "productId": "12G6TANIZ4WR", "productIdType": "WPID", "status": "PROCESSING", "lastUpdatedDate": "<TIMESTAMP: Unix Epoch timestamp>" }, { "productId": "9JX7AGCLSR8H", "productIdType": "WPID", "status": "ERROR", "lastUpdatedDate": "<TIMESTAMP: Unix Epoch timestamp>" }, { "productId": "12G6TANIZ4WR", "productIdType": "WPID", "status": "COMPLETED", "lastUpdatedDate": "<TIMESTAMP: Unix Epoch timestamp>" } ] }
Next steps
- Build a polling strategy for IN_REVIEW/PROCESSING items with exponential backoff and jitter.
- Surface ERROR entries to Support with the identifiers used so they can correct input or escalate.
- Once COMPLETED, proceed with any downstream catalog updates your workflow requires.
Updated 10 days ago
