无法在Zapier CLI触发器中设置动态下拉列表值

时间:2018-07-23 11:31:21

标签: zapier zapier-cli

我在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'
}

点击下拉菜单时出现此错误

谁能建议我要去哪里错了,或者我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:2)

Zapier Platform团队的David在这里。

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

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

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

您可能需要调整的另一件事是如何设置动态下拉菜单。这是一个用句点分隔的字符串,格式为trigger_key.id_key.label_keyidlabel可以是同一密钥;这实际上取决于您需要向API发送哪些数据(标签仅用于显示,id是实际发送的内容)。在动态字段中,您将拥有一个dyanmic的{​​{1}}属性。

有文档here