如何在Twilio中获取WhatsApp模板ID?PHP如何访问模板内容?
解决方案
当然可以通过PHP调用Twilio API获取WhatsApp模板的ID和内容,完全不需要手动复制模板正文来发送消息,以下是具体实现步骤:
1. 准备工作
- 确保你有Twilio账号,获取你的Account SID和Auth Token(在Twilio控制台的账户信息板块)
- 安装Twilio PHP SDK,使用Composer执行:
composer require twilio/sdk
2. 获取WhatsApp模板的ID和内容
通过Twilio的Messaging Templates API,你可以查询所有已创建的模板,或按名称、语言筛选详情:
<?php require_once 'vendor/autoload.php'; use Twilio\Rest\Client; // 替换为你的账户信息 $accountSid = 'YOUR_ACCOUNT_SID'; $authToken = 'YOUR_AUTH_TOKEN'; $twilio = new Client($accountSid, $authToken); // 查询指定语言的已审核通过模板 $templates = $twilio->messaging->v1->templates ->read([ 'status' => 'approved', 'language' => 'zh' // 替换为你的模板语言,如en、es等 ]); foreach ($templates as $template) { echo "模板ID: " . $template->sid . "\n"; echo "模板名称: " . $template->friendlyName . "\n"; echo "模板正文: " . $template->content . "\n\n"; }
若你使用了消息服务,也可以通过消息服务SID查询关联模板:
$twilio->messaging->v1->services('YOUR_MESSAGING_SERVICE_SID')->templates->read(...)
3. 动态发送WhatsApp模板消息
拿到模板ID后,直接通过模板ID和占位符参数发送消息,无需手动匹配模板格式:
<?php require_once 'vendor/autoload.php'; use Twilio\Rest\Client; $accountSid = 'YOUR_ACCOUNT_SID'; $authToken = 'YOUR_AUTH_TOKEN'; $twilio = new Client($accountSid, $authToken); $message = $twilio->messages->create( 'whatsapp:+RECIPIENT_PHONE_NUMBER', // 接收方号码格式:whatsapp:+国家码+号码 [ 'from' => 'whatsapp:+YOUR_TWILIO_WHATSAPP_NUMBER', 'contentSid' => 'YOUR_TEMPLATE_SID', // 填入获取到的模板ID 'contentVariables' => json_encode([ '{{1}}' => '动态内容1', '{{2}}' => '动态内容2' ]) ] ); echo "消息SID: " . $message->sid;
关键注意点
- 模板必须处于approved状态才能调用
contentVariables的键要和模板中的占位符完全匹配(如模板里的{{1}}、{{2}})- API会自动匹配模板的换行、空格等格式,无需手动调整
内容的提问来源于stack exchange,提问作者Jesús Soto Mitjans
相关产品推荐
相关产品推荐

