Подготовка приложения

Application задаёт контекст вашего продукта в Gigma: какой каталог, какие склады, способы оплаты, страницы и подписочные тарифы получит клиент. Сайт, мобильное приложение и приложение в мессенджере настраиваются как один и тот же объект. Флаг is_website меняет подпись в платформе, но не модель доступа API.

В результате подключения вы получите App Token и сможете обращаться к публичным методам Gigma. Для личных данных клиента дополнительно понадобится его Bearer.

Что нужно подготовить

Перед началом убедитесь, что у сотрудника есть:

  • доступ к нужному Project;
  • право create-applications или edit-applications;
  • филиал, от которого будет работать продукт;
  • роль owner или admin, если вы настраиваете уведомления и вебхуки.

Для привязки складов и подписочных тарифов требуется право edit-applications.

Как устроен контекст

ПонятиеЧто означает
Projectграница данных и доступа бизнеса
Branchфилиал или юридическое лицо, от которого работает продукт
Applicationконкретный сайт, приложение или сервис и его настройки
App Tokenвыбирает Application в клиентском запросе
Counterpartyклиент, который входит, оформляет заказы и оплачивает
Counterparty Bearerподтверждает, от имени какого клиента выполняется запрос

App Token и Bearer клиента решают разные задачи. Первый выбирает приложение, второй подтверждает пользователя.

Исключение — упрощённый гостевой заказ: контактная форма создаёт клиента и заказ по одному App Token, без предварительного входа.

Gigma
  └─ Project
       └─ Branch
            └─ Application
                 ├─ App Token
                 ├─ склады и каталог
                 ├─ способы оплаты
                 ├─ контент
                 └─ подписочные тарифы

Порядок подключения

Шаг 1. Создайте приложение

Создайте Application методом создания приложения. Передайте название, флаг is_website, филиал и стратегию продаж.

В ответе придёт поле token — App Token приложения. Сохраните его и используйте в заголовке Token.

Тот же токен можно посмотреть в карточке приложения, но перевыпустить его без создания нового приложения нельзя.

Шаг 2. Привяжите склады

Передайте полный список складов в поле warehouse_id при обновлении приложения. Список синхронизируется целиком: если отправить только новый склад, прежние связи будут удалены.

Склады определяют:

  • с каких складов брать остатки;
  • можно ли рассчитать заказ;
  • какую платёжную интеграцию использовать.

Для подписочного сервиса склад нужен ради платёжной интеграции, даже если остатки не используются. Контентному сайту склады не нужны.

Шаг 3. Настройте данные продукта

Выберите только те контуры, которые нужны вашему сценарию:

Одно приложение может одновременно отдавать контент, продавать товары и управлять подписками.

Шаг 4. Проверьте App Token

Передайте App Token в заголовке Token:

GET /api/counterparty/settings HTTP/1.1
Host: api.gigma.ru
Token: <application_token>
Accept: application/json

Успешный ответ означает, что Gigma распознала токен и выбрала нужное приложение:

{
    "wholesale": false
}

Шаг 5. Проверьте основной сценарий

Проверьте именно тот результат, ради которого настраивали приложение:

Что запускаетеЧто должно работать
Контентный сайтприходят настроенные страницы, блоки или меню
Витрина каталогакаталог содержит нужные товары и цены
Магазин с оплатойрассчитывается заказ и доступен способ оплаты
Подписочный сервисв каталоге есть назначенные активные тарифы
Платный доступ к своему сервисуbackend проверяет заказ или подписку перед выдачей доступа

Для контентного сайта пустой товарный каталог — нормальный результат.

Готово: приложение настроено, App Token работает, а API возвращает данные нужного контекста.

Что настроить под ваш сценарий

СценарийМинимальная настройкаДокументация
Контентный сайтнужные виды контента; склады не нужныCMS для сайтов
Витрина каталогасклады с остатками, категории и брендыИнтернет-магазин
Магазин с оплатойкаталог, склады, доставка и оплатаИнтернет-магазин
Подписочный сервиссклад с оплатой и активные назначенные тарифыПодписки
Закрытые функции своего сервисамагазин или подписки плюс серверная проверка состоянияИнтеграция через backend

Если проверка не прошла

Что происходитВозможная причинаЧто сделать
каталог пуст, карточка товара отвечает 404к приложению не привязан складпривяжите склады в обновлении приложения
расчёт заказа отвечает 422 о ненайденном инвентаресписок складов пуст или нет остатковпроверьте склады и остатки
оплата подписки отвечает 422 «Для этого ЭПС не настроен платёжный склад»у приложения нет склада с платёжной интеграциейпривяжите склад с настроенной оплатой
категории и бренды не приходят клиентуони не добавлены в приложениедобавьте категории и бренды
добавленный бренд не приходит клиентубренд не относится к филиалу приложенияпроверьте филиал бренда
каталог подписок пустнет активных назначений тарифовназначьте все нужные тарифы и включите is_active
часть тарифов исчезла после первого назначенияприложение перешло из legacy-режима в управляемый каталогназначьте полный набор тарифов
любой запрос отвечает 401заголовок Token отсутствует, токен неизвестен или выключенпередайте App Token и проверьте is_token_active
данные приходят не от того продуктаиспользуется App Token другого приложениясверьте токен с карточкой нужного Application
после оплаты клиент возвращается не тудаsuccess_payment_url не задан или ведёт на APIукажите страницу своего продукта

Безопасность App Token

App Token может быть виден в сетевых запросах браузера. Он выбирает приложение, но не подтверждает личность клиента, покупку или право доступа.

Не используйте App Token вместо Bearer клиента и не смешивайте его с Bearer сотрудника. Если токен скомпрометирован, выключите is_token_active через обновление приложения и создайте новое приложение.

Закрытые данные и платные функции открывайте только после актуальной проверки заказа или подписки на своём backend. Подробная схема — в разделе «Интеграция через backend».

Что дальше