在twilio中单独提供的whatsapp模板选项有什么用?

问题描述 投票:0回答:1

对于在 24 小时窗口之外发送 Whatsapp 消息,我们需要一个 Whatsapp 批准的模板。作为 Whatsapp 模板和 twilio 上的内容编辑器提供的选项有什么区别。

我现在知道的是,通过内容编辑器创建的模板被他们的 sid 用于在 24 小时窗口之外发送消息。但是其他模板有什么用,当我尝试使用它的 sid 生成消息时,它们是错误的 -

{
    "code": 20422,
    "message": "Invalid Parameter",
    "more_info": "https://www.twilio.com/docs/errors/20422",
    "status": 400
}

如果可能的话,我如何使用使用 Whatsapp 模板选项创建的模板??

twilio whatsapp twilio-api
1个回答
0
投票

好问题。我知道这有点令人困惑。让我尝试解释一下这两件不同的事情:

WhatsApp 消息模板

WhatsApp 消息模板是一种消息格式,您可以反复使用它向用户发送消息 (...)。要使用消息模板,您必须首先将其提交到 WhatsApp。 Meta 会审核并批准每个消息模板,以保持高质量的内容并避免垃圾邮件。一旦 WhatsApp 批准了您的模板,您就可以使用该消息模板发送通知。

来自文档

TLDR:这些消息必须经过 Meta 批准,并且可以在 24 小时窗口之外使用。

包含哪些消息类型?

  • 文字
  • 快速回复(最多三个按钮)
  • 号召性用语(打开网站/拨打号码)

在控制台哪里可以找到

如上面的截图所示

templates in console

如何在代码中使用它们

您可以使用带有

messages.create()
属性的普通
body
函数但是您需要确保正文与模板完全匹配(包括空格、编码等)

// Download the helper library from https://www.twilio.com/docs/node/install
// Find your Account SID and Auth Token at twilio.com/console
// and set the environment variables. See http://twil.io/secure
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require('twilio')(accountSid, authToken);

client.messages
  .create({
     from: 'whatsapp:+15005550006',
     body: 'Hi, Joe! Thanks for placing an order with us. We’ll let you know once your order has been processed and delivered. Your order number is O12235234. Thanks',
     to: 'whatsapp:+14155238886'
   })
  .then(message => console.log(message.sid));

Twilio 内容 API/编辑器

使用 Twilio 的内容 API 通过任何 Twilio 支持的消息通道创建和发送丰富的消息内容。当您构建消息传递用户体验时,Content API 提供了一个通用框架来在所有渠道中保持一致的用户体验,而无需担心实现细节。

来自文档

TLDR:这些模板并非 WhatsApp 独有,并且根据消息类型,是否绑定到 24 小时窗口。

包含哪些消息类型?

  • 文字
  • 媒体
  • 快速回复(最多三个按钮)
  • 号召性用语(打开网站/拨打号码)
  • 列表选择器
  • WhatsApp 卡
  • WhatsApp 验证

在控制台哪里可以找到

如截图所示:

如何在代码中使用它们

您使用普通的

messages.create()
功能 但是您需要使用
contentSid
属性来指定您要使用的模板,并且您需要消息服务作为发送者

const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require('twilio')(accountSid, authToken);

client.messages
      .create({
         contentSid: 'HXXXXXXXXX',
         from: 'MGXXXXXXXX',
         contentVariables: JSON.stringify({
           1: 'Name'
         }),
         to: 'whatsapp:+18551234567'
       })
      .then(message => console.log(message.sid));

文档

© www.soinside.com 2019 - 2024. All rights reserved.