Доступно на английскомvust.ai
vust

Документация для разработчиков · GigaChat

GigaChat API: безопасный старт по шагам

5 шагов от ключа до первого валидированного ответа: OAuth-обмен с явным scope, TLS с доверенным сертификатом вместо insecure-флагов, выбор модели из собственного каталога — и дальше structured output, функции, файлы и стриминг с привычками обработки ошибок, на которых держится стабильная интеграция.

Один обмен токена · короткоживущий access token · TLS с проверкойНезависимое руководство по официальной документации
Один обмен ключа — короткоживущий access tokenTLS с проверкой: доверенный CA вместо insecure-флаговJSON Schema, функции, файлы, vision и стриминг — в одном API

Минимальный безопасный сценарий

  1. 01

    Получите Authorization Key

    В личном кабинете разработчика создайте проект и получите ключ авторизации. Это секрет для обмена токена: храните его на сервере и никогда не встраивайте в клиентский код.

  2. 02

    Обменяйте ключ на access token

    Один POST на OAuth-эндпоинт с явным scope — и у вас короткоживущий access token (срок жизни — по официальному справочнику, сейчас там указано около 30 минут). Кэшируйте его и обновляйте по истечении, а не на каждый вызов.

  3. 03

    Настройте доверие TLS

    Добавьте российский доверенный корневой сертификат в хранилище вашего HTTP-клиента. Проверка сертификатов остаётся включённой — insecure-флаги в production недопустимы.

  4. 04

    Выберите модель из своего каталога

    Запросите список моделей своим токеном и зафиксируйте выбранное имя в конфигурации. Ваш каталог — единственный достоверный список того, что доступно именно вам.

  5. 05

    Сделайте первый вызов и валидируйте ответ

    Отправьте запрос в chat-эндпоинт с зафиксированной моделью. Если ждёте структурированный вывод — проверьте его по схеме до использования: это правило первого дня, а не поздняя оптимизация.

Что умеет API — по задачам

Чат и генерация

Диалоги, суммаризация, переписывание. Контекст диалога собирает и передаёт ваша сторона — планируйте хранение истории в своём приложении.

Structured output и функции

JSON Schema описывает параметры, модель возвращает структурированные аргументы. Валидация по схеме на вашей стороне — обязательная часть контракта.

Файлы и vision

Загрузка файла → идентификатор → вложение в сообщение. Так работают вопросы по документам и разбор изображений; форматы и размеры — по официальным лимитам.

Стриминг и изображения

Server-sent events для отзывчивых интерфейсов; генерация изображений возвращает файл, который скачивается по идентификатору.

Типичные ошибки и решения

  • Обмен токена на каждый запрос вместо кэширования — лишняя задержка и лишние отказы. Кэшируйте до истечения.
  • Отключённая проверка TLS вместо установки доверенного CA — уязвимость, а не решение.
  • Словесное «ответь строго в JSON» без схемы и валидации — формат рано или поздно поплывёт. Схема плюс проверка на вашей стороне.
  • Захардкоженное имя модели из чужого примера — каталог зависит от аккаунта и меняется. Читайте свой список моделей.
  • Повтор в лоб при ограничении частоты — усиливает проблему. Экспоненциальная пауза и предсказуемый бюджет повторов.

Частые вопросы

Как устроена авторизация в GigaChat API?

Всё начинается с Authorization Key из личного кабинета разработчика — это ключ для обмена, а не готовый токен доступа. Его обменивают на OAuth-эндпоинте с явным scope (точные значения для персонального, бизнес- и корпоративного доступа перечислены в официальном справочнике) и получают короткоживущий access token — на момент написания документация указывает около 30 минут; ориентируйтесь на официальный справочник. Кэшируйте токен и обновляйте незадолго до истечения, а не на каждый запрос; ключ держите на сервере — вне клиентского кода, логов и репозиториев.

Зачем отдельно настраивать TLS и как сделать это безопасно?

Эндпоинты API работают с сертификатами российского доверенного корневого центра (НУЦ Минцифры), которого нет в большинстве стандартных хранилищ доверия. Безопасный путь — добавить корневой сертификат в хранилище вашего HTTP-клиента и оставить проверку TLS включённой. Отключать проверку сертификата, «чтобы заработало», — значит убрать ту самую защиту, ради которой TLS существует; любой сниппет с таким советом считайте багом.

Какую модель выбрать?

Запросите каталог моделей своим токеном и выбирайте из того, что реально доступно вашему аккаунту, — ваш каталог и есть достоверный список именно для вас. Как вендор позиционирует каждую модель, смотрите в официальном обзоре моделей, а не в сторонних «уровнях»; дальше зафиксируйте точное имя модели в конфигурации, перепроверяйте каталог при обновлениях и выбирайте по задаче, а не по самому громкому имени.

Есть ли structured output и вызов функций?

Да: функции описываются параметрами в JSON Schema, модель сама решает, когда их вызвать, и возвращает структурированные аргументы; тот же механизм — надёжный путь к машиночитаемому выводу. Две привычки делают это production-уровнем: валидируйте каждый возвращённый объект по своей схеме до того, как действовать, и не рассчитывайте, что формат удержится на одних словесных инструкциях — контракт задаёт схема, промпт лишь подсказывает.

Как работают файлы, vision и генерация изображений?

Файл загружается через эндпоинт файлов, вы получаете идентификатор и прикладываете его к сообщению в чате — так устроены вопросы по документам и понимание изображений. Генерация изображений идёт через тот же чат-интерфейс: ответ ссылается на созданный файл, который затем скачивается по идентификатору. Поддерживаемые форматы и размеры проверьте в официальных лимитах до того, как встраивать загрузку в продуктовый сценарий.

Как правильно обращаться со стримингом и ошибками?

Включите стриминг, чтобы получать ответ порциями через server-sent events, — это основа отзывчивого интерфейса; читайте фрагменты до завершающего события потока [DONE], не полагаясь на фиксированную форму последнего сообщения. По ошибкам смотрите статус и сообщение ответа: истёкший access token обновите и повторите запрос один раз; в остальных случаях перепроверьте Authorization Key или token, scope и обязательные заголовки; на ограничение частоты отвечайте паузой с нарастающей задержкой, а не повтором в лоб; каждый структурированный ответ проверяйте до использования. Логируйте идентификаторы запросов, но не содержимое с пользовательскими данными.

Первоисточник — официальная документация GigaChat API: модели, цены, лимиты и форматы меняются, сверяйтесь там перед стартом и перед релизом. Официальный обзор API.