注册并联系客服,免费领取 100 次检测。免费注册
CarrierLookup 工作流示意图:CarrierLookup API 并发队列与共享账户槽位管理
本文所述工作流的示意图(CarrierLookup)。

CarrierLookup API 并发队列应协调所有使用同一账户的执行进程,而非让每个进程自行预估可用容量。

CarrierLookup API 并发队列应协调所有使用同一账户的执行进程,而非让每个进程自行预估可用容量。CarrierLookup 记录了共享的实时并发槽位以及独立的单次多号码请求账户门控。请通过账户级控制器处理单次请求和同步多号码请求,保留每个多号码请求的输入顺序,并仅在请求结束后释放槽位。这些控制措施旨在管理并发工作,而非设定每分钟配额或响应时间承诺。

对账户进行建模,而非针对单个应用进程

原始归属运营商查询返回的是号码的原始分配背景:原始分配的运营商、底层运营商、号码类型以及分配地理位置。它不会报告携号转网后的当前运营商,也不会报告号码是否能够接听电话或接收短信。此处的“实时”是指请求与响应的工作流,而非实时网络探测。原始归属运营商查询 API 是相关产品页面,API 文档 应作为当前集成细节的权威来源。

当多个服务共享一个 API 账户时,基于进程的信号量是不够的。两个 Web 工作进程、一个后台导入任务和一个分析工具可能会同时认为账户有空余槽位。文档化的公共规则规定,每个账户共享 5 个实时并发槽位,且同一时间仅允许一个多号码请求。因此,客户侧控制器应使用单一的账户级协调器,或采用其他能让所有参与进程对未完成调用保持一致视图的机制。具体的存储或队列技术由客户自行选择。

队列应包含一个请求包,其中包含提交的 E.164 标识符、请求模式、应用作业引用以及团队将其加入队列的时间。这些是建议的客户侧字段,而非对 CarrierLookup 响应模式的声明。除非组织政策要求并提供保护,否则请避免记录完整的号码或凭据。

为单次调用与多号码调用设置独立的门控

单次查询接受一个 E.164 号码。同步多号码查询接受 1–100 个 E.164 号码,并在一次响应中返回排序后的结果。这两者均为实时检查,但多号码路由还具有账户级的“一次仅限一个”限制。请设计两个门控:一个用于所有实时并发请求的共享容量计数器,以及一个用于多号码请求的独占门控。多号码调用必须根据文档化的账户规则和独占多号码门控获取其所需容量;实现逻辑应在响应完成或发生终止性故障后同时释放这两个门控。

请勿将多号码请求视为异步批量文件任务。独立的全局运营商查询产品接受 TXT 或 CSV 文件,准备标识符并在稍后生成一个 CSV 文件。这属于不同的工作流。CarrierLookup 工作原理 页面有助于读者区分这些模式。如果应用有大型文件作业,请选择文档化的批量产品,而不是将文件推送到同步队列中。

协调器还需要公平性。持续不断的单次请求流不应导致已排队的多号码请求被搁置,而一次大型导入也不应无限期阻塞小型交互式检查。客户侧的调度规则可以按到达顺序预留轮次,或使用有限的优先级策略。这属于工作流建议,而非提供商的调度保证。

将超时与进程故障视为终止性队列事件

单次请求和多号码请求在公共 API 中有文档化的超时上限。请使用当前的 API 文档获取确切数值和响应契约,而非假设正常的完成时间。客户端超时可能会导致无法确定服务器是否完成了调用,因此控制器应将这种不确定性与已完成的运营商结果分开记录。对于同步多号码请求,产品文档指出多号码超时会导致整个请求失败,不返回部分结果,并返回全部金额。请勿从不完整的响应中捏造行级成功记录。

即使应用进程崩溃,每个队列租约也需要一个释放路径。客户的控制器可以将作业标记为“不确定”,在确认进程终止后释放本地容量,并将请求移交给审核或受控的重试策略。在网络事件发生后,请勿自动向服务发送大量重试请求。如果选择重试,请保留原始的应用作业引用,并将后续的观察结果与之前的“不确定”尝试区分开来。

已完成的查询可能包含空的运营商字段,但这仍属于已完成且计费的结果。这不属于超时,不应仅仅为了强制获取非空运营商而进行重试。反之,被拒绝的输入格式也不属于“无运营商”结果。队列记录的是请求状态,而非重新解读查询含义。

监控队列,无需发明速率限制

有用的客户侧指标包括:当前实时并发数、多号码请求是否处于活跃状态、按作业类别划分的排队时长、已完成响应、格式拒绝、超时以及不确定的传输结果。这些指标显示了应用是否遵守了并发限制,以及用户是否在等待客户侧控制的进程。它们并不暗示存在固定的每分钟或每日上限,公共事实中并未说明此类限制。

在发布前,请测试两个 Web 工作进程同时提交、在单次请求活跃时排队多号码请求、进程在响应前退出以及超时等场景。确认账户中同一时间活跃的多号码请求不超过一个,且所有获取的本地门控最终都会被释放。验证结果是否与提交的规范化号码匹配,并在更新联系人记录前核对排序后的多号码行。

最后的操作说明应明确,返回的运营商描述的是原始分配情况。快速队列仍需为原始运营商分配提供精确的标签。请将其与来源和检查时间一起存储,将分配区域和城市与个人的实际位置区分开来,并使用其他证据来回答联系可能性或身份问题。

常见问题解答

团队应如何协调多个使用同一个 CarrierLookup 账户的进程?

使用所有进程共享的账户级控制器,并设置共享的实时容量门控以及用于同步多号码请求的独占门控。

文档化的并发规则是否设定了每分钟配额?

不是。它限制的是同时进行的并发工作,并未设定每分钟的固定请求数。

超时的多号码请求可以部分接受吗?

文档化的多号码超时会导致整个请求失败,不返回部分结果。请将其视为请求级的失败,不要捏造成功的行记录。

空的运营商字段是否应触发自动重试?

不应仅因此触发重试。带有空分配字段的已完成查询仍属于已完成的结果;团队应准确保留该结果。

了解更多

选择适合您工作流下一步的产品信息。

参考来源