Я создал веб-хуки, которые запускаются, когда заказ (или изменение подписки) выполняется в моем магазине woocommerce. Я сделал эту работу и у меня есть таблица всех тестовых изменений. Большой вопрос сейчас заключается в том, что внезапно он больше не работает, хотя он работал на прошлой неделе, когда я все настраивал (и до этого ничего не менял). Дополнительная информация: я всегда позволяю каждому webhook от woocommerce не только go на указанную ссылку c google листов, но и на среду тестирования (в моем случае на webhook.site), где я всегда получаю все webhooks. Я воспринимаю это как признак того, что проблема не в woocommerce. (И да, я несколько раз проверял, что ссылки на Google Sheets верны. Они даже безупречно работали неделю a go)
Я вставил весь код, использованный ниже, тогда как большая часть кода просто для извлечения значений переменных.
Вам нужно больше идей, чтобы помочь?
//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_status = myData.status;
var order_created = myData.date_created;
var order_modified = myData.date_modified;
var date_paid = myData.date_paid;
var customer_id = myData.customer_id;
var discount_total = myData.discount_total;
var discount_tax = myData.discount_tax;
var shipping_total = myData.shipping_total;
var shipping_tax = myData.shipping_tax;
var total = myData.total;
var billing_first_name = myData.billing.first_name;
var billing_last_name = myData.billing.last_name;
var billing_company = myData.billing.company;
var billing_address = myData.billing.address_1;
var billing_city = myData.billing.city;
var billing_postcode = myData.billing.postcode;
var billing_email = myData.billing.email;
var billing_phone = myData.billing.phone;
var shipping_first_name = myData.shipping.first_name;
var shipping_last_name = myData.shipping.last_name;
var shipping_company = myData.shipping.company;
var shipping_address = myData.shipping.address_1;
var shipping_city = myData.shipping.city;
var shipping_postcode = myData.shipping.postcode;
var ernaehrungsstil = myData.line_items[0].meta[0].value;
var mahlzeiten_woche = myData.line_items[0].meta[1].value;
var discount_code = myData.coupon_lines[0].code;
var product_name = myData.line_items[0].name;
var product_qty = myData.line_items[0].quantity;
var product_total = myData.line_items[0].total;
var product_total_tax = myData.line_items[0].total_tax;
var payment_method = myData.payment_method_title;
var shipping_method = myData.shipping_lines[0].method_title;
var timestamp = new Date();
var sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow([timestamp,order_created,order_modified,date_paid,order_number,customer_id,order_status,product_name,product_qty,ernaehrungsstil,mahlzeiten_woche,payment_method,total,product_total,product_total_tax,discount_total,discount_tax,discount_code,shipping_total,shipping_tax,shipping_method,billing_first_name,billing_last_name,billing_company,billing_address,billing_city,billing_postcode,billing_email,billing_phone,shipping_first_name,shipping_last_name,shipping_company,shipping_address,shipping_city,shipping_postcode]);
}