我需要一个可配置复杂对象数组的小部件,即带有标签的电子邮件地址。
如果我将inputFields
设置为具有此项:
{
key: 'email_addresses', required: false, list: true, children: [{
key: 'type', required: true, type: 'string'
}, {
key: 'email', required: true, type: 'string'
}]
}
我遇到zapier validate
的以下错误:
Message │ must not contain children and list, as they're mutually exclusive.
我真的很希望能够有这种配置。有什么解决方法吗?
答案 0 :(得分:1)
一个大问题! Caleb来自Zapier Engineering。
我认为问题在于您要实现的目标。列表非常适合用户要为其指定多个值的静态字段。以Trello卡标签为例;用户可能希望Zap创建带有Zapier
标签和带有上一步中的值的标签的Trello。
订单项(由子级字段提供支持)非常适合用户映射上一步中的订单项。这些允许Zaps创建动态数量的对象-可能创建0个或更多对象。当用户有一个Zap可以以下形式从步骤A返回数据时:
{
"id": 42,
"name": "Caleb McQuillin",
"phone_numbers": [{
"name": "work",
"number": "314-159-2653"
}],
"email_addresses": [{
"name": "work",
"address": "caleb.mcquillin@example.com"
}, {
"name": "personal",
"address": "caleb.mcquillin@example.net"
}]
}
如果您使用以下inputFields
设置操作,
[{
key: 'email_addresses',
required: false,
children: [{
key: 'type',
required: true,
type: 'string'
}, {
key: 'email',
required: true,
type: 'string'
}]
}]
然后,用户可以将步骤A的email_addresses.name
映射到步骤B的email_addresses.type
,并将步骤A的email_addresses.address
映射到步骤B的email_addresses.address
。 ,新条目可能包含0个电子邮件地址,1个电子邮件地址,100个电子邮件地址,等等。根据我之前的示例,您的inputData
将包含以下内容:
{
"email_addresses": [{
"type": "work",
"email": "caleb.mcquillin@example.com"
}, {
"type": "personal",
"email": "caleb.mcquillin@example.net"
}]
}
如果您使用以下inputFields
设置操作,
[{
key: 'email_address_types',
list: true,
required: true
}, {
key: 'email_address_addresses',
list: true,
required: true
}]
用户将能够指定从步骤A到步骤B映射的静态电子邮件地址。如果步骤A以
的格式返回数据{
"id": 42,
"name": "Caleb McQuillin",
"home_phone": null,
"work_phone": "314-159-2653",
"home_email": "caleb.mcquillin@example.net,
"work_email": "caleb.mcquillin@example.com",
}
,并且用户映射了家庭和工作电子邮件类型,您的inputData
将包含以下内容:
{
"email_address_types": ["work", "personal"],
"email_address_addresses": ["caleb.mcquillin@example.com", "caleb.mcquillin@example.net"]
}
,您可能会使用脚本将它们压缩到一个对象数组中。
我希望所有这些都是有道理的!如果您有任何上述问题,请与我联系。 :)