Walmart API - 有效负载mime类型问题 - 批量创建/更新项目无效
作者:ERIK又 | 2023-09-07 14:32
如何解决《WalmartAPI-有效负载mime类型问题-批量创建/更新项目无效》经验,为你挑选了0个好方法。
我能够成功地对其他Walmart API端点进行API调用(特别是GET请求端点),但是批量项端点(POST请求)会导致错误,即使我似乎一切都正确.
以下是对该端点的引用
https://developer.walmartapis.com/#bulk-createupdate-items
HTTP响应META信息
500内部服务器错误
XML
HTTP响应
SYSTEM_ERROR.GMP_GATEWAY_API
Couldn't determine the boundary from the message!
System encountered some internal error.
ERROR
DATA
HTTP请求:
url
https://marketplace.walmartapis.com/v2/feeds?feedType=item
方法 POST
请求标头
WM_SVC.NAME: Walmart Marketplace
WM_CONSUMER.ID: {my consumer id key}
WM_QOS.CORRELATION_ID: {my arbitrary text key}
Content-Type: multipart/form-data
Accept: application/xml
WM_SEC.AUTH_SIGNATURE:{my jar-file-generated key}
WM_SEC.TIMESTAMP:{my jar-file-generated timestamp}
POST有效负载(只是文本,参数没有键)
2.1
qqq
qqq1
qqq
QQQ 1-Foot S-Video Male to 2 S-Video Female Y Cable (CSV2F)
QVS Premium S-Video Mini4 Male to Two Female Splitter Cable CSV2F A/V Device Cables
]]>
QQQ 1-Foot S-Video Male to 2 S-Video Female Y Cable (CSV2F)
http://images.antonline.com/img-main/500/037229400328.jpg
Item ID
46817049
2038710
QQQ
USD
12.34
1.234
LB
笔记:
在发出http请求时,我尝试使用Google的高级REST客户端应用程序以及POSTMAN,以排除源自我的代码的问题.
我试过调整想到的一切.
我有其他端点有GET请求工作,所以我知道它不是身份验证,IP,防火墙或类似的问题.
我知道由walmart提供的jar文件生成的凭据(请参阅文档https://developer.walmartapis.com/#jar-executable-recommended的身份验证部分)必须提供您要发送到的URL.所以我知道这不是用jar文件生成错误密钥的问题.
假设:
根据响应,我发送的数据或标题必定有问题.
无法确定消息的边界!
听起来像xml没有平衡标签,但我已经验证了这个xml
此端点的walmart api文档说使用标头Content-Type: multipart/form-data;
.所以我做了,导致失败反应.
但是使用这个标题对我来说似乎没有意义,因为有效负载主体是一个xml字符串.不应该Content-Type: application/xml
吗?我也试过这个,但上面的响应失败却失败了(500,SYSTEM_ERROR.GMP_GATEWAY_API,无法确定消息的边界!)
所以似乎Content-Type: application/xml
可以排除.
walmart api文档仅提供了如何更改产品ID或sku的示例,但不提供用于创建的示例.我假设我只是省略了特定于更新产品ID或sku的xml标签,但是xml有效负载也会导致500响应.
我没有想法,有没有其他人获得批量创建/更新项目工作?任何人都有实际工作的示例代码?