首页 > 解决方案 > 将 Woocommerce 订单推送到 Google 表格

问题描述

我已经建立了一个 woocommerce 网站,用于从我所在地区的不同餐厅送餐。我试图设置将订单数据从 json 文件直接传输到我们的驱动程序使用的 Google 工作表,但我发现自己每次 woo 的 webhook 触发时都会在 Google Script 中遇到错误,并且无法检测到问题。

这是我的谷歌脚本代码

//this is a function that fires when the webapp receives a GET request
function doGet(e) {
  return HtmlService.createHtmlOutput("request received");
}

//this is a function that fires when the webapp receives a POST request
function doPost(e) {
  var myData = JSON.parse([e.postData.contents]);
  var order_number = myData.number;
  var order_address = myData.billing.address_1;
  var item = ""
  var url = "https://fivestars-delivery.com/mon-compte//driver-dashboard/?orderid=" + order_number;

  for (var i = 0; i < myData.line_items.length(); ++i) {
    item += myData.line_items[i].product_id + "\n"
    total += parseInt(myData.line_items[i].total)
  }

  var fees = ""
  // var feesTotal = 0

  for (var i = 0; i < myData.fee_lines.length(); ++i) {
    // convertir en entier
    // feesTotal += parseInt(myData.fee_lines[i].total)
    fees += myData.fee_lines[i].amount + " " + myData.fee_lines[i].name + " - " + myData.fee_lines[i].total + "\n"
  }

  var discount = myData.discount_total
  // nom client
  var nomClient = myData.first_name + " " + myData.last_name
  var order_total = myData.total;
  var payment_method = myData.payment_method_title;
  var phone = myData.billing.phone

  var note = myData.billing.address_2 + "\n" + myData.customer_note

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.appendRow([order_number, " ", " ", " ",order_address, " ", "Attente d'envoi",url, order_total, payment_method, nomClient, phone, note, item + fees + discount, ]);
}

-我使用 api 的密钥设置了WooCommerce APIwebhook

-在 webhook 中输入我的 Web 应用程序的 URL作为传递 URL

我无法找出问题所在,到目前为止,我在网上找到的所有情况都没有任何帮助。

标签: javascriptwordpressgoogle-apps-scriptgoogle-sheetswoocommerce

解决方案


该变量total从未创建,但它在for循环中使用。


推荐阅读