使用 GraphQL 联邦查询优化 Didit API 调用 (ZH)
探索 GraphQL 联邦查询如何大幅降低与 Didit API 交互的成本并提升性能。了解如何减少过度获取、最小化网络延迟以及简化数据检索。.

简化数据检索GraphQL 联邦查询允许您通过一次 API 调用,从多个服务中精确请求所需数据,从而消除 REST API 中常见的过度获取和数据不足问题。
减少网络开销通过将多个请求合并为一个,联邦查询显著减少了应用程序与 Didit API 之间的往返次数,从而降低了延迟并加快了响应时间。
提升成本效益更少的 API 调用和数据传输直接转化为更低的运营成本,因为您只需支付所消耗的资源和数据费用,从而优化您的身份验证支出。
Didit 的模块化优势Didit 开放、模块化的身份平台特别适合受益于 GraphQL 联邦查询,通过统一接口实现身份验证、活体检测和反洗钱筛选等各种身份原语的无缝集成和编排。
传统 API 交互的挑战
在身份验证领域,应用程序通常需要检索有关用户或验证会话的各种信息。传统的 RESTful API 有时会导致效率低下。例如,您可能需要进行一次调用来启动身份验证会话,另一次调用来检查其状态,还有一次调用来获取决策和相关数据。这可能会导致几个常见问题:
- 过度获取:API 通常返回的数据量超出应用程序实际所需,浪费了带宽和处理能力。
- 数据不足:相反,单个 API 调用可能无法提供所有必要数据,迫使您的应用程序进行多次后续请求。
- 多次往返:每次 API 调用都会产生网络延迟,连续进行多次调用会显著降低应用程序的性能。
- 成本增加:许多 API 提供商,包括身份验证服务,根据调用次数或传输数据量收费。低效的 API 使用可能导致意想不到的成本。
对于像 Didit 这样的平台,它提供了丰富的身份原语套件,包括身份验证(OCR、MRZ、条形码)、被动和主动活体检测、1:1 人脸匹配和人脸搜索以及反洗钱筛选和监控,高效地检索和组合这些服务的数据至关重要。这就是 GraphQL,特别是采用联邦方法,提供强大解决方案的地方。
将 GraphQL 联邦查询引入身份验证
GraphQL 是一种用于 API 的查询语言,也是一个用于通过您为数据定义的类型系统执行查询的服务器端运行时。它允许客户端精确指定他们需要的数据,不多不少。当应用于像身份验证这样复杂的生态系统时,GraphQL 联邦查询使您能够将来自多个底层服务(子图)的数据组合成一个统一的 API。这意味着您可以:
- 请求特定数据:您不是接收固定数据结构,而是定义应用程序所需的精确字段。例如,在检查 Didit 身份验证结果时,您可能只需要验证状态、用户姓名和证件有效期,而不是提取的每个字段。
- 合并请求:将身份不同方面的查询合并为一个。想象一下需要用户的验证决策、他们的反洗钱筛选状态和他们的地址证明详细信息。通过联邦查询,即使它们来自不同的内部 Didit 微服务,也可以通过一次查询全部获取。
- 优化性能:通过减少请求数量和传输数据量,应用程序的加载时间和响应速度将显著提高。这对于用户面向的流程尤其重要,因为每一毫秒都至关重要。
例如,您可以查询会话的决策(GET /v3/session/{id}/decision/)并同时获取相关的用户属性或关联反洗钱检查的状态,所有这些都可以在一次操作中完成,而不是进行单独的调用。
实用的实施策略
使用 Didit 的 API 实施 GraphQL 联邦查询涉及几个关键步骤:
- 定义您的 Schema:首先定义一个 GraphQL schema,代表您从 Didit 各种服务中所需的数据。此 schema 作为客户端和 API 网关之间的契约。
- 构建网关/编排层:设置一个了解您的统一 schema 的 GraphQL 网关(例如,Apollo Federation Gateway)。此网关将把传入 GraphQL 查询的一部分路由到相应的 Didit API 端点或内部微服务。
- 映射到 Didit 的 REST 端点:在网关的解析器中,将 GraphQL 字段映射到相应的 Didit REST API 调用。例如,GraphQL 中的
sessionStatus字段可能通过调用 Didit 的GET /v3/session/{id}/decision/端点来解析。 - 利用 Didit 的模块化 API:Didit 提供了高度模块化的架构。这意味着年龄估算、电话和电子邮件验证或 NFC 验证等单独的身份检查可以作为独立的服务集成到您的联邦图中,提供精细的控制和效率。
- 监控和迭代:使用工具监控 GraphQL 网关的性能和查询效率。根据需要优化解析器和 schema 定义,以确保最大的成本和性能效益。
考虑这样一个场景:您需要验证用户的年龄并进行反洗钱检查。通过一个联邦 GraphQL 查询,而不是两次单独的 API 调用,可以同时检索这两个结果,从而显著简化您的工作流程并减少延迟。这对于受监管行业或需要快速入职流程的应用程序尤其有价值。
成本和性能优势
将 GraphQL 联邦查询与 Didit 等平台结合使用的优势不仅仅在于更简洁的代码:
- 减少 API 调用量:通过整合请求,您自然会减少对 Didit 的 API 调用总数,如果您的定价模型基于使用量,这会直接影响成本。
- 降低数据传输成本:仅请求必要数据可最大限度地减少带宽消耗,从而降低数据传输成本,这在云环境中尤为关键。
- 改善用户体验:更快的数据检索意味着更快的加载时间和更灵敏的应用程序,从而在关键身份验证步骤中增强整体用户体验。
- 简化客户端开发:客户端应用程序可以与单个、一致的 GraphQL 端点交互,从而抽象出多个底层 REST API 的复杂性。这简化了开发和维护。
- 增强可伸缩性:优化的 API 交互模型使您的应用程序能够更高效地扩展,处理更高的流量而不会按比例增加基础设施或 API 成本。
Didit 的免费核心 KYC 和按成功检查付费模式已经提供了显著的成本优势,而与 GraphQL 联邦查询集成则通过确保您只为您所消费和所需的精确内容付费,从而放大了这些优势。
Didit 如何提供帮助
Didit 是一个 AI 原生、开发者优先的身份平台,采用开放、模块化的架构构建,使其成为与 GraphQL 联邦查询集成的理想选择。我们简洁的 API 和全面的文档意味着将我们的服务映射到您的 GraphQL schema 非常简单。无论您是利用我们的身份验证进行文档检查、被动和主动活体检测进行欺诈预防、反洗钱筛选和监控进行合规性,还是地址证明进行地址验证,每个组件都可以无缝集成到您的联邦图中。
我们对模块化设计的承诺允许开发人员选择他们所需的精确身份原语,将其编排成自定义工作流,然后高效地查询结果。通过 Didit,您可以受益于免费核心 KYC、透明的按成功检查付费定价以及无设置费用,确保您通过 GraphQL 追求成本和性能优化既有效又经济。Didit 为高效、可扩展且安全的身份基础设施提供了构建块,而 GraphQL 联邦查询可以以无与伦比的效率公开和管理这些构建块。
准备好开始了吗?
准备好亲身体验 Didit 的强大功能了吗?立即获取免费演示。
使用Didit 的免费套餐开始免费验证身份。