这份文档还在翻译中,预期年底前完成。欢迎您提供宝贵的意见及建议。
通过 Nexmo CLI 使用 Number Insight
概述
您可将 Nexmo CLI 与 Number Insight API 组合使用,而不必使用 curl
来创建请求或编写程序代码。本指南将介绍如何操作。
入门
开始之前:
- 注册一个 Nexmo 帐户,从而获得访问 Number Insight API 所需的 API 密钥和密码。
- 安装 Node.JS,您将使用
npm
(Node Package Manager) 安装 Nexmo CLI。
安装并设置 Nexmo CLI(命令行界面)
根据终端提示执行以下命令,以安装 Nexmo CLI:
$ npm install -g nexmo-cli
注意 :如果您没有足够的系统权限,则可能需要在上述命令前面加上前缀sudo
。
然后,向 Nexmo CLI 提供您的 VONAGE_API_KEY
和 VONAGE_API_SECRET
,这些可在 Dashboard 入门页面
找到:
$ nexmo setup VONAGE_API_KEY VONAGE_API_SECRET
您只需要在首次使用 Nexmo CLI 时执行此操作。
使用 Basic API 尝试自己的号码
Number Insight Basic API 可供免费使用。通过使用 nexmo insight:basic
(或 nexmo ib
)并用您自己的号码替换显示的号码,使用您自己的号码对其进行测试。号码必须为国际格式:
$ nexmo insight:basic 447700900000
Nexmo CLI 将显示您输入的号码及其所属的国家/地区:
447700900000 | GB
要查看 Number Insight API 响应中包含的其他详细信息,请使用 --verbose
开关(简称 -v
):
$ nexmo insight:basic --verbose 447700900000
Basic API 的完整响应包含以下信息:
[status]
0
[status_message]
Success
[request_id]
385bf642-d096-4b85-9dfc-4c1910d65300
[international_format_number]
447700900000
[national_format_number]
07700 900000
[country_code]
GB
[country_code_iso3]
GBR
[country_name]
United Kingdom
[country_prefix]
44
此可读输出反映 JSON 响应中可用的字段名称和数据:它返回关于请求(status
、status_message
、request_id
)的数据、号码所属国家/地区的详细信息(country_name
、country_prefix
等)以及如何将号码格式化为适合该国家/地区的号码(national_format_number
)。如果没有看到与前面所示内容类似的响应,请检查您的 API 凭据并确保已正确安装 Node.js 和 nexmo-cli
。
测试标准和高级 API
标准和高级 Number Insight API 提供有关号码的更多信息,包括运营商和漫游状态(手机号码)的详细信息。请参阅功能比较表,查看每个 API 等级包括的响应数据。
注意 :调用标准和高级 API 并不免费,在使用它们时,系统会要求您确认是否使用您的帐户付费。
使用 Number Insight Standard API
要使用 Number Insight Standard API,请使用 nexmo insight:standard
命令
$ nexmo insight:standard --verbose 447700900000
标准 API 的典型响应如下所示:
[status]
0
[status_message]
Success
[request_id]
aaaaaaaa-bbbb-cccc-dddd-0123456789ab
[international_format_number]
447700900000
[national_format_number]
07700 900000
[country_code]
GB
[country_code_iso3]
GBR
[country_name]
United Kingdom
[country_prefix]
44
[request_price]
0.00500000
[remaining_balance]
1.995
[current_carrier.network_code]
23420
[current_carrier.name]
Hutchison 3G Ltd
[current_carrier.country]
GB
[current_carrier.network_type]
mobile
[original_carrier.network_code]
23410
[original_carrier.name]
Telefonica UK Limited
[original_carrier.country]
GB
[original_carrier.network_type]
mobile
[ported]
assumed_ported
使用 Number Insight Advanced API
要使用高级 API,请使用 insight:advanced
(或 ia
):
$ nexmo insight:advanced --verbose 447700900000
在响应中查找以下其他字段:
[lookup_outcome]
0
[lookup_outcome_message]
Success
[valid_number]
valid
[reachable]
reachable
[roaming.status]
not_roaming
[lookup_outcome]
和 [lookup_outcome_message]
字段告诉您高级 API 是否能够确定号码的有效性([valid_number]
)、可接通性([reachable]
)和漫游状态([roaming.status]
)。