Twilio Call资源无法返回特定号码的全部呼入呼出通话记录
获取特定号码的全部呼入呼出通话记录(Twilio API)
你可以通过Twilio Calls API的OR逻辑过滤条件,一次性获取目标active number的呼入(To匹配)和呼出(From匹配)通话记录,无需分开两次请求。
实现步骤(Node.js示例)
- 用你的Twilio账号凭证初始化客户端
- 构造包含OR逻辑的过滤条件,匹配目标号码作为主叫或被叫的通话
- 调用API获取合并后的通话记录并处理
示例代码:
const twilio = require('twilio'); // 替换为你的Twilio账号SID和Auth Token const accountSid = 'YOUR_ACCOUNT_SID'; const authToken = 'YOUR_AUTH_TOKEN'; const client = twilio(accountSid, authToken); // 目标号码(需与Twilio系统存储格式一致,如+1234567890) const targetActiveNumber = '+1234567890'; // 构造OR过滤条件:匹配主叫是目标号码 或 被叫是目标号码的通话 client.calls.list({ Filter: `(From=${targetActiveNumber}) OR (To=${targetActiveNumber})`, PageSize: 50 // 按需调整每页返回的记录数 }) .then(calls => { console.log(`共找到 ${calls.length} 条通话记录:`); calls.forEach(call => { const direction = call.direction.includes('outbound') ? '呼出' : '呼入'; console.log(`- SID: ${call.sid} | 方向: ${direction} | 时间: ${call.startTime}`); }); }) .catch(error => { console.error('获取通话记录失败:', error.message); });
关键注意事项
- 号码格式必须严格匹配Twilio存储的格式(通常带国际区号前缀)
Filter参数支持复杂逻辑组合,除OR外还可使用AND、NOT等- 若通话记录较多,需通过
PageSize配合分页迭代处理(Twilio API默认分页返回数据)
内容的提问来源于stack exchange,提问作者Raj Chandra
相关产品推荐
相关产品推荐

