4

Webhook イベントに生データで応答できるルールセットを作成したいと考えています。イベントは、次のような URL から取得される場合があります。

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

アクションを使用できますが、send_directive()必ずしも必要ではない多くの 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"}}]}

ディレクティブ構造全体ではなく、生データだけで応答する方法はありますか?

4

1 に答える 1

2

答えは、イベントを直接通知するのではなく、 Webhook エンドポイントを使用して 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 エンドポイントのドキュメントを確認してください。

于 2011-04-09T04:51:17.937 に答える