krl - 使用原始数据响应 webhook 事件

标签 krl webhooks

我想编写一个规则集,可以使用原始数据响应 webhook 事件。该事件可能来自如下所示的 URL:

http://cs.kobj.net/blue/event/rest/echo/a163x85/?a163x85:kynetx_app_version=dev&body=hi%20there

我可以使用 send_directive() Action ,但这会返回很多我不一定想要的 JSON:
// KNS Fri Apr  8 19:40:40 2011
{"directives":[{"options":{"body":"hi there"},"name":"echo","meta":{"rule_name":"echo","txn_id":"154CEDCC-6218-11E0-9E71-726A5E50CE3F","rid":"a163x85"}}]}

有没有办法只用原始数据而不是整个指令结构来响应?

最佳答案

答案是使用 Webhook Endpoint与 KNS 交互,而不是直接发出事件信号。
你会像这样发出你的事件:http://webhooks.kynetxapps.net/h/a163x85.dev/echo?body=hi%20there和这样的规则:

rule x {
  select when webhook echo
  pre {
    body = event:param("body");
    response = { 'thebody': body };
    rjson = response.encode();
  }
  send_directive("json") with body = rjson;
}
对于这样的响应:
{"thebody":"hi there"}
请注意 .dev在用于指示应用程序开发版本的 URL 中,echo作为事件名称,以及 webhook 的事件域.
端点甚至会为 json 提供正确的 mime/type。
另请注意,您可以返回 html、xml、js、纯文本,甚至重定向。检查 Webhook Endpoint Docs更多细节。

关于krl - 使用原始数据响应 webhook 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5600025/

相关文章:

KRL 扩展报价

javascript - 使用 CURL 和 Ajax

node.js - 保护 Twitter Webhook

asp.net-mvc - 在 Braintree 中的本地主机上测试 Webhook

php - 亚马逊 MWS 的 Webhooks

json - KRL:将字符串解析为 JSON

javascript - 删除 twitter.com 上的 J 和 K 键事件

google-apps-script - 使用Google Script的Web App作为Webhook直接接收推送通知

javascript - 如何张贴提及松弛传入的 webhooks