1

我在 Zapier CLI 中有我的应用程序。我创建了一个触发器,用于在 zap 创建期间为特定操作步骤设置下拉值。数据是这样的:

{ "data": {
    "account_status": {
                "field_name": "account_status",
                "field_label": "Status",
                "field_type": "list",
                "field_length": "50",
                "field_items": "Active|Inactive|444|Closed",
                "required": "0",
                "related_module": "",
                "related_field_name": "",
                "join_table": "",
                "join_lhs_field_name": "",
                "join_rhs_field_name": "",
                "related_data_field": ""
            },
      }
}

这是我的代码:现在我正在尝试使用上述结果中的 field_items 值设置动态下拉列表的数据,如下所示:

return responsePromise
    .then(response => JSON.parse(response.content ) )
    .then(data => {
      const account_status_list = data.data.account_status.field_items;        
      const account_status_arr = account_status_list.split("|"); 
      return account_status_arr.map(function(e){
          e.id = e
          return e
      }) 
  })

我的动态下拉触发器的输入字段是:

{
  key: 'account_status', 
  label:'Account Status', 
  required: false, 
  dynamic: 'account_status.account_dropdown.id'
}

单击下拉列表时出现此错误

谁能建议我哪里出错了或者我可以做些什么来解决这个问题?

4

1 回答 1

2

大卫在这里,来自 Zapier 平台团队。

问题是 Zapier 需要一个对象数组,而您要返回一个字符串数组。似乎您正在尝试在代码片段中创建一个 id 字段,但调用"Active".id = "Active"不会创建一个对象。

相反,您应该将 map 函数更改为如下所示:

return account_status_arr.map(function(e){
    return {id: e}
})

您可能需要调整的另一件事是如何设置动态下拉菜单。它是一个以句点分隔的字符串,遵循 format trigger_key.id_key.label_key。和可以是同一个键idlabel它实际上取决于您需要发送到 API 的数据(标签仅用于显示,id 是实际发送的内容)。在动态字段中,您将拥有一个dyanmic属性,即account_status.id.id.

这里有文档。

于 2018-07-23T20:05:39.723 回答