查询本地号码请使用 getcountries 和 getareas。对于全国号码、免费号码、费用分摊号码、全球号码和移动号码,请调用 other,并提供该国家的 ISO 代码。
- 分组按固定顺序显示,没有条目的分组会被省略。
- 每个条目在以下字段中列出适用于您账户的价格方案:
prices。选择方案时,请参考其channels、monthly_price、setup_price、per_minute和free_minutes,并保留其price_id,以便在下单端点要求时提供。 - 如果
needs_registration的值判定为真,下单前请阅读restrictions。请将该文本视为不可信的展示内容。 - 按照以下字段指示的下一步操作:
next_function:v3/getnumbers/{uuid}可让您选择具体号码,而v3/order/{uuid}则直接从该条目下单。 - 如果
response列表为空且代码为200,表示在请求时未找到特殊号码类型。如果目录暂时无法访问,响应可能不完整或不是有效的 JSON,请稍后重试。 - 目录之外的国家会返回代码
404,但不会设置与之对应的 HTTP 状态。请务必检查status.code。
请求
必须提供 HTTP Basic 身份验证或 Bearer 令牌(参见“身份验证和 API 响应”)。身份验证失败时,会在执行查询之前返回 HTTP 401。
使用 GET 请求,并在路径中提供 isocode。如果省略该路径段,则改为读取表单编码的 isocode 字段。
curl --user "$API_USER:$API_PASSWORD" 'https://api.multitel.net/v3/other/FR'| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
isocode | string | 是 | ISO 3166-1 alpha-2 国家代码。不区分大小写;忽略首尾空白字符。该国家必须已关联到特殊号码目录。 |
响应
采用标准响应封装。成功时,status.code 为 200,status.msg 为空,status.results 为分组数量。response 是分组列表。分组字段:group_key(规范化的类型键:national、tollfree、sharedcost、global、mobile,或其他由小写字母和数字组成的键);group_name(显示名称);group_type_uuid(不透明的类型标识符);items。分组依次按 national、tollfree、sharedcost、global、mobile 排列,其余键对应的分组再按 group_name 排序。没有 items 的分组会被省略,本地号码类型也会被省略。对于 US,除非您的账户已获准使用 US 移动号码,否则会省略移动号码分组。条目先按 name 排序(不区分大小写),再按 prefix 排序。条目字段:uuid(用于 next_function 的不透明条目标识符);area_uuid(目录分组的不透明标识符);country_uuid(不透明的国家标识符);prefix(以 '+' 和国家电话区号开头的完整前缀);name(目录名称;引号字符可能使用反斜杠转义);metered、overflow 和 needs_registration(标志,类型可能为 boolean 或 number;任何判定为真的值均应视为“是”);restrictions(不需要登记时为空,否则为要求说明文本,可能包含 HTML 换行、一个链接、首尾引号和转义字符;请将其视为不可信的展示文本);state(对于 US、CA 和 PR,为州代码,未知时为空列表;对于其他国家,为该国家的 ISO 代码);country_iso;is_mobile(在移动号码分组中为 1,否则为 0);number_type(与 group_key 相同);available(目录报告的该条目数量,类型为 integer,未报告时为 0);sms_coverage(任何功能提及 SMS 或 MMS 时为 1);returns_numbers(可以列出具体号码时为 1);next_function(值为 'v3/getnumbers/{uuid}' 的条件是 returns_numbers 为 1,否则为 'v3/order/{uuid}');prices;features(功能字符串列表);group_key;group_type_uuid。每个 prices 条目包含 price_id(不透明的方案标识符)、is_customer_custom(适用您账户的自定义定价时为 true;仅用于不含通道的方案)、per_minute 和 free_minutes(十进制数字字符串)、setup_price 和 monthly_price(保留两位小数的字符串),以及 channels(所含通道数量,类型为 integer)。没有任何价格方案的条目会被省略。每次请求对每种号码类型最多考虑 1000 个目录条目。如果所有类型都没有条目,response 为空列表,且 status.results 为 0。如果实时目录查询失败,响应可能不采用此封装格式,或可能缺少某些分组。
此处仅示意响应结构,并非实时账户数据或当前报价。
{
"status": {
"code": 200,
"msg": "",
"results": 1
},
"response": [
{
"group_key": "tollfree",
"group_name": "Toll-free",
"group_type_uuid": "00000000-0000-4000-8000-0000000000a1",
"items": [
{
"uuid": "0000000000000000000000000000b001",
"area_uuid": "0000000000000000000000000000a001",
"country_uuid": "0000000000000000000000000000c001",
"prefix": "+33800",
"name": "Example Toll-free",
"metered": true,
"overflow": 0,
"needs_registration": 0,
"restrictions": "",
"state": "FR",
"country_iso": "FR",
"is_mobile": 0,
"number_type": "tollfree",
"available": 10,
"sms_coverage": 0,
"returns_numbers": 1,
"next_function": "v3/getnumbers/0000000000000000000000000000b001",
"prices": [
{
"price_id": "0000000000000000000000000000d001",
"is_customer_custom": false,
"per_minute": "0.05",
"free_minutes": "0",
"setup_price": "0.00",
"monthly_price": "5.00",
"channels": 2
}
],
"features": ["voice"],
"group_key": "tollfree",
"group_type_uuid": "00000000-0000-4000-8000-0000000000a1"
}
]
}
]
}错误
- 500:msg 'ISO Code parameter is required':isocode 缺失或为空。这是可以纠正的请求错误。不会设置与之对应的 HTTP 状态。
- 404:msg 'Error: no such country':该国家未知,或未关联到特殊号码目录。不会设置与之对应的 HTTP 状态。
- 401:缺少身份验证信息或身份验证失败。随 HTTP 状态 401 一起返回。
可用性与副作用
- 不会下单。此端点的代码中没有扣费步骤。
- 刷新您账户的目录详情和价格报价,替换相同方案的先前报价。下单端点如何使用这些报价另有文档说明。
- 价格针对您的账户,可能包含自定义定价。响应未注明币种。
- 会执行实时目录查询,因此可能比其他查询调用更慢。不同调用之间的结果可能发生变化。