Sign inGet Started

Lookup 概述

Lookup 在你发送消息之前回答关于收件人的问题。给它一个电话号码,它会告诉你这个号码的信息:当前服务网络、所属国家、是否曾经转网,以及线路类型。给它一个电子邮件地址,它会告诉你这个地址是否值得发送。

两者都是一次请求、一次应答。无需创建任何资源,无需轮询,事后也无需清理。控制台中的 Lookup 页面可以逐条运行这两种操作,这是在编写任何代码之前查看应答格式的最快方式。

每次查询的费用

每次查询都从你的组织钱包中扣费,这是在基于它进行开发之前值得了解的部分。

电话号码查询始终会对基础查询计费一次。在此基础上,你可以请求属性,即来自付费数据源的额外信息。你请求的每个属性单独计费,但仅在成功返回时才收费。无法回答的属性会返回一个说明状态,不产生任何费用。

电子邮件地址查询按每个已回答的地址计费一次。每个判定结果都会计费,包括 undeliverable:这就是你请求的答案,也是帮你避免退信的答案。

查询失败时不收取任何费用。格式错误的号码、被拒绝的地址或无法连接的数据源都不产生费用。

Lookup 定价列出了基础查询、每个属性以及电子邮件地址查询的费率。

号码查询分为两个层级

这种分层是电话号码查询的核心设计,值得明确说明。

基础查询始终执行。它回答当前服务网络、号码发放网络、所属国家、号码是否曾经转网,以及粗略的 line_type(移动、固定电话、VoIP、免费电话等)。如果基础查询无法回答,整个请求会失败,而不是返回一个需要你检查才能发现为空的半空应答。

属性是你在基础查询之上添加的内容,通过在 type 中指定属性名称来请求。它们回答更精细的问题:号段的精确分配业务、完整的携号转网记录、号码当前是否在网、是否在漫游、SIM 卡最近一次更换时间,以及可信度评分。无法回答的属性不会导致请求失败,而是降级为一个状态值,基础查询仍然正常返回。

只有 ok 携带值,也只有 ok 会被计费

每个属性块都有一个 status,读取它不是可选的。

ok 表示属性已回答,值在响应中,且已计费。

unavailable 表示没有收到应答,因此该属性不包含任何内容,不计费。

inconclusive 表示收到了应答但未能解析该属性:号码不在其背后数据的覆盖范围内,或者数据源返回了该属性不报告的值。这是一个真实的发现而非缺失,同样不计费。

status 是一个开放词汇表,将来可能会添加更多值。基于 ok 进行分支判断,将其他所有值视为 "not answered",你的代码无论怎样扩展都能保持正确。

在 Lookup 与发送时验证之间做选择

Lookup 用于在你提交之前逐个收件人地做出决策:在注册时检查号码或地址、在操作之前筛选线索,或根据线路类型以不同方式路由消息。它按每次检查收费,并给你一个可以据此行动的答案。

如果你只是想停止向已经退信或投诉过的地址发送消息,则不需要 Lookup。屏蔽列表会自动且免费地完成这项工作。

两种操作都没有批量形式,lookup 请求速率限制起始为每个凭证每分钟 10 次请求,因此目前不适合用来检查整个列表。如果你有这方面的需求,请联系我们提高限额。

后续步骤

继续查看此主题的文档、指南和示例。