Протокол взаимодействия с Key API¶
Вся работа с Key API происходит по протоколу gRPC:
- Документация
- Основной концепт
- Описание протокола
- Описание спецификации proto3
- Стайлгайд написания proto3
- Стайлгайд написания API
Авторизация¶
Для работы с Key API требуется передавать токен доступа в метаданных каждого запроса.
Формат заголовка: Authorization: Bearer [токен доступ]
x-request-id¶
Во все ответы unary-методов Key API добавляется заголовок x-request-id. Это уникальный uuid-идентификатор запроса, который необходим технической поддержке для разбора различных инцидентов. При обращении в службу технической поддержки обязательно указывайте x-request-id запроса, это ускорит решение вашего вопроса.
Вы можете явно передавать x-request-id, иначе он будет создан автоматически на стороне сервера.
x-app-name¶
Key API позволяет в запросах добавлять служебный заголовок x-app-name, который нужен для сбора статистики по используемым инструментам. Если вы разработчик SDK, рекомендуется использовать app-name формата <Ник в GitHub>.<Название репозитория>. Например, user_name.project_name.
Рекомендации по тестированию методов Key API¶
Для тестирования работы Key API можно использовать grpCurl или любой доступный gRPC-клиент. Ниже приведены краткие инструкции по настройке наиболее популярных из них.
Postman¶
Широко применяемое программное обеспечение для работы и тестирования REST API и gRPC API. Хранит настройки пользователя и коллекции API на своем серевере. Доступно в двух версиях как веб-приложение, и как десктопное ПО.
Envoy¶
На платформе сервиса KeyApi можно развернуть прокси-сервер Envoy Envoy, который создаст из gRPC-сервиса привычные всем HTTP API методы. Метод получения списка записей в сервисе Реестр ключей. В данный момент функционал не реализован.
Kreya¶
Данный бесплатный gRPC-клиент предоставляет довольно широкий набор функциональности и возможностей. Скачать его можно с официального сайта kreya.app.
BloomRPC¶
Скачать данный клиент можно по ссылке: bloomrpc releases.
Интерфейс утилиты достаточно прост, для старта работы требуется указать домен сервиса и импортировать все proto-файлы.
BloomRPC не позволяет увидеть заголовки ответа сервера, поэтому команда Key API рекомендует использовать Kreya.