如何将Shopify价格规则ID传递给Shopify折扣创建

时间:2018-10-10 07:54:03

标签: node.js promise shopify

我尝试使用MONEI/Shopify-api-node创建打折券,成功创建了价格规则和价格规则ID。 index.js(node server)

theme.liquid (client)

在.then方法priceRule.create中,获取priceRule id后,我不想将响应返回给用户。我想使用priceRule id进行另一个调用,但要使用DiscountCode.create。 在DiscountCode.create的.then函数中,我无法获取priceRule id来创建折扣代码,现在将其返回给UI。

简而言之,如何将价格规则ID从shopify.priceRule.create传递到shopify.discountCode.create?

谢谢。

1 个答案:

答案 0 :(得分:0)

这就是我一起传递嵌套的promise函数并像魔术一样工作的方式。

  shopify.priceRule.create({
  email,
  phone,
  title: "REFERRALFRIEND",
  allocation_method: "each",
  once_per_customer: true,
  target_type: "line_item",
  target_selection: "all",
  value_type: "percentage",
  value: -15.0,
  customer_selection: "all",
  starts_at: "2018-10-10T1:00:10Z"
})
.then((data) => {
    shopify.discountCode.create(data.id,
      { code: couponcode })
    .then((data) => {
        console.log(`coupon code created = `, data);
        response.json({
            status: 'success',
            discount_code: {
                code: couponcode,
            }
        });
    })
    .catch((err) => {
        console.log(`Error in create coupon code'. = `, err);
        console.log(`Error creating coupon code'. ${JSON.stringify(err.response.body)}`);
        response.status(err.statusCode).send(err.response.body);
    });
})
.catch((err) => {
    console.log(`Error in create price rule'. = `, err);
    console.log(`Error creating price rule'. ${JSON.stringify(err.response.body)}`);
    response.status(err.statusCode).send(err.response.body);
});      

}));