twilio - 将 Twilio 警报直接推送到 Slack Channel

标签 twilio slack twilio-api

我不确定是否有办法,但我可以直接将 Twilio 警报从 Twilio 控制台发送到 Slack channel ,而不使用 Python 或任何监听 Twilio 请求并将数据发送到 Slack channel 的 Web 框架吗?

使用 Twilio 控制台,一旦出现新错误,我就可以从那里触发 Webhook,但 Slack 需要 API 中的数据。

谢谢

最佳答案

这里是 Twilio 开发者布道者。

看起来 Slack 期望 webhooks 采用特定格式的 JSON 格式,最简单的形式是具有 text 属性的对象。

Twilio webhook 以 application/x-www-form-urlencoded 格式发送,格式为 the parameters listed here .

为了将其转换为 Slack 能够理解的 Webhook,您将需要一些代码或服务来将表单编码请求转换为具有正确字段的 JSON 请求。

您似乎不愿意自己构建和托管一些东西。如果托管是问题,我可以建议您查看 Twilio Functions来 build 这个。 Twilio Functions 允许您托管可响应传入 HTTP 请求的 JavaScript 函数。

可以将这些警报 Webhook 转换为 Slack Webhook 的 Twilio 函数示例可能如下所示:

const got = require('got');

exports.handler = async function (context, event, callback) {
  const slackUrl = context.SLACK_URL;
  const { ErrorCode, Description, AccountSid } = event;

  const message = `New error for Twilio Account ${AccountSid}.\n\n${ErrorCode}: ${Description}`

  try {
    await got(slackUrl, {
      method: "POST",
      headers: {
        "Content-Type": "application/json"
      },
      body: JSON.stringify({ text: message })
    })
    callback(null, "<Response/>");
  } catch(error) {
    callback(error);
  }
}

上面的代码未经测试,但应该给您一个良好的开始。它使用 got向 Slack webhook URL 发出 HTTP 请求。在本例中,Webhook URL 存储在 environment variable 中。 .

关于twilio - 将 Twilio 警报直接推送到 Slack Channel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69391889/

相关文章:

coldfusion - 使用 webhooks 和 Coldfusion 的 Twilio 入站 SMS

angular - Twilio 聊天模块错误 TS1086 无法在环境上下文中声明访问器

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

java - TwinML Java 说 : Cyrillic letters are not read

android - 获取 JWT token 在 twilio android 客户端中过期

javascript - 如何使用 Node.js 中的 twilio fetch session 函数创建自定义对象/数组

slack - 将 slack webhook 与节点一起使用

javascript - Slack api 知道两个用户之间的对话是管理员

twilio - 在 twilio 中未注册的两个号码之间调用电话

c# - Twilio StatusCallback 不工作 :