CNAM 集成

CNAM REST API 参考

通过 HTTPS 请求主叫名称,并处理结果、费用和错误。

选择查询方式

层级每次查询的公开价格功能说明
StarterUS$0.0026使用专有的和已缓存的主叫名称信息。
StandardUS$0.0037每次查询都会进行实时网络查询。
MixedUS$0.004先尝试实时查询,如果未找到名称,则回退使用 Starter 数据。

所选服务决定查询行为;Mixed 不是缓存优先的查询。在用于生产环境之前,请核对分配给您账户的费率。主叫名称不能证明身份或所有权。

发送经过认证的查询

端点:GET https://api.multitel.net/v3/cnam/NUMBER。请使用包含国家代码的国际格式电话号码,只输入数字,不含标点符号,也不带前导加号。请使用已获批准的 API 凭据,从您的应用服务器执行此请求。

curl --fail-with-body \
  --user "$MULTITEL_API_USERNAME:$MULTITEL_API_PASSWORD" \
  --header "Accept: application/json" \
  "https://api.multitel.net/v3/cnam/12025550123"

请通过服务器端的密钥配置提供这两个环境变量。仅当已启用该访问方式且满足其来源 IP 限制时,才可改用已配发的 bearer 凭据。切勿将 API 密钥放入公开的浏览器代码包中。

API 认证与首次请求指南

读取 JSON 响应

此响应仅作说明。返回的名称和费用取决于具体的查询和所选服务。

{
  "status": {
    "code": 200,
    "msg": ""
  },
  "response": {
    "number": "12025550123",
    "name": "EXAMPLE CALLER",
    "cost": "0.004",
    "balance": "24.9960"
  }
}
status.code
应用结果代码;与 200 比较之前,请先统一字符串/数值类型。
status.msg
随附的结果消息或拒绝消息。
response.number
被查询的号码。
response.name
可用的主叫名称。
response.cost
本次查询所报告的费用;请将其视为十进制金额。
response.balance
所报告的账户余额(如有)。

无名称结果与错误

请求成功并不保证能得到有用的主叫名称。请处理名称为空、返回号码而非名称以及查询被拒绝这几种情况。应用代码 403 可能表示余额不足、被禁止的购买,或号码没有查询结果;请查看其消息。

在访问 response.name 之前,请同时检查 HTTP 状态和 JSON 中的 status。出错时响应对象可能不存在。名称缺失不应妨碍正常呼叫的路由。

计费、重试,以及与更新主叫号码显示的区别

每次新的查询都可能产生查询费用。这些查询接口未提供幂等键的说明,因此重新发起的重试可能成为第二次计费查询。对于传输/服务故障,请使用有限的退避重试;先解决账户错误;并核对所报告的查询费用。仅在适合您应用的时间范围内缓存数据;主叫名称数据可能会发生变化。

CNAM 查询是读取名称,不会更改您外呼时显示的名称。LIDB 主叫名称更新是一项独立的操作,有各自的字段、授权、价格和处理流程。