Сводка проблем < /strong>
Я использую Zapier для извлечения данных из заказов Shopify и отправки их в Google Sheets. Продукты в пакетах подписки показывают количество 0, когда я запускаю тесты, он считается нормально. Но когда я получаю живые заказы, все количество продуктов, кроме пакета, помечено 0. https://cravemealprepco.com
[*]Google Sheet[/b]: Template link of live order, followed by test
Zap Structure:
a) 1 - Shopify - New Paid Order
b) 2 - Filter by Zapier → Only Продолжается, если имя пакета строк включает в себя «обычный»
c) 3 - код от Zapier → Данные о приемах пищи (код ниже)
d) 4 - Google Sheets → Create Spreadsheet Row < /li>
< /ol>
/*
UPDATED VERSION - Handles both bundle items and individual items
*/
//////////////////// 1. master list - Updated with actual Shopify names ////////////////////
const meals = {
// Add the actual product names from Shopify
"Peanut Butter Power Balls": 0,
"Regular Protein - Meal Plan": 0,
"Overnight Oats": 0,
"Protein Donuts ( 2 pack )": 0,
// Keep your existing names in case they're used elsewhere
"Chocolate Strawberry Protein Pancakes": 0,
"Crave Breakfast Sandwich (Gluten Free)": 0,
"BBQ Chicken Mac N' Cheese": 0,
"French Onion Chicken - (Gluten Free)": 0,
"Chipotle Chicken (Gluten Free)": 0,
"Crave Fil A (Gluten Free)": 0,
"Turkey Bolognese": 0,
"Fiesta Turkey Bowl (Gluten Free)": 0,
"Sweet Chili Turkey Bowl (Gluten Free)": 0,
"Adobo Braised Beef Bowl - (Gluten Free)": 0,
"Beef Empanada": 0,
"Sesame Ginger Beef": 0,
"Big Mac Bowl (Gluten free)": 0,
"Asian Crunch Salad": 0,
"Strawberry Walnut Chicken Salad (GF)": 0,
"Mediterranean Chicken Hummus Wrap": 0,
"Grilled Chicken Chimichurri Bowl (GF) (DF) (SF)": 0,
"Grilled Chicken Caesar Wrap": 0,
"Beef & Broccoli (GF) (DF) (SF)": 0,
"Steak & Eggs (GF) (DF) (SF)": 0,
"Pulled Chicken (GF) (DF) (SF)": 0,
"Turkey Burger (GF) (DF) (SF)": 0,
"Grilled Chicken (GF) (DF) (SF)": 0,
"Chili Lime Turkey (GF) (DF) (SF)": 0
};
//////////////////// 2. normalise inputs ////////////////////
const names = Array.isArray(inputData.meal_name)
? inputData.meal_name
: (inputData.meal_name || "").split(/\s*,\s*/).filter(Boolean);
const qtys = Array.isArray(inputData.meal_qty)
? inputData.meal_qty
: (inputData.meal_qty || "").split(/\s*,\s*/).filter(Boolean);
//////////////////// 3. Handle bundle data from inputData object ////////////////////
// Check if there are bundle items directly in inputData
const bundleItems = [];
for (const key in inputData) {
// Look for meal names that end with "- Regular" or "- Double"
if (key.match(/\s*-\s*(regular|double)$/i) && typeof inputData[key] === 'string' && !isNaN(inputData[key])) {
const qty = parseInt(inputData[key], 10);
if (qty > 0) {
bundleItems.push({
name: key,
qty: qty
});
}
}
}
//////////////////// 4. build the counts ////////////////////
const unknown = [];
// Process regular meal_name/meal_qty arrays
for (let i = 0; i < names.length; i++) {
let title = (names || "").trim();
// strip "- Regular" or "- Double" (any case, any spaces)
title = title.replace(/\s*-\s*(regular|double)$/i, "").trim();
const qty = parseInt(qtys || "0", 10);
if (meals.hasOwnProperty(title)) {
meals[title] += qty;
} else {
unknown.push(title);
}
}
// Process bundle items found in inputData
for (const item of bundleItems) {
let title = item.name.trim();
// strip "- Regular" or "- Double" (any case, any spaces)
title = title.replace(/\s*-\s*(regular|double)$/i, "").trim();
if (meals.hasOwnProperty(title)) {
meals[title] += item.qty;
} else {
unknown.push(title);
}
}
//////////////////// 5. return the row ////////////////////
return {
name: inputData.billing_name || "",
phone: inputData.billing_phone || "",
email: inputData.email || "",
unknown_titles: unknown,
...meals
};
< /code>
Структура входных данных < /strong>
код от Zapeir Step Receies: < /p>
billing_name: Название адреса Биллинга < /li>
billing_phone: custermpty < /li>
mood_name: stice items title < /li>
< /ol>
ожидаемое против фактического поведения < /strong> < /p>
ожидаемое < /strong>: когда разместится новый порядок, количества продуктов должны быть правильно обновлены в сильную строку. Новый заказ размещается, количество продуктов показывает как «0», кроме элемента пакета. Когда я запускаю тот же заказ, что и тест, он работает хорошо. Я думал, что проблема может быть с кодом JavaScript.
Подробнее здесь: https://stackoverflow.com/questions/796 ... shopify-su
Zapier Code от Zapier не подсчитывает количества для комплексных продуктов в Shopify Заказы подписки ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Zapier «Код от Zapier» PATCH/POST 404 Ошибка для обновления FLOAT Time Off
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Подписки WooCommerce - автоматически выполнять заказы на продление и статус подписки
Anonymous » » в форуме Php - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Shopify Ajax API - /cart/update.js не работает для обновления количества продуктов
Anonymous » » в форуме Jquery - 0 Ответы
- 30 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Получите данные обо всех клиентах в магазине Shopify, используя API Shopify и PHP Laravel.
Anonymous » » в форуме Php - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-