curl Walmart MX Marketplace确认订单API问题

vxf3dgd4  于 2022-11-13  发布在  其他
关注(0)|答案(2)|浏览(196)

我正在使用PHP将Walmart集成到我自己的Web应用程序中。当我尝试确认我在墨西哥的订单时,我得到了一个空响应。响应的数据类型是长度为0的字符串,错误代码为400。看起来我的凭据是正确的。“https://marketplace.walmartapis.com/v3/orders/ {PurchaseOrderId}/acknowledge”是有效的API URL吗?

$url="https://marketplace.walmartapis.com/v3/orders/P108915403/acknowledge";
$ch      = curl_init();
$qos     = uniqid();
$options = array(
    CURLOPT_URL            => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
    CURLOPT_HEADER         => false,
    CURLOPT_POST           =>1,
    CURLOPT_HTTPHEADER     => array(
        "WM_SVC.NAME: Walmart Marketplace",
        "WM_QOS.CORRELATION_ID: $qos",
        "Authorization: Basic $authorization",
        "WM_SEC.ACCESS_TOKEN:$token",
        "Accept: application/json",
        "Content-Type: application/json",
        "WM_MARKET: mx",
    ),
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
var_dump($response);

Code Snippet

xdyibdwo

xdyibdwo1#

放在一边几个月后,今天我拿起它,终于得到了解决幸运的是,得到了一个202接受的回应与空的内容(沃尔玛的文件说,响应一个成功的电话包含确认订单,但它实际上什么都不包含,除了202接受代码).
当我试图确认我的墨西哥订单时,响应实际上不是空的。标头包含错误消息:http code 400 Bad Request.我在测试后确认这是由于错误的负载结构。因此“https://marketplace.walmartapis.com/v3/orders/ {PurchaseOrderId}/acknowledge”是有效的API URL,与US API相同。它们之间的区别在于MX站点需要通过POST提供结构良好的负载,而US站点不需要(US API只需要通过POST提供空负载)。
成功调用的关键点是有效负载的结构。该结构应该类似于文档中的示例。
注意结构的细节。Refer to the picture for the structure of payload here.**“orderLine”“orderLineStatus”**应该声明为ARRAY,而不是单个元素。这就是我之前调用确认API失败的原因。

omqzjyyz

omqzjyyz2#

看起来您使用的是已停产的旧API,已于2020年12月下旬进行了沟通。
我们通过以下步骤改善了入职体验:
1.点击搜索框前的用户图标,在沃尔玛IO平台- www.example.com上创建一个帐户https://walmart.io。
1.登录帐户并接受“使用条款”
1.单击“Create Your Application”(创建您的应用程序)以创建新应用程序并填写相应的详细信息。
1.使用本教程生成两组公钥/私钥-https://walmart.io/key-tutorial * 一套将用于生产。 * 舞台将使用其他布景。
1.使用-https://walmart.io/key-upload?app_name=〈您的应用名称〉上传两个公钥
1.将为产品集和阶段集生成消费者ID,您可以在 Jmeter 板上看到这些ID-https://walmart.io/userdashboard
1.在www.example.com上单击“Request Access”(请求访问)以获取Checkout APIhttps://walmart.io/reference,然后填写表格。
1.一旦访问权限获得批准,文档将可用于通过沃尔玛I/O与Commerce API集成。
1.我们会把客户的秘密发出去,一旦他们准备好了就开始行动。 谢谢,Firdos IOSupport

相关问题