一条订单确认消息可以复用相同的措辞,同时为每位收件人更换订单号。这样工作流程保持一致,只有数据发生变化。
模板包含什么?
模板包含固定文本、变量定义和消息类别,类别用于标识发送该消息的原因。目的地可以将该内容分类应用于其注册规则。
每个变量命名一个在不同发送之间变化的值,例如订单号。模板定义了变量接受的类型、是否必填以及值的约束条件。
营销活动的内容和模板将可复用文本与接收者专属值结合。Bird 的模板目录包含用于身份验证和事务性消息的系统模板。工作区模板允许你以多种语言发布自己的文本,可通过模板管理 API 创建。
在选择模板之前先阅读变量定义。外观相似的预览并不能证明其必填值与你的应用程序拥有的数据匹配。
SMS 模板需要审批吗?
内置模板可直接发送。发布工作区模板时会验证文本和变量。发布后的版本无需 Meta 批准即可立即使用。目的地规则仍可能要求内容注册。
这是两个独立的流程。提供商的可复用消息正文本身并不等同于符合目的地规则。
例如,TRAI 的发送方指南(印度电信监管机构)要求通过已注册发送方身份在印度进行通信时,必须注册内容模板。该要求涉及消息结构,包括固定部分和可变部分。
在选择发送工作流程之前,先检查目的地要求。发送方注册涉及发送方身份,可以与内容注册要求并存。
Bird 如何选择类别和发送方?
模板会提供类别,即按消息发送目的对内容进行分类。内置模板会为目的地选择发送者;工作区模板使用你提供的发送者。
模板发送会拒绝与 template 同时提供的 text、category 和 media_urls。内置模板应省略 from,工作区模板则必须提供该字段。模板发送契约说明了这些要求。
当应用必须选择特定发送者时,请使用工作区模板或自由文本。
检查响应中的 from 和 category。这些字段告诉你 Bird 为该消息选择了哪个发送方和内容分类。
如何在 Bird 中发送模板?
指定已发布的模板,并在发送请求的 template 对象中提供变量值。
使用 slug 或 id 标识模板。读取 GET /v1/sms/templates/{template_ref} 获取其 live_version_id,再读取 GET /v1/sms/templates/{template_ref}/versions/{version_id} 获取内容和变量定义。
将值放入 parameters 中,以变量名作为键。缺少必填值、未声明的键或无效格式会返回 422,因此在发送之前请先验证这些值。
序列化后的参数对象必须在 16 KB 以内。Bird 会拒绝超出该限制的请求,因此只传入模板声明的值。
在需要时选择 language。模板的语言设置决定默认语言和回退语言,因此请检查这些设置,而不是假定每种请求的语言都存在。
模板会改变 SMS 的计费方式吗?
渲染后的文本与任何其他 SMS 正文一样计费。
在估算分段数之前,请插入实际值。较长的订单号或紧凑字母表之外的字符可能增加分段数。
模板引用并非对每个收件人的固定价格。响应中的 segments.count 报告该渲染消息的计费分段。
什么时候应该选择模板?
当目录模板的正文、变量和发送方选择行为适合你的工作流程时,选择它。
- 当提供的正文与消息匹配且你拥有其必填值时,使用模板。
- 如果需要使用自己的发送者复用文本,请发布工作区模板;单条消息也可以使用自由文本。
- 无论哪种选择,都要遵守目的地的注册要求。
简而言之
模板包含可复用文本和变量定义。
选择内置模板或使用已发布的工作区模板,然后提供所需的值。
发送者的选择取决于模板范围。
内置模板使用由 Bird 选择的发送者。工作区模板要求使用你拥有的发送者。模板会提供消息类别。
在工作区中发布模板无需 Meta 审核。
发布工作区模板时会验证其草稿。发布后的版本可立即用于发送。目的地的内容注册规则仍需单独遵守。
替换后的值仍会影响分段数。
检查渲染后的消息,因为较长的值可能增加计费分段数。