Javascript 使用shopify npm模块创建草稿订单的错误请求

Javascript 使用shopify npm模块创建草稿订单的错误请求,javascript,api,shopify,Javascript,Api,Shopify,我正在使用“官方”Shopify节点适配器()并尝试创建一个草稿订单 发送的有效载荷 { "draft_order": { "line_items": [ { "title": "Custom Tee", "price": "20.00", "quantity": 2 } ] } } 通过Postman工作,但正在从api返回“错误请求”(400) 通过包装器的完整函数/调用如下所示: import

我正在使用“官方”Shopify节点适配器()并尝试创建一个草稿订单

发送的有效载荷

{
  "draft_order": {
    "line_items": [
      {
        "title": "Custom Tee",
        "price": "20.00",
        "quantity": 2
      }
    ]
  }
}
通过Postman工作,但正在从api返回“错误请求”(400)

通过包装器的完整函数/调用如下所示:

import Shopify from 'shopify-api-node';

makeDraftOrder: function(shop_name) {
    console.log('trying to connect with ', shop_name);
    const shop = Shops.findOne({'shopName': shop_name});

    const shopify_data = new Shopify({
      shopName: shop.shopName,
      accessToken: shop.accessToken
    });

    let newOrder = JSON.stringify({
      "draft_order": {
        "line_items": [
          {
            "title": "Custom Tee",
            "price": "20.00",
            "quantity": 2
          }
        ]
      }
    });

    shopify_data.draftOrder.create(newOrder).then(data => {
      console.log('draft order', data);
    }).catch(err => console.error('wawawoowa', err));
  }

调用
draftOrder.list()
可以正常工作,但上述操作失败。非常感谢您的帮助。

不要用
“汇票”来包装订单:{…}
。您也不需要将对象字符串化

let newOrder= {
  "line_items": [
    {
      "title": "Custom Tee",
      "price": "20.00",
      "quantity": 2
    }
  ]
};

shopify_data.draftOrder.create(newOrder)

很好,谢谢。你能告诉我你是怎么知道把这两个都去掉的吗?不久前我也有同样的问题。我从
shopifyapi节点的源代码中找到了它。在这里,您可以看到一行用
“草稿订单”包装您的订单:{…}
内部:。此处设置了
:从
JSON.stringify
shopfify api节点
使用
got
模块发出请求。它有一个mode选项,在这里设置为true:因此您必须传递一个普通对象,然后在引擎盖下将其字符串化为JSON。@LukaszWiktor您能回答这个问题吗