开发者

GET/v3/inventory/{number}

列出已购号码清单

读取已购号码的配置和已存储的状态,可按电话号码筛选。

本页
  1. 请求
  2. 响应
  3. 筛选和分页
  4. 没有匹配的号码
  5. 后续步骤

列出已存储的所有者与您的 API 凭据所代表的账户相匹配的已购号码记录。记录存在并不等同于实际通话测试成功。

请求

通过 HTTPS 使用服务端 API 凭据。示例从环境变量中读取凭据,其中不包含任何可用凭据。除了 HTTP 状态,还应检查 JSON 正文中的 status.code。这些旧版处理程序在发生应用错误时,并不总会设置 HTTP 错误状态。

curl --user "$MULTITEL_API_USER:$MULTITEL_API_PASSWORD" \
  "https://api.multitel.net/v3/inventory"

如需按单个已存储的电话号码筛选,请使用以下可选的路径形式:

curl --user "$MULTITEL_API_USER:$MULTITEL_API_PASSWORD" \
  "https://api.multitel.net/v3/inventory/12025550100"

请使用已存储的国际电话号码,以包含国家代码的纯数字形式传入。不要用 PBX 分机号、号码 UUID、地区 ID 或前缀 ID 代替。传入的号码用于选择现有记录,不会购买或配置号码。

响应

成功时,response 成员始终为数组,使用单个号码的路径形式时也是如此。status.results 表示数组长度。

以下仅为响应结构示例,并非账户数据或当前报价。

{
  "status": {
    "code": 200,
    "msg": "",
    "results": 1
  },
  "response": [
    {
      "number": "12025550100",
      "uuid": "NUMBER_UUID",
      "description": "Main reception",
      "isocode": "US",
      "config": {
        "uri": "sip:reception@example.com",
        "uri2": "",
        "uri3": "",
        "forward_destination": "",
        "sms_uri": "",
        "sms_forward_destination": ""
      },
      "features": {
        "voice": "1",
        "sms": "1",
        "mms": "0"
      },
      "status": {
        "capacity": {
          "assigned_channels": "2",
          "used_channels": "0",
          "overflow": "0",
          "overage_charge": "0.01"
        },
        "origination": {
          "origination_trunk_id": "ORIGINATION_ID",
          "origination_trunk_name": "ORIGINATION_NAME",
          "origination_country_iso": "US",
          "origination_continent_iso": "NA",
          "origination_continent_name": "North America"
        },
        "service_active": "1",
        "force_codec": "",
        "force_dtmf": ""
      },
      "billing": {
        "cnam": "0",
        "overflow": "0",
        "autorenew": "1",
        "persistent": "0",
        "date_created": "2026-01-01 00:00:00"
      },
      "price": {
        "setup_price": "0.00",
        "monthly_price": "1.00",
        "per_minute": "0.01",
        "free_minutes": "0",
        "remaining_minutes": "0"
      }
    }
  ]
}
返回的号码字段
字段含义
number, uuid, description, isocode已存储的电话号码、应视为不透明值的号码标识符、描述和国家代码。
config已存储的语音目标、外部转接、短信目标和短信转发字段。此端点不会修改这些字段。
features已存储的语音、短信和彩信功能标志。旧版存储的标志不保证为 JSON 布尔值。
status.capacity已分配和已使用的通道数值、溢出设置及已存储的超额费用。这些是已存储的元数据,并非最新的容量报价或实际通话测试结果。
status.origination已存储的呼叫发起元数据。应将标识符视为不透明值,不要根据内部名称推导应用逻辑。
status.service_active, force_codec, force_dtmf已存储的激活状态和媒体配置字段。仅凭一个标志无法证明呼入已成功送达。
billing已存储的 CNAM、溢出、续订、持久性和创建信息值。读取这些值不会更改续订或其他计费设置。
price已存储的开通费、月费、每分钟费率及通话分钟配额。此处理程序不提供币种字段或最新报价。不要根据示例数值推断币种,也不要将其用作当前购买报价。

筛选和分页

此处理程序不提供分页、每页数量限制或明确的排序顺序。它会返回查询选中的所有未作废记录。它未实现仅筛选服务已激活号码的功能,也不提供单独的已归档号码视图。不要假定返回记录的顺序固定不变。

没有匹配的号码

如果账户中没有匹配的未作废记录,JSON 正文中的 status.code 为 404,并包含一条含有以下文本的消息:no numbers found。它不会返回表示成功的空数组。消息包含源代码引用后缀,客户端不应将该后缀解析为稳定的标识符。

后续步骤

请使用 numberinfo 来获取单个号码额外的旧版注册字段和号码引用字段。在通过单独的配置操作更改任何路由之前,请先检查语音和消息的目标。