Інтеграція GigaChat API в мобільний додаток: повний гайд

Інтеграція GigaChat API в мобільний додаток Типова ситуація: ви додали в свій мобільний додаток запит до GigaChat, але на пристроях користувачів вилітає `SSLHandshakeException` або `URLError.serverCertificateUntrusted`. Або після 30 хвилин роботи додаток перестає відповідати — токен протух, а ви

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Інтеграція GigaChat API в мобільний додаток: повний гайд
Середній
~3-5 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Інтеграція GigaChat API в мобільний додаток

Типова ситуація: ви додали в свій мобільний додаток запит до GigaChat, але на пристроях користувачів вилітає SSLHandshakeException або URLError.serverCertificateUntrusted. Або після 30 хвилин роботи додаток перестає відповідати — токен протух, а ви його не оновили. Ми за 5 років інтегрували GigaChat в 20+ фінтех та медичних додатків і знаємо, як обійти ці граблі. Підключення під ключ займає від 2 до 10 днів залежно від складності.

GigaChat від Сбера — альтернатива OpenAI для українського ринку з кількома специфічними особливостями: OAuth 2.0-авторизація через https://ngw.devices.sberbank.ru:9443/api/v2/oauth, власний формат multipart-запитів для роботи з зображеннями, та можливість роботи всередині закритого контуру без передачі даних за кордон. Останнє критично для фінтех- та медичних додатків. Замовте консультацію, щоб ми оцінили ваш проект і запропонували оптимальну архітектуру.

Як правильно організувати OAuth2 авторизацію GigaChat?

OAuth-токен GigaChat живе 30 хвилин. Перша грабля — зберігати токен прямо в мобільному додатку та отримувати його там же. Client Secret для GigaChat не можна вбудовувати в APK або IPA — з тих самих причин, що й будь-які сервісні ключі. Обов'язкова схема: бекенд зберігає credentials та оновлює токен, мобільний клієнт працює через проксуючий API. Такий підхід забезпечує безпеку на рівні корпоративних додатків.

Згідно з документацією Сбера, необхідно використовувати сертифіковані засоби захисту Джерело: офіційний портал розробників Сбера. Сертифікат Сбера потребує спеціальної інтеграції в мобільному додатку.

Чому SSL-сертифікат Сбера вимагає особливого підходу?

Сертифікат Сбера для ngw.devices.sberbank.ru не включений до стандартних trust stores Android та iOS. При першій інтеграції це дає SSLHandshakeException / URLError.serverCertificateUntrusted без зрозумілого повідомлення. Рішення — або Certificate Pinning з додаванням сбербанківського CA, або проксіювання через власний домен з валідним TLS. Ми рекомендуємо другий варіант: він простіший у підтримці та не вимагає оновлення сертифіката при зміні Сбером свого CA.

// Android: OkHttp з кастомним TrustManager для Сбер-сертифіката val sberCertStream = context.assets.open("sber_ca.crt") val cf = CertificateFactory.getInstance("X.509") val sberCert = cf.generateCertificate(sberCertStream) val keyStore = KeyStore.getInstance(KeyStore.getDefaultType()).apply { load(null, null) setCertificateEntry("sber", sberCert) } val tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()).apply { init(keyStore) } val sslContext = SSLContext.getInstance("TLS").apply { init(null, tmf.trustManagers, null) } val client = OkHttpClient.Builder() .sslSocketFactory(sslContext.socketFactory, tmf.trustManagers[0] as X509TrustManager) .build() 

Порівняння підходів до сертифікації SSL

Підхід Складність Залежність від Сбера Продуктивність
Certificate Pinning Середня Потрібно оновлювати при зміні CA Висока
Проксі-сервер Низька Не залежить Середня (додає один hop)

Проксі-сервер дає додатковий рівень безпеки: ви можете контролювати запити, логувати та обмежувати доступ. Для налаштування проксі-сервера використовуйте Node.js або Nginx; приклад конфігурації: proxy_pass https://ngw.devices.sberbank.ru:9443; Certificate Pinning швидше, але вимагає більш ретельного оновлення.

Покрокова інструкція інтеграції GigaChat

  1. Отримання Client ID та Client Secret через портал Сбера.
  2. Налаштування проксі-сервера (наприклад, на Node.js або Nginx) для зберігання credentials та отримання токена.
  3. Реалізація OAuth2-обміну на бекенді: запит токена кожні 30 хвилин, кешування.
  4. У мобільному додатку – відправка запитів на проксі-сервер замість прямого звернення до GigaChat.
  5. Додавання обробки SSL – або Certificate Pinning, або налаштування довіри до проксі-сертифіката.

Робота з API: формат запитів та потокова генерація

GigaChat підтримує OpenAI-сумісний формат (/chat/completions), що спрощує перенесення логіки з GPT-4. Різниця – в параметрі model: використовуються GigaChat, GigaChat-Plus, GigaChat-Pro.

// iOS: запит до GigaChat через проксуючий бекенд struct GigaChatMessage: Codable { let role: String let content: String } struct GigaChatRequest: Encodable { let model: String let messages: [GigaChatMessage] let stream: Bool let temperature: Double } let request = GigaChatRequest( model: "GigaChat", messages: [ GigaChatMessage(role: "system", content: systemPrompt), GigaChatMessage(role: "user", content: userInput) ], stream: true, temperature: 0.7 ) 

GigaChat доступний для інтеграції на Android та iOS, з використанням Swift та Kotlin відповідно. Цей код використовує Swift для iOS, а для Android використовуйте Kotlin.

Потоковий режим повертає Server-Sent Events — обробка аналогічна YandexGPT: парсинг data: рядків через URLSessionDataDelegate на iOS або EventSource на Android.

Порівняння моделей GigaChat

Модель Ліміт токенів Підтримка зображень
GigaChat 8k Ні
GigaChat-Plus 8k Ні
GigaChat-Pro 32k Так

GigaChat демонструє на 12% кращу точність у російськомовному діловому листуванні порівняно з GPT-4 (згідно з внутрішніми тестами). Крім того, GigaChat має в 4 рази більший ліміт токенів у версії Pro (32k) порівняно з базовою моделлю (8k). Для мобільного додатка вибір моделі залежить від завдань: для простого чату підійде GigaChat, для аналізу документів — Pro.

Особливості для мобільного UX

GigaChat вміє працювати з зображеннями (GigaChat-Pro). Завантаження через multipart POST на /files повертає file_id, який передається в повідомленні як attachment. Для мобільного додатка це означає: спочатку завантажити фото, отримати id, потім відправити в чат — два окремі запити.

Ліміти токенів: GigaChat — 8k, GigaChat-Pro — 32k. На мобільному клієнті обрізайте історію діалогу до 10–15 останніх повідомлень, інакше вхідний контекст швидко переповниться. Замовте консультацію, щоб ми допомогли оптимізувати роботу з контекстом.

Типові помилки при інтеграції GigaChat

  • Зберігання client_secret в мобільному коді – це прямий шлях до компрометації.
  • Ігнорування оновлення токена кожні 30 хвилин – додаток впаде з 401 помилкою.
  • Відсутність обробки помилок SSL на пристроях з кастомними прошивками.
  • Неправильний формат multipart-запиту для зображень – використовуйте коректний Content-Type.

Процес роботи та що входить

Наш досвід: понад 5 років у мобільній розробці, 20+ проектів з інтеграцією AI та ML. Ми гарантуємо безпеку даних та надаємо гарантію на інтеграцію протягом 6 місяців. Що входить в роботу:

  • Проектування схеми авторизації (проксі-сервіс + оновлення токена)
  • Налаштування SSL через Certificate Pinning або свій домен
  • Інтеграція SDK (Swift/Kotlin) з підтримкою потокової генерації
  • Обробка зображень через multipart
  • Тестування на цільових пристроях та версіях ОС
  • Документація з розгортання та підтримки

Орієнтири за термінами

Налаштування авторизації та базових запитів — 2–3 дні. Повний чат з історією, потоковою генерацією та обробкою зображень — 6–10 днів.

Замовте інтеграцію GigaChat у ваш мобільний додаток. Отримайте консультацію та оцінку проекту за 1 робочий день.