我如何阅读来自Hipchat的webhook数据?

时间:2016-11-01 17:18:41

标签: node.js express webhooks hipchat

我创建了一个自定义斜杠命令,用于在用户在特定房间中写入时返回数据。这只有在我的API端点上硬编码值时才有效。我真的想从发送的消息中返回“12345”,如“/ notes 12345”

我无法弄清楚我需要如何配置我的节点API端点以获取从hipchat发送的消息体中包含的值。我是否需要具体处理传入数据的东西?

 app.post("/notes", function(req, res) {

  var value = req.body.message;

如果我使用Postman,但我希望它来自用户在房间中输入的值,这是有效的。

我使用RequestBin来获取从Hipchat发送的原始数据:

{
    "event": "room_message",
    "item": {
        "message": {
            "date": "2016-11-01T16:24:35.109356+00:00",
            "from": {
                "id": int,
                "links": {
                    "self": "string"
                },
                "mention_name": "DannyDainton",
                "name": "Danny Dainton",
                "version": "string"
            },
            "id": "string",
            "mentions": [],
            "message": "/notes 67898",  <<<---- I want this value
            "type": "message"
        },
        "room": {
            "id": int,
            "is_archived": bool,
            "links": {
                "members": "string",
                "participants": "string",
                "self": "string",
                "webhooks": "string"
            },
            "name": "string",
            "privacy": "string",
            "version": "string"
        }
    },
    "oauth_client_id": "string",
    "webhook_id": int
}

我如何处理对我的node express API端点的POST请求?我需要使用JSON.parse或stringify或类似的东西吗?我现在真的很无能为力。

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

这就是最终需要的一切。我知道这会很简单!

   app.post("/notes", function(req, res) {

      var value = req.body.item.message.message;