Оптимизация вызовов Didit API с помощью федеративных запросов GraphQL (RU)
Узнайте, как федеративные запросы GraphQL могут значительно сократить расходы и повысить производительность при взаимодействии с Didit API. В статье рассматриваются методы уменьшения избыточной выборки данных, минимизации.

Оптимизация извлечения данныхФедеративные запросы GraphQL позволяют запрашивать именно те данные, которые вам нужны, из нескольких сервисов в одном вызове API, устраняя избыточную и недостаточную выборку, характерную для REST API.
Снижение сетевой нагрузкиОбъединяя несколько запросов в один, федеративные запросы значительно сокращают количество циклов обмена данными между вашим приложением и Didit API, что приводит к снижению задержек и ускорению отклика.
Повышение экономической эффективностиМеньшее количество вызовов API и сокращение объема передаваемых данных напрямую приводят к снижению операционных расходов, поскольку вы платите только за потребляемые ресурсы и данные, оптимизируя свои расходы на верификацию личности.
Модульное преимущество DiditОткрытая, модульная платформа идентификации Didit уникально подходит для использования федеративных запросов GraphQL, обеспечивая бесшовную интеграцию и оркестрацию различных примитивов идентификации, таких как проверка личности, проверка на живость и AML-проверка, через единый интерфейс.
Проблемы традиционного взаимодействия с API
В мире верификации личности приложениям часто требуется получать различную информацию о пользователе или сеансе верификации. Традиционные RESTful API иногда могут приводить к неэффективности. Например, вы можете сделать один вызов для инициации сеанса верификации личности, другой для проверки его статуса и еще один для получения решения и связанных данных. Это может привести к нескольким распространенным проблемам:
- Избыточная выборка: API часто возвращают больше данных, чем фактически требуется вашему приложению, что приводит к неэффективному использованию пропускной способности и вычислительной мощности.
- Недостаточная выборка: И наоборот, один вызов API может не предоставить все необходимые данные, вынуждая ваше приложение делать несколько последующих запросов.
- Многократные циклы обмена данными: Каждый вызов API вызывает задержку в сети, и выполнение многих вызовов последовательно может значительно замедлить производительность вашего приложения.
- Увеличение стоимости: Многие поставщики API, включая сервисы верификации личности, взимают плату в зависимости от количества вызовов или объема передаваемых данных. Неэффективное использование API может привести к неожиданным расходам.
Для такой платформы, как Didit, которая предлагает богатый набор примитивов идентификации, включая проверку личности (OCR, MRZ, штрих-коды), пассивную и активную проверку на живость, сопоставление лиц 1:1 и поиск лиц, а также AML-проверку и мониторинг, эффективное извлечение и объединение данных из этих сервисов имеет первостепенное значение. Именно здесь GraphQL, особенно с федеративным подходом, предлагает мощное решение.
Представляем федеративные запросы GraphQL для верификации личности
GraphQL — это язык запросов для вашего API и среда выполнения на стороне сервера для выполнения запросов с использованием системы типов, которую вы определяете для своих данных. Он позволяет клиентам точно указывать, какие данные им нужны, и ничего больше. Применительно к сложной экосистеме, такой как верификация личности, федеративные запросы GraphQL позволяют объединять данные из нескольких базовых сервисов (подграфов) в единый, унифицированный API. Это означает, что вы можете:
- Запрашивать конкретные данные: Вместо получения фиксированной структуры данных вы определяете точные поля, которые требуются вашему приложению. Например, при проверке результата верификации личности Didit вам может потребоваться только статус верификации, имя пользователя и срок действия документа, а не каждое извлеченное поле.
- Консолидировать запросы: Объединяйте запросы для различных аспектов идентификации в один. Представьте, что вам нужно решение о верификации пользователя, его статус AML-проверки и данные о подтверждении адреса. С помощью федерации все это можно получить за один запрос, даже если они поступают из разных внутренних микросервисов Didit.
- Оптимизировать производительность: За счет уменьшения количества запросов и объема передаваемых данных значительно улучшается время загрузки и отзывчивость вашего приложения. Это особенно важно для пользовательских потоков, где каждая миллисекунда имеет значение.
Например, вы могли бы запросить решение сессии (GET /v3/session/{id}/decision/) и одновременно получить связанные атрибуты пользователя или статус связанной AML-проверки, все за один раз, вместо выполнения отдельных вызовов.
Практические стратегии реализации
Реализация федеративных запросов GraphQL с API Didit включает несколько ключевых шагов:
- Определите свою схему: Начните с определения схемы GraphQL, которая представляет данные, необходимые вам из различных сервисов Didit. Эта схема действует как контракт между вашим клиентом и вашим шлюзом API.
- Создайте шлюз/уровень оркестрации: Настройте шлюз GraphQL (например, Apollo Federation Gateway), который понимает вашу унифицированную схему. Этот шлюз затем будет маршрутизировать части входящего запроса GraphQL к соответствующим конечным точкам Didit API или внутренним микросервисам.
- Сопоставьте с конечными точками REST Didit: Внутри резолверов вашего шлюза сопоставьте поля GraphQL с соответствующими вызовами Didit REST API. Например, поле
sessionStatusв GraphQL может разрешаться путем вызова конечной точки DiditGET /v3/session/{id}/decision/. - Используйте модульные API Didit: Didit предлагает высокомодульную архитектуру. Это означает, что отдельные проверки личности, такие как оценка возраста, проверка телефона и электронной почты или проверка NFC, могут быть интегрированы как отдельные сервисы в ваш федеративный граф, обеспечивая гранулярный контроль и эффективность.
- Мониторинг и итерации: Используйте инструменты для мониторинга производительности вашего шлюза GraphQL и эффективности ваших запросов. Оптимизируйте резолверы и определения схемы по мере необходимости для обеспечения максимальной выгоды по стоимости и производительности.
Рассмотрим сценарий, когда вам нужно проверить возраст пользователя и провести AML-проверку. Вместо двух отдельных вызовов API один федеративный запрос GraphQL может получить оба результата, значительно упрощая ваш рабочий процесс и уменьшая задержку. Это особенно ценно для приложений в регулируемых отраслях или тех, которые требуют быстрых процессов адаптации.
Преимущества по стоимости и производительности
Преимущества использования федеративных запросов GraphQL с платформой, такой как Didit, выходят за рамки простого более чистого кода:
- Уменьшенный объем вызовов API: Объединяя запросы, вы естественным образом уменьшаете общее количество вызовов API, сделанных к Didit, что может напрямую повлиять на затраты, если вы используете модель ценообразования на основе использования.
- Снижение затрат на передачу данных: Запрос только необходимых данных минимизирует потребление полосы пропускания, что приводит к снижению затрат на передачу данных, особенно критичному в облачных средах.
- Улучшенный пользовательский опыт: Более быстрое извлечение данных означает более быстрое время загрузки и более отзывчивые приложения, улучшая общий пользовательский опыт на критически важных этапах верификации личности.
- Упрощенная разработка клиента: Клиентские приложения могут взаимодействовать с единой, согласованной конечной точкой GraphQL, абстрагируя сложности множества базовых REST API. Это упрощает разработку и обслуживание.
- Повышенная масштабируемость: Оптимизированная модель взаимодействия с API позволяет вашему приложению более эффективно масштабироваться, обрабатывая более высокие объемы трафика без пропорционального увеличения затрат на инфраструктуру или API.
Бесплатный базовый KYC Didit и модель оплаты за успешную проверку уже предлагают значительные преимущества по стоимости, а интеграция с федеративными запросами GraphQL усиливает эти преимущества, гарантируя, что вы платите только за то, что точно потребляете и что вам нужно.
Как Didit помогает
Didit — это платформа идентификации, основанная на ИИ и ориентированная на разработчиков, построенная на открытой модульной архитектуре, что делает ее идеальным кандидатом для интеграции с федеративными запросами GraphQL. Наши чистые API и исчерпывающая документация означают, что сопоставление наших сервисов с вашей схемой GraphQL является простым. Независимо от того, используете ли вы нашу проверку личности для проверки документов, пассивную и активную проверку на живость для предотвращения мошенничества, AML-проверку и мониторинг для соблюдения требований или подтверждение адреса для проверки адреса, каждый компонент может быть бесшовно интегрирован в ваш федеративный граф.
Наша приверженность модульному дизайну позволяет разработчикам выбирать именно те примитивы идентификации, которые им нужны, организовывать их в пользовательские рабочие процессы, а затем эффективно запрашивать результаты. С Didit вы получаете выгоду от бесплатного базового KYC, прозрачной модели оплаты за успешную проверку и отсутствия платы за настройку, гарантируя, что ваше стремление к оптимизации затрат и производительности с помощью GraphQL будет эффективным и экономичным. Didit предоставляет строительные блоки для эффективной, масштабируемой и безопасной инфраструктуры идентификации, которую федеративные запросы GraphQL могут раскрывать и управлять с беспрецедентной эффективностью.
Готовы начать?
Готовы увидеть Didit в действии? Получите бесплатную демонстрацию сегодня.
Начните бесплатно проверять личности с бесплатным тарифом Didit.