当前位置: 首页 > 知识库问答 >
问题:

Twilio工作室:将SMS对话日志转发到电子邮件

单勇
2023-03-14

我正在使用短信工作室做一个快速聊天机器人与入站短信对话,并希望在完成后将对话日志转发到电子邮件。我编写了一个函数,该函数使用SendGrid API将SMSes转发到电子邮件。它独立工作--也就是说,如果我配置电话号码,当一个文本进来时立即运行该功能,它将发送一个短信输入。

不过,我想把这个功能添加到Twilio Studio流的结尾,这样一旦对话结束,它就会把整个对话日志发送给我。一旦我将函数追加到studio流的末尾,它就停止工作,我会得到一个失败通知。

下面是函数中的代码:

const got = require('got');

exports.handler = function(context, event, callback) 
{
    const requestBody = {
    personalizations: [{ to: [{ email: context.TO_EMAIL_ADDRESS }] }],
    from: { email: context.FROM_EMAIL_ADDRESS },
    subject: `New SMS message from: ${event.From}`,
    content: [
      {
        type: 'text/plain',
        value: event.Body
      }
    ]
}

  got.post('https://api.sendgrid.com/v3/mail/send', {
    headers: {
      Authorization: `Bearer ${context.SENDGRID_API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(requestBody)
  })
    .then(response => {
      let twiml = new Twilio.twiml.MessagingResponse();
      callback(null, twiml);
    })
    .catch(err => {
      callback(err);
    });

};`

我很难弄清楚错误是什么。有人有什么提示吗?

谢了!

共有1个答案

关学
2023-03-14

Twilio的Jarod。我实际上写了一个与此非常相似的应用程序。代码在我看来不错。通常,当人们遇到这种性质的错误时,它来自SendGridpromise。这里有两个提示:

  1. 如果在测试函数时保持打开状态,实际上可以记录错误并查看函数的响应。原木会在底部。这些通常有更多的信息。
  2. 检查您使用的出站电子邮件地址是否已在SendGrid帐户Whitelabel-SendGrid上白名单化
  3. 确保已将环境变量添加到函数配置中。Twilio函数配置-控制台

希望能有所帮助!如果没有,请给support@twilio.com发邮件询问更多问题。

 类似资料:
  • 我想知道如何在Twilio工作室流结束/挂断电话。 例如,在Gathere小部件中,如果没有输入,我希望结束调用。

  • 我们已将电子邮件服务从Mandrill更改为Amazon SES。我们将它与SMTP一起使用。 在Mandrill中,我们可以访问一些详细信息,例如: 邮件的原始内容 交货日期 是收件人查看的邮件 是否点击了邮件中的链接 但是在

  • 当我将短信转发给另一个电话号码时,我想传递Twilio电话号码的友好名称。(友好名称是在购买Twilio number时分配给它的属性。) 这与这里和这里描述的“使用Twilio字母数字发送者ID发送品牌SMS消息”不同。 我在美国操作,上面不支持,我可以在转发的消息(或电子邮件的主题行)的正文中包括“友好的名字”。此外,“友好名称”并不像上面的示例那样与消息的原始发送者相关联,而是与我的Twil

  • 在本章中,我们将了解如何使用JavaMail API转发电子邮件。 以下程序中遵循的基本步骤是: 在属性中获取具有POP和SMPT服务器详细信息的Session对象。 我们需要POP详细信息来检索消息和SMPT详细信息以发送消息。 创建POP3商店对象并连接到商店。 创建文件夹对象并在邮箱中打开相应的文件夹。 检索邮件。 如果要转发,请浏览消息并输入“Y”或“y”。 获取邮件的所有信息(收件人,发

  • 3)是否有任何方法告诉journald从特定文件中获取日志? 4)如果没有,有什么变通办法吗?

  • 我们使用谷歌应用程序进行工作,我们希望能够跟踪用户的gmail活动,比如他们收到多少封电子邮件,回复多少封电子邮件 我曾经使用Google Admin Reports API:Users Usage Report来获取统计数据,但结果不准确,并且它不会返回详细的消息列表。 谷歌管理控制台上的电子邮件日志搜索正是我想要的,但我不确定是否有电子邮件日志搜索API可用,以便我们可以循环搜索所有用户并检索