2
因此,我在Contentful仪表板内创建了一个webhook,当条目被发布或删除时触发,并且它按照原样运行。不过,我希望能够通过Content Management JavaScript API发布条目,而不触发webhook。我能采取什么措施来实现这一目标?内容丰富:在使用Content Management API时防止触发webhook
因此,我在Contentful仪表板内创建了一个webhook,当条目被发布或删除时触发,并且它按照原样运行。不过,我希望能够通过Content Management JavaScript API发布条目,而不触发webhook。我能采取什么措施来实现这一目标?内容丰富:在使用Content Management API时防止触发webhook
不幸的是,如果条目通过API或Web应用程序直接发布,则没有区别。 Web应用程序只是在引擎盖下调用API。
什么可能是检查Web钩子中发布的条目并评估代码是否应该执行。也许通过直接发布API设置隐藏字段。
例如说你有一个字段publishedThroughAPI
,你要确保这个领域从递送API,而不是编辑省略:
然后把这个字段设置为true刚刚通过的JavaScript API发布前,检查该如果该字段设置为true,则只需返回钩子。
webhook将接收包含您发布的条目的有效内容。基本上与正常请求的负载相同,区别在于它将包含每个区域设置。下面是一个小例子:
{
"sys": {
//System meta data, created at, published at etc.
},
"fields": {
//All fields of the entry.
"title": {
"en-US": "English title",
"sv-SE": "Swedish title"
},
"publishedThroughAPI": {
"en-US": true,
"sv-SE": true
}
}
}
这一切都是完全有道理的,但是我怎么知道哪些参数/记录被发送到webhook? –
已发布的条目作为有效内容发送到webhook。用一个例子更新我的答案。 – Robban
有没有办法使用PHP来提取有效载荷? –