开发者

GET/v3/getareas/{isocode}

列出某个国家的覆盖区域

返回某个国家的覆盖区域,按名称排序,并提供各区域的库存总量和功能标志。US 和 CA 支持可选的州或省筛选条件。区域有库存时,next_function 指向前缀浏览接口;无库存时,则指向订购接口。

本页
  1. 请求
  2. 响应
  3. 错误
  4. 可用性与副作用

选择国家后(对于美国或加拿大,还可选择从以下接口获取的州或省:getstates),调用 getareas 查看哪些区域提供号码。请保留该区域的 uuid,以供下一步使用。

每个区域对应以下两种后续操作之一:

  • available > 0:next_function 为 v3/getprefixes/{uuid},按州或省筛选时会在其后附加 ?state=。使用此接口浏览前缀。
  • available = 0:该区域有前缀但无库存,且 next_function 为 v3/order/{uuid}。有关此步骤的要求,请参阅订购文档。

available 表示整个区域的库存总量,即使按州或省筛选也是如此。州或省筛选条件接受代码或完整名称,但仅适用于 US 和 CA。如果按州或省筛选后返回 No areas found,请移除该筛选条件后重试。检查依次进行:国家代码缺失、国家未知、对其他国家使用州或省筛选条件、州或省无效、无匹配区域。上述各情况均返回代码 500 或 404,所在字段为 status.code,但不会返回对应的 HTTP 状态码。

请求

必需:HTTP Basic 身份验证或 Bearer 令牌(请参阅“身份验证与 API 响应”)。身份验证失败时,会在执行查询之前返回 HTTP 401。

使用 GET 请求,在路径中提供 isocode,并在查询字符串中提供可选参数 state 和 pid。如果省略该路径段,则改为读取表单编码的 isocode 字段。

curl --user "$API_USER:$API_PASSWORD" 'https://api.multitel.net/v3/getareas/US'
curl --user "$API_USER:$API_PASSWORD" 'https://api.multitel.net/v3/getareas/US?state=NY'
路径参数
名称类型是否必需说明
isocodestring是ISO 3166-1 alpha-2 国家代码。不区分大小写,忽略首尾空白字符。必须是 MultiTEL 已知的国家;该国家不必出现在 getcountries 的结果中。
查询参数
名称类型是否必需说明
statestring否仅适用于 US 和 CA。接受任意大小写的双字母州或省代码,或完整名称(不区分大小写,忽略首尾空格,内部连续空格合并为一个空格),例如 NY 或 new york。空值会被忽略。指定州或省后,仅返回在该州或省名下记录有至少一个有库存前缀的区域,但 available 仍表示整个区域的库存总量。getstates 返回的 next_function 已包含此参数。
pidstring否高级可选参数。将结果限定为已标记属于某一库存来源、且至少有一个前缀来自该来源的区域(不要求有库存),并将 available 及其他统计数据限定为该来源的数据。仅使用 MultiTEL 提供的值,格式为数值或 32 个字符的十六进制值;常规使用时请省略此参数。无法识别的值以及此接口不接受的值均会被忽略,不会报错。

响应

采用标准响应封装格式。成功时,status.code 为 200,status.msg 为 'Results: N',status.results 为 N,response 为按区域名称排序的列表。字段:uuid(下一步使用的区域标识符,无需解析其内部含义);country_uuid(32 个字符的国家标识符,无需解析其内部含义,后续步骤不需要);name;area_type 和 number_type(目录描述信息;条目不一定属于本地号码类型);country_iso;is_mobile(0 或 1,取自该区域的移动号码标志;对于 US,此值始终为 0,除非您的账户已开通 US 移动号码权限);available(该区域所有匹配前缀的库存总量,不限于所请求的州或省);sms_coverage(0 或 1);returns_numbers(0 或 1,取该区域各前缀中最大的标志值);latitude 和 longitude;state_iso;next_function。state_iso:使用州或省筛选条件时,为解析该筛选条件后得到的代码。对于 US 和 CA,未使用筛选条件时,优先取名称与区域名称相同的州或省的代码;若无,则取该区域已存储的值;若仍无,则取从该区域前缀数据推导出的代码。对于其他国家,使用已存储的值,可能为空。next_function 为 'v3/getprefixes/{uuid}'(使用筛选条件时附加 '?state={code}')的条件是 available 大于 0,否则为 'v3/order/{uuid}'。完全没有匹配前缀的区域会被省略。有前缀但无库存的区域仍会返回,且 available 为 0。

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

{
  "status": {
    "code": 200,
    "msg": "Results: 2",
    "results": 2
  },
  "response": [
    {
      "uuid": "0000000000000000000000000000a001",
      "country_uuid": "0000000000000000000000000000c001",
      "name": "Example City",
      "area_type": "City",
      "number_type": "Local",
      "country_iso": "US",
      "is_mobile": 0,
      "available": 58,
      "sms_coverage": 1,
      "returns_numbers": 1,
      "latitude": "40.0000",
      "longitude": "-75.0000",
      "state_iso": "NY",
      "next_function": "v3/getprefixes/0000000000000000000000000000a001"
    },
    {
      "uuid": "0000000000000000000000000000a002",
      "country_uuid": "0000000000000000000000000000c001",
      "name": "Sample Town",
      "area_type": "City",
      "number_type": "Local",
      "country_iso": "US",
      "is_mobile": 0,
      "available": 0,
      "sms_coverage": 0,
      "returns_numbers": 0,
      "latitude": "41.0000",
      "longitude": "-76.0000",
      "state_iso": "PA",
      "next_function": "v3/order/0000000000000000000000000000a002"
    }
  ]
}

错误

  • 500:msg 为 'ISO Code parameter is required':isocode 缺失或为空白。这是可修正的请求错误。不会设置对应的 HTTP 状态码。
  • 404:msg 为 'Error: no such country':国家代码未知。不会设置对应的 HTTP 状态码。
  • 404:msg 为 'State filter is only available for US and CA':为其他国家传入了非空的 state。不会设置对应的 HTTP 状态码。
  • 404:msg 为 'Invalid state':state 既不是该国家已知的州或省代码,也不是已知的州或省名称。不会设置对应的 HTTP 状态码。
  • 404:msg 为 'No areas found':没有区域符合国家、库存来源及州或省筛选条件。不会设置对应的 HTTP 状态码。
  • 401:缺少身份验证信息或身份验证失败。随 HTTP 状态码 401 返回。

可用性与副作用

  • 仅供客户账户查询使用。不会预留、订购或更改任何内容。
  • available 仅供参考,在执行下一步之前可能发生变化。