我一直在尝试使用Python为Zapier创建自定义代码。
代码从Magento 2发票中提取两个列表。它们是行项目的详细信息,我们使用这些数据来更新库存系统中的库存。不幸的是,捆绑产品显示的儿童产品,我需要为儿童产品的数量为零,所以他们没有得到从股票以及删除。
我有逻辑所有排序设置库存项目数量为零,如果父是一个“捆绑”。
问题是拉输入数据。空值正在被丢弃。
例如,如果列表是null,null,null,bundle,结果就是bundle,如果列表是1,1,1,null,我最终得到的是1,1,1
有没有办法从输入数据字段中提取数据而不删除空值?
代码目前看起来是这样的。
# if the product is a child of a bundle then zero out the quantity or it will take extra stock
quantity = str(input_data["item_qty_invoiced"])
quantity_array = quantity.split(",")
cleaned_quantity_list = ""
product_type = str(input_data["item_product_type"])
product_type_array = product_type.split(",")
num_of_line_items = len(product_type_array)
index = 0
while index < num_of_line_items:
if product_type_array[index] == "bundle":
quantity_array[index] = 0
index += 1
cleaned_quantity_list = ",".join(str(i) for i in quantity_array)
return {'item_qty_invoiced': cleaned_quantity_list}
我还没有尝试过JavaScript,但是如果它是一个选项的话,我很乐意看看。
2条答案
按热度按时间wgmfuz8q1#
根据Zapier开发人员在2019年3月发布的answer,将输入强制转换为字符串的方式是固定的,并且没有计划解决这个问题。
一个建议的解决方法是:
最好的办法是做一个小的CLI应用程序来复制twitter的操作。然后你可以将输出设置为json字符串,我们不会碰它。我已经在几个地方这样做了,效果很好(除了在我们应该为你处理的时候必须自己与Twitter接口的额外负担)
不过,这确实挫败了使用Zapier的一半目的。
oymdgrw72#
使用一个原始的webhook可以让你做到这一点。
然后定义输入
然后使用json模块加载它
参见https://stackoverflow.com/a/55478782/1193450