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

如何通过Twilio API重新购回已释放电话号码?解决号码不可用问题

问题:释放Twilio号码后无法通过API重新购回

环境信息

  • Node.js版本:16.20.2
  • Twilio库版本:3.72.0

问题详情

按官方指引通过IncomingPhoneNumber REST API发送DELETE请求成功释放了电话号码+12059557580,但尝试用IncomingPhoneNumber API重新购回时失败。

预期结果

成功购回目标号码并获取新SID。

实际结果

抛出错误:RestException [Error]: +12059557580 is not available

相关代码

购回号码实现

exports.purchaseNumber = async (number, voiceSid) => {
  try {
    // 可传入语音应用SID
    let status = await client.incomingPhoneNumbers.create({
      phoneNumber: number,
      voiceApplicationSid: voiceSid,
      smsApplicationSid: voiceSid,
    });
    return status;
  } catch (error) {
    if (error.code == 20404) {
      throw { message: lang.NUMBER_NOT_FOUND, statusCode: FAIL };
    }
    throw error;
  }
};

释放号码实现

exports.deletePhoneNumber = async (id) => {
  return client.incomingPhoneNumbers(id).remove();
};

解决方案

核心原因

释放后的Twilio号码不会立即回归可用号码池,存在冷却期(时长从数小时到数天不等)。冷却期间号码处于预留状态,无法通过API或控制台购回。部分情况下,号码可能被重新分配至其他区域池,或被标记为不可再次分配。

具体解决步骤

  1. 等待冷却期:间隔24小时以上后重试购回操作,多数号码会在这段时间内回到可用池。
  2. 先检查号码可用性:调用AvailablePhoneNumbers API确认目标号码是否真的可用,再发起购回请求:
    // 检查号码可用性,需替换对应国家代码(示例为美国US)
    exports.checkNumberAvailability = async (number) => {
      const availableNumbers = await client.availablePhoneNumbers('US')
        .local
        .list({ phoneNumber: number });
      return availableNumbers.length > 0;
    };
    
  3. 优化购回逻辑:在购回代码中加入可用性检查,避免无效请求:
    exports.purchaseNumber = async (number, voiceSid) => {
      try {
        // 先验证号码可用性
        const isAvailable = await checkNumberAvailability(number);
        if (!isAvailable) {
          throw { message: "号码暂不可用", statusCode: FAIL };
        }
        let status = await client.incomingPhoneNumbers.create({
          phoneNumber: number,
          voiceApplicationSid: voiceSid,
          smsApplicationSid: voiceSid,
        });
        return status;
      } catch (error) {
        if (error.code == 20404) {
          throw { message: lang.NUMBER_NOT_FOUND, statusCode: FAIL };
        }
        throw error;
      }
    };
    
  4. 联系Twilio支持:若等待后仍无法购回,直接联系Twilio支持团队,确认该号码是否可重新分配至你的账户。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 16:23:25