我正在尝试使用Zapier CLI对触发器进行原型设计,并且在UI中设置触发器时,我遇到了“拉入样本”部分的问题。
这会尝试引入要使用的实时数据样本,但是文档指出如果没有返回结果,它将使用为触发器配置的示例数据。
在大多数情况下,没有实时数据,所以理想情况下实际上更喜欢在第一个实例中使用样本数据,但是我的触发器似乎没有使用样本而我无法找到具体数据“没有结果”回应的例子。
我使用的API返回XML,因此我将结果操作为JSON,如果有数据则可以正常工作。
如果到目前为止没有结果我尝试返回'[]',但这只是挂起,如果我检查zapier http日志,它会循环http请求,直到我取消样本检查。
返回'[{}]'会返回一个我需要'id'字段的错误。
我使用的定义是:
module.exports = {
key: 'getsmsinbound',
noun: 'GetSMSInbound',
display: {
label: 'Get Inbound SMS',
description: 'Check for inbound SMS'
},
operation: {
inputFields: [
{ key: 'number', required: true, type: 'string', helpText: 'Enter the inbound number' },
{ key: 'keyword', required: false, type: 'string', helpText: 'Optional if you have configured a keyword and you wish to check for specific keyword messages.' },
],
perform: getsmsinbound,
sample: {
id: 1,
originator: '+447980123456',
destination: '+447781484146',
keyword: '',
date: '2009-07-08',
time: '10:38:55',
body: 'hello world',
network: 'Orange'
}
}
};
我希望这是一个明显的东西,就像在网上搜索和Zapier文档一样,我没有运气!
答案 0 :(得分:2)
示例数据必须从您的应用中提供,并且示例有效内容不会专门用于此轮询。来自docs:
示例结果不会用于用户的Zap测试步骤。那 step要求数据由事件接收或从a返回 轮询网址。如果用户选择“跳过测试”,那么样本结果, 如果提供,将被使用。
就个人而言,我从未见过“跳过测试”。前一阵子我问了这个问题的支持:
这是一个很好的问题!这绝对是“鸡肉和鸡肉”中的一种 egg“使用REST Hooks的情况 - 如果没有样本 可用,然后一切都停滞不前。
当Zap编辑器尝试获取“样本结果”时,有三个 它将要看的地方:
- 为当前用户调用轮询端点(在触发器设置的步骤#3中)。如果返回“无”,那么Zap 编辑将尝试下一步。
- Zap历史上的“最新记录/数据”。由于这是一个全新的Zap,所以不会有任何东西存在。
- 样本结果(在触发器设置的步骤#4中)。 Zap编辑器将告诉用户“没有任何东西可以显示”,并且会 为用户提供“跳过测试并继续”的选项,这将使用 您在此处提供的示例JSON。
醇>
实际上,它将继续一遍又一遍地重试请求,并且永远不会向用户提供“跳过测试并继续”选项。我刚刚再次通过电子邮件询问自那时以来是否有任何变化,但看起来现有的样本数据是必需的。
默认情况下,可能会在API中创建一条记录,并将其隐藏起来以免正常使用,只需发回一条记录即可?
即使Zapier说没有,也要发回虚假数据。不确定,但我不知道人们在没有创建数据的情况下如何设置zap(而且Zapier说他们的应用程序中没有很多人有这个问题,但几乎所有的触发器都是我创建的并且曾经用过其他的应用程序会暗示我的意思。)