You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Twilio中无需消息模板在24小时会话内使用WhatsApp按钮或列表选项

问题解答

结论

可以实现。你看到的Twilio文档中要求使用消息模板的规则仅适用于主动向未发起过对话、或对话已超出24小时回复窗口的用户发消息的场景,只要当前处于用户主动发起的24小时会话窗口期内,无需使用预审核的消息模板,就可以直接发送带按钮、列表选项的交互式消息。

Java SDK使用方法

前置准备

引入8.x及以上版本的Twilio Java SDK,Maven依赖配置示例:

<dependency>
    <groupId>com.twilio</groupId>
    <artifactId>twilio</artifactId>
    <version>8.41.0</version> <!-- 可替换为最新稳定版 -->
</dependency>

示例1:发送带快速回复按钮的交互式消息

import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Message;
import com.twilio.type.PhoneNumber;
import com.twilio.type.whatsapp.Interactive;
import com.twilio.type.whatsapp.interactive.Action;
import com.twilio.type.whatsapp.interactive.Button;
import com.twilio.type.whatsapp.interactive.Body;
import java.util.Arrays;

public class WhatsAppButtonExample {
    public static final String ACCOUNT_SID = "你的Twilio账户SID";
    public static final String AUTH_TOKEN = "你的Twilio账户认证令牌";

    public static void main(String[] args) {
        Twilio.init(ACCOUNT_SID, AUTH_TOKEN);

        // 构造按钮
        Button button1 = Button.builder(
                Button.Type.REPLY,
                "btn_001", // 按钮回调ID
                "确认订单" // 按钮显示文本
        ).build();
        Button button2 = Button.builder(
                Button.Type.REPLY,
                "btn_002",
                "修改地址"
        ).build();
        Button button3 = Button.builder(
                Button.Type.REPLY,
                "btn_003",
                "取消订单"
        ).build();

        // 构造交互式消息内容
        Interactive interactive = Interactive.builder(
                Interactive.Type.BUTTON,
                Action.builder().buttons(Arrays.asList(button1, button2, button3)).build(),
                Body.builder().text("你提交的订单已生成,请选择后续操作:").build()
        ).build();

        // 发送消息
        Message message = Message.creator(
                new PhoneNumber("whatsapp:+8613xxxxxxxxx"), // 收件人号码,带国家码
                new PhoneNumber("whatsapp:+1xxxxxxxxx"), // 你的Twilio WhatsApp发件号码
                interactive
        ).create();

        System.out.println(message.getSid());
    }
}

示例2:发送带列表选项的交互式消息

import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Message;
import com.twilio.type.PhoneNumber;
import com.twilio.type.whatsapp.Interactive;
import com.twilio.type.whatsapp.interactive.Action;
import com.twilio.type.whatsapp.interactive.Body;
import com.twilio.type.whatsapp.interactive.ListSection;
import com.twilio.type.whatsapp.interactive.ListItem;
import java.util.Arrays;

public class WhatsAppListExample {
    public static final String ACCOUNT_SID = "你的Twilio账户SID";
    public static final String AUTH_TOKEN = "你的Twilio账户认证令牌";

    public static void main(String[] args) {
        Twilio.init(ACCOUNT_SID, AUTH_TOKEN);

        // 构造列表选项
        ListItem item1 = ListItem.builder("item_001", "普通快递").description("预计3-5天送达,免运费").build();
        ListItem item2 = ListItem.builder("item_002", "次日达").description("预计24小时内送达,运费12元").build();
        ListItem item3 = ListItem.builder("item_003", "定时配送").description("可指定送货时间段,运费20元").build();
        ListSection section = ListSection.builder("配送方式").rows(Arrays.asList(item1, item2, item3)).build();

        // 构造交互式消息内容
        Interactive interactive = Interactive.builder(
                Interactive.Type.LIST,
                Action.builder()
                        .button("选择配送方式") // 列表触发按钮的显示文本
                        .sections(Arrays.asList(section))
                        .build(),
                Body.builder().text("请选择你需要的配送方式:").build()
        ).build();

        // 发送消息
        Message message = Message.creator(
                new PhoneNumber("whatsapp:+8613xxxxxxxxx"),
                new PhoneNumber("whatsapp:+1xxxxxxxxx"),
                interactive
        ).create();

        System.out.println(message.getSid());
    }
}

注意事项

  • 所有操作必须确认对话处于用户主动发起的24小时回复窗口期内,超出窗口后发送任何交互式消息都需要使用预审核通过的模板
  • 按钮、列表的内容需要符合WhatsApp平台的内容规范,避免包含违规信息
  • 收发件人号码必须按照whatsapp:+[国家码][手机号码]的格式填写,不能省略国家码

内容的提问来源于stack exchange,提问作者Chandra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 15:06:03