Back
Featured image of post 兔小巢消息实时推送到企业微信

兔小巢消息实时推送到企业微信

作为一个服务型产品,我们使用了兔小巢来获取用户的反馈信息,并与用户进行互动。为了尽快的回复用户,或者不至于忘记回复用户,我们要知道有用户在兔小巢上面发布了帖子。

兔小巢提供了消息通知的 Webhook,当有用户反馈时,会触发 Webhook 推送消息。

有了 Webhook 后,可以直接把消息通过机器人发送到企业微信中。当然,在发送前,需要做一些格式上的转换,需要转换为企业微信机器人所能接受的格式。这时,可以使用云函数快速的解决这个问题。

具体思路是:创建一个云函数,接受兔小巢的 Webhook 调用,并把收到的消息转换好格式,再发送给企业微信机器人。具体的云函数代码代码如下:

const request = require("request");
// 兔小巢产品 ID
const productId = "140000";
// 企业微信企业人的调用地址
const botUrl = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx";

exports.main = async (event, context) => {
  const txcData = JSON.parse(event.body);
  // 新的反馈帖子
  if (txcData.type == "post.created") {
    const res = await new Promise((resolve, reject) => {
      request(
        {
          uri: botUrl,
          method: "POST",
          body: JSON.stringify({
            msgtype: "markdown",
            markdown: {
              content: `**新增用户反馈**\n\n${txcData.payload.post.content}\n\n[点击查看详情](https://support.qq.com/products/${productId}/post/${txcData.payload.post.id})`,
            },
          }),
        },
        function (e, res, body) {
          if (e) return reject(e);

          try {
            resolve(body);
          } catch (e) {
            reject(e);
          }
        }
      );
    });
    console.log("res", res);
  }
  return "ok";
};

这里只是简单的介绍一下主要的思路与过程,详细的操作过程可以参考这篇文章

参考文章

Licensed under CC BY-NC-SA 4.0