【问题标题】:WooCommerece RestAPI - NodeJSWooCommerce Rest API - NodeJS
【发布时间】:2022-02-17 18:39:14
【问题描述】:

我将 wc rest api 与 nodejs 一起使用,当尝试使用 POST 方法通过“订单”发布新订单时,我只是得到包含所有现有订单的响应。 即使不提供任何请求正文,或提供错误的请求正文 - 始终相同的响应:

 WooCommerce.post("orders", {
    customer_id: 2000,
  })
    .then((response) => {
      res.send(response.data);
    })
    .catch((err) => {
      res.status(500).send(e.response.data);
    });

回复:

[
    {
        "id": 32941,
        "parent_id": 0,
        "status": "pending",
        "currency": "ILS",
        "version": "5.3.1",
        "prices_include_tax": false,
        "date_created": "2022-02-17T11:23:28",
        "date_modified": "2022-02-17T11:24:39",
        "discount_total": "0.00",
        "discount_tax": "0.00",
        "shipping_total": "0.00",
        "shipping_tax": "0.00",
        "cart_tax": "0.00",
        "total": "9.90",
        "total_tax": "0.00",
        "customer_id": 110,
        "order_key": "wc_order_Gv1ZIlKqqMKFt",
        "billing": {
            "first_name": "",
            "last_name": "",
            "company": "",
            "address_1": "",
            "address_2": "",
            "city": "",
            "state": "",
            "postcode": "",
            "country": "",
            "email": "raz@king.com",
            "phone": ""
        },
        "shipping": {
            "first_name": "",
            "last_name": "",
            "company": "",
            "address_1": "",
            "address_2": "",
            "city": "",
            "state": "",
            "postcode": "",
            "country": ""
        },
        "payment_method": "",
        "payment_method_title": "",
        "transaction_id": "",
        "customer_ip_address": "",
        "customer_user_agent": "",
        "created_via": "admin",
        "customer_note": "",
        "date_completed": null,
        "date_paid": null,
        "cart_hash": "",
        "number": "32941",
        "meta_data": [],
        "line_items": [
            {
                "id": 3267,
                "name": "מלפפון",
                "product_id": 32409,
                "variation_id": 0,
                "quantity": 1,
                "tax_class": "",
                "subtotal": "9.90",
                "subtotal_tax": "0.00",
                "total": "9.90",
                "total_tax": "0.00",
                "taxes": [],
                "meta_data": [],
                "sku": "10864",
                "price": 9.9,
                "parent_name": null
            }
        ],
        "tax_lines": [],
        "shipping_lines": [],
        "fee_lines": [],
        "coupon_lines": [],
        "refunds": [],
        "date_created_gmt": "2022-02-17T09:23:28",
        "date_modified_gmt": "2022-02-17T09:24:39",
        "date_completed_gmt": null,
        "date_paid_gmt": null,
        "currency_symbol": "₪",
        "_links": {
            "self": [
                {
                    "href": "https://XXX.XXX.XXX/wp-json/wc/v3/orders/32941"
                }
            ],
            "collection": [
                {
                    "href": "https://XXX.XXX.XXX/wp-json/wc/v3/orders"
                }
            ],
            "customer": [
                {
                    "href": "https://XXX.XXX.XXX/wp-json/wc/v3/customers/110"
                }
            ]
        }
    }
]

请注意我掩盖了一些数据:)

【问题讨论】:

    标签: javascript node.js wordpress wc


    【解决方案1】:
    WooCommerce.post("orders?_method=POST", order)
        .then((response) => {
          res.send(response.data);
        })
        .catch((e) => {
          console.log(e);
          res
            .status(e?.response?.status || 500)
            .send(e?.response?.statusText || e?.response?.data || "Error!");
        });
    

    在 google 上找到需要使用本地 http 方法(如 get 或 post)并传入参数 ?_method=METHOD 来定义要使用的方法.... 工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-05
      • 2018-08-28
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-13
      • 2018-03-31
      相关资源
      最近更新 更多