walmart-api - 收据 API 是否可用?

标签 walmart-api

我看到沃尔玛 Android 应用程序能够捕获收据条形码(似乎是传统的一维条形码,而不是二维二维码),然后检索该收据的电子版本。然后,它会将该收据添加到应用程序中的“购买历史记录”中。这个收据API可用吗?我想从沃尔玛收据中获取数据,但收据本身的质量较差会导致许多 OCR 问题。

我查看了 WalmartLabs Walmart.io API,但没有看到收据 API。我试图在那里问这个问题,但他们的“提问”表单已损坏(“提交”按钮不执行任何操作)。

最佳答案

在调查类似问题时发现了这一点,并偶然发现了答案。我正在尝试构建一个工具,可以让我对某些购买进行自动分类。不幸的是,沃尔玛非常重视其安全性,并实现了多项措施来防止在其网站上运行自动化工具(即使使用诸如 puppeteer-stealth 之类的东西)

但是,今天我发现如果你去https://walmart.com/receipt-lookup ,然后查看网络选项卡 — 您实际上可以看到请求发送到 https://walmart.com/chcwebapp/api/receipts它只需要几个参数:

{
   "storeId": number;
   "purchaseDate": string - MM-DD-YYYY;
   "cardType": string (ex. "visa")
   "total": number (ex. 100.89)
   "lastFourDigits": string (ex. "1234")
}

为了完整起见,我们举一个 cURL 请求示例:

curl 'https://www.walmart.com/chcwebapp/api/receipts' \
  -H 'sec-ch-ua: "Chromium";v="98", " Not A;Brand";v="99", "Google Chrome";v="98"' \
  -H 'accept: application/json' \
  -H 'Referer: https://www.walmart.com/receipt-lookup' \
  -H 'content-type: application/json' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36' \
  -H 'sec-ch-ua-platform: "Mac OS X"' \
  --data-raw '{"storeId":"123","purchaseDate":"02-19-2022","cardType":"visa","total":"100.00","lastFourDigits":"1234"}' \
  --compressed

它似乎不需要任何类型的身份验证,因为快速浏览一下请求就不会发现 cookie!

我很高兴发现了这个。我不完全确定它是否能满足您的需求,但由于我的工具已经可以访问总数、最后 4 个日期和日期,我所需要的只是 storeId,我可以轻松地对其进行硬编码,因为我们只在一家沃尔玛购物!


顺便说一句,如果沃尔玛工程团队的任何人看到这一点,请考虑允许开发社区访问他们自己的数据。我完全可以为 PS5 版本等实现 PerimeterX 机器人防御,但阻止登录尝试只是为了查看我自己的收据?这就像用火箭筒消灭蚁丘一样。

关于walmart-api - 收据 API 是否可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57482686/

相关文章:

java - 沃尔玛邮政 API 的变化

http-post - Walmart API - 有效负载 mime 类型问题 - 批量创建/更新项目不起作用

python - 发布项目沃尔玛合作伙伴 API Python

php - 沃尔玛 API 搜索产品

python - 如何生成WM_SEC.AUTH_SIGNATURE?

c# - 沃尔玛 API POST 因 400 错误请求(库存提要)ARCA 而失败