您需要验证美国银行路由号码,并提取银行的法定名称、地址、联系方式和状态,以便您的ACH工作流程在发薪日不会失败。通过本文,您将能够查询路由号码,确认其有效性,并使用Zyla API Hub上的银行路由号码查找API将返回的机构元数据存储在您的财务应用中。
此API提供的内容及何时使用
银行路由号码查找API返回给定美国路由号码的权威银行详细信息。它涵盖:
- 验证路由号码是否正确。
- 机构身份:银行名称、分行类型(例如,主办公室)。
- 联系方式:完整地址、电话。
- 操作标志:活动状态和最后更新时间。
使用此API的典型财务集成包括ACH入职、支付配置、支付操作仪表板、KYC/KYB验证步骤以及资金移动前的内部风险检查。
在Zyla API Hub上开始
打开Zyla API Hub上的银行路由号码查找API页面并开始试用以获取您的密钥。Zyla发放一个API密钥,您可以在市场上使用,采用订阅+配额模型(而不是按调用付费)。第一个API通常提供7天试用或50次请求;请查看API页面以获取当前访问选项和定价。
您将使用的端点
该API公开了两个GET端点,您可以直接从后端或工作程序调用。所有调用都需要Authorization头部和您的Zyla API密钥。
1)获取银行信息
当您有一个路由号码和支付类型,并且需要完整的银行元数据,包括状态和最后更新时间时,请使用此方法。
- 方法:GET
- URL:https://zylalabs.com/api/331/routing-number-bank-lookup-api/266/get-bank-information
- 所需查询参数:
- routingnumber(数字):例如,121000245
- paymentType(字符串):例如,ach
复制粘贴cURL(需要Authorization头):
curl -s -X GET "https://zylalabs.com/api/331/routing-number-bank-lookup-api/266/get-bank-information?routingnumber=121000245&paymentType=ach" \
-H "Authorization: Bearer YOUR_API_KEY"
官方示例响应:
{
"status": "success",
"data": {
"routingNumber": "121000245",
"paymentType": "ach",
"name": "Wells Fargo Bank, Na",
"addressFull": "255 2nd Ave South, Minneapolis, MN 55479",
"street": "255 2nd Ave South",
"city": "Minneapolis",
"state": "MN",
"zip": "55479",
"type": "Main Office",
"phone": "800-245-2426",
"active": true,
"lastUpdated": "2026-07-29"
}
}
您实际使用的字段亮点:
- data.routingNumber和data.paymentType:回显您的输入以进行关联。
- data.name,data.type:在确认屏幕和银行匹配逻辑中使用。
- data.addressFull(加上street/city/state/zip):存储以供审计或支持工作流。
- data.phone:用于手动验证程序。
- data.active:如果为false,则阻止支付。
- data.lastUpdated:您可以记录的日期字符串,以评估缓存中的数据新鲜度。
2)银行数据
当您只有一个路由号码并希望获得核心机构详细信息的验证结果时,请使用此方法。
- 方法:GET
- URL:https://zylalabs.com/api/331/routing-number-bank-lookup-api/1353/bank-data
- 所需查询参数:
- number(数字):例如,304082876
复制粘贴cURL:
示例响应:
要映射的关键字段:
- success和message:用于UI或批量检查的快速验证信号。
- data.routing_number:您查找的标准化路由号码。
- data.bank,data.address,data.city,data.state,data.zip,data.phone:核心银行档案。
- data.date_of_revision:指示记录最后修订时间的日期字符串;保留以供对账和缓存失效启发式。
Python中的端到端示例
下面的脚本调用获取银行信息,检查状态,并打印您通常会持久化的标准化字段。它使用上面显示的确切URL和参数。将YOUR_API_KEY替换为您的Zyla密钥。
import os
import requests
API_KEY = os.getenv("ZYLA_API_KEY", "YOUR_API_KEY")
URL = "https://zylalabs.com/api/331/routing-number-bank-lookup-api/266/get-bank-information"
params = {
"routingnumber": "121000245",
"paymentType": "ach",
}
headers = {
"Authorization": f"Bearer {API_KEY}",
}
resp = requests.get(URL, params=params, headers=headers, timeout=15)
resp.raise_for_status()
payload = resp.json()
if payload.get("status") != "success" or "data" not in payload:
raise SystemExit(f"查找失败或意外响应:{payload}")
data = payload["data"]
normalized = {
"routing_number": data.get("routingNumber"),
"payment_type": data.get("paymentType"),
"bank_name": data.get("name"),
"branch_type": data.get("type"),
"address_full": data.get("addressFull"),
"city": data.get("city"),
"state": data.get("state"),
"zip": data.get("zip"),
"phone": data.get("phone"),
"active": data.get("active"),
"last_updated": data.get("lastUpdated"),
}
print("验证的银行记录:")
for k, v in normalized.items():
print(f"{k}: {v}")
# 示例:简单的门控逻辑
if not normalized["active"]:
raise SystemExit("银行路由未激活;阻止ACH设置。")
# 持久化到您的数据存储或继续入职流程。
为您的流程选择正确的端点
- 当您需要active标志、type(例如,主办公室)和清晰的lastUpdated日期以及结构化地址和ACH支付类型上下文时,请使用获取银行信息。
- 使用银行数据进行轻量级有效性检查,返回机构的核心档案字段和验证消息。
如果您的工作流程以快速有效性检查(银行数据)开始,并在成功验证或最近未缓存的银行中升级到更丰富的档案提取(获取银行信息),则可以将它们结合使用。
节省时间的实用实施说明
- 身份验证:在每个请求中设置Authorization: Bearer YOUR_API_KEY。不要在查询参数中传递密钥。
- 缓存:路由号码是稳定的标识符。按routingNumber缓存成功的查找。使用lastUpdated或date_of_revision来决定是否需要刷新。每天刷新更改记录的作业是一种常见模式。
- 标准化:同时存储完整地址字符串和拆分字段。完整字符串方便显示和支持票据,而单独字段更适合搜索和匹配。
- 数据新鲜度:lastUpdated(获取银行信息)是一个日期字符串。date_of_revision(银行数据)也是一个日期字符串。保留这些以供审计日志。
- ACH上下文:在获取银行信息中,paymentType=ach是必需的。请在您的客户端中明确保留此参数,以避免上游逻辑中的意外不匹配。
- 幂等性:如果您重新运行相同的routingnumber查询,对于未更改的记录,响应是确定性的。这使得在重试期间安全调用。
- 日志记录:仅记录您请求的路由号码和状态/成功字段。避免记录API密钥。
常见财务用例
- ACH入职:在您的“链接银行账户”表单上验证路由号码,将银行名称和城市显示给用户,并在启用支付之前存储活动标志。
- 支付操作:在处理支付文件之前,运行批量检查以确保所有路由号码返回success/active=true;拒绝或隔离无效条目。
- 合规性和风险:保留银行的法定名称和地址以供对方审查和内部审计文档。
- 客户支持:使用返回的电话和地址来协助输入错误路由号码的用户,或在手动审核期间确认机构详细信息。
测试和验证提示
- 单元测试:存根上面显示的两种响应形状。测试成功路径和当状态不是“成功”(获取银行信息)或成功为false(银行数据)时的保护措施。
- UI确认:将银行名称、城市和州回显给最终用户,以便在您运行微存款或提取资金之前尽早捕捉到输入错误。
- 批处理作业:对于夜间或每小时的验证,按路由号码前缀对作业进行分区,以优雅地并行化,而不饱和您的配额。
- 监控:跟踪“无效路由号码”与总尝试的比率,以快速发现传入数据质量问题。
通过MCP从AI代理调用API
如果您的团队使用兼容MCP的编码代理(例如,在编辑器中),您可以通过Zyla的MCP网关公开此API。任何支持MCP的代理都可以通过MCP调用相同的GET端点,使用您的密钥进行隧道传输。请在此处查看协议和连接详细信息:MCP。
基本方法:
- 使用Zyla MCP端点和您的API密钥配置您的MCP客户端。
- 在代理的工具执行中,向您将从后端使用的确切端点URL发出GET请求,包括Authorization头。
- 解析JSON并将关键字段(银行名称、地址、活动标志)反馈到您的代码生成或数据迁移任务中。
由于MCP桥接转发您的请求,因此本文中显示的相同URL、参数和响应格式不变。
错误处理模式
上面的示例显示了成功的有效负载。在生产中,实现:
- HTTP级别处理:根据您的重试策略,将非2xx视为瞬态或终端。确保您不会超过您的订阅配额。
- 有效负载验证:在信任数据字段之前,检查获取银行信息的状态是否等于“成功”,以及银行数据的成功是否等于true。
- 用户消息:对于无效的路由号码,返回简洁的UI消息,要求用户重新检查其银行详细信息。
安全性和部署说明
- 将您的Zyla API密钥保留在服务器端;切勿将其嵌入客户端代码中。
- 定期轮换密钥并在人员变动时更新。相应地更新您的CI/CD秘密存储。
- 仅限需要访问的服务(例如,支付服务、入职工作者)。
- 考虑在您的基础设施中使用薄代理来集中日志记录和重试,但不要记录密钥本身。
字段映射检查表
- 主键:路由号码(字符串)。
- 身份:银行名称;分行类型(如果可用)。
- 联系方式:addressFull;street/city/state/zip;电话。
- 状态:来自获取银行信息的active(布尔值);来自银行数据的success和message。
- 新鲜度:lastUpdated(获取银行信息)或date_of_revision(银行数据)。
- 审计:在您的系统日志中存储确切的查询参数和查找时间戳。
将所有内容整合在一起
对于本周的大多数财务集成:
- 在银行路由号码查找API页面上,订阅并获取您的API密钥。
- 客户端表单验证格式;后端调用银行数据进行快速验证。
- 如果有效,调用获取银行信息以检索活动状态和完整档案。
- 使用lastUpdated或date_of_revision存储记录以进行缓存治理。
- 在active为true时门控ACH设置或支付。
此流程为您提供了一个快速验证器和一个深度档案提取,使用两个简单的GET请求。
常见问题解答
这两个端点有什么区别?
获取银行信息返回更丰富的档案,包含active、type和lastUpdated等字段,并需要routingnumber和paymentType。银行数据验证路由号码,并返回给定号码的核心机构详细信息。
我应该先调用哪个端点?
如果您需要快速有效性检查,请从银行数据开始。如果您已经知道需要active标志和完整地址细分,请直接使用获取银行信息。
我如何进行身份验证?
在每个请求中包含Authorization: Bearer YOUR_API_KEY。不要将密钥作为查询参数发送。
是否有免费计划?
Zyla API采用订阅+配额模型,而不是按调用付费。对于您的第一个API,您通常会获得7天试用或50次请求。请查看API页面以获取当前访问选项和定价。
我可以将其用于ACH设置吗?
是的。获取银行信息接受paymentType=ach,并返回银行的活动状态和完整档案,通常用于门控ACH账户创建和支付。
准备好验证路由号码并交付您的集成了吗?在此处创建您的帐户并开始在银行路由号码查找API上进行试用:在银行路由号码查找API上开始7天试用。在Zyla上有超过10,000个公共API,您可以使用相同的密钥和订阅模型从单次检查扩展到完整的财务堆栈。