Shopify订单API返回确定,但不使用JS更新订单

时间:2018-06-19 12:12:39

标签: ajax shopify

我正在尝试使用JS创建订单。我已经验证了我的应用程序,并具有将POST发布到orders.json的功能。我看到的状态码为200,表示请求已提交(正确吗?),但订单本身从未创建。我在请求中听到了有关禁用cookie的信息,但是我不知道该怎么做,所以如果这是我需要做的,请告诉我。

我准备了我的整个功能,因为我对这整个事情都不熟悉,这似乎可能是我的请求的结构,而不是API调用。我在控制台中看到“错误”日志,因此很明显错误功能正在运行。

function submitShuffle(prodid)
{
  console.log(prodid);
  var params = {
    "order": {
        "line_items": [
        {
            "variant_id": prodid,
            "quantity": 1
        }
      ]
    }
    };
    $.ajax({
      type: 'POST',
      url: 'https://<my-usrnam>:<my-pass>@toyboxshufflesandbox.myshopify.com/admin/orders.json',
      dataType: 'application/json',
      data: params,
      success: function(data){
        console.log(data);
      },
      error: function(data){
        console.log("Error");
        console.log(data);}
    });
}

2 个答案:

答案 0 :(得分:3)

您无法通过AJAX从Shopify Admin API检索信息。有一个限制,因为您必须公开用户名/密钥和密码,这不是一个好主意。

您必须使用某些服务/应用程序或仅创建自定义应用程序。

答案 1 :(得分:0)

购物时,Shopify返回一个对象。因此为200 OK状态。检查返回的对象。失败的创建POST对象将没有ID。因此,有第一条线索。其次,您会看到Shopify在返回的对象的Error键中告诉您问题出在哪里。如果您无法确定对Shopify消息的处理方式,请尽可能对GraphQL端点进行相同的调用,因为Shopify从这些端点返回的错误消息目前要好得多。他们正在将它们向后移植到较旧的REST API,但就目前而言,GraphQL更具表现力。