Heartbeat клиентской сессии
Heartbeat сообщает Gigma, что клиент продолжает активно пользоваться продуктом. Он обновляет время последней активности и длительность сессии.
Запись сессии создаётся автоматически при входе. Отдельно начинать её не нужно.
Heartbeat не подтверждает оплату, подписку или право доступа. Для этого проверяйте заказ или подписку на своём backend.
Когда отправлять heartbeat
- Начните отправку после успешного входа клиента.
- Первый запрос можно выполнить при начале активной работы.
- Следующий запрос отправляйте через интервал
next_heartbeat_in_secondsиз ответа. - Остановите отправку, когда вкладка или экран больше не активны.
- При
401завершите локальную сессию и проведите вход заново.
Не отправляйте heartbeat чаще шести раз в минуту для одного Bearer.
Обновите активность клиентской сессии
- Метод
- POST
- URL
https://api.gigma.ru/api/counterparty/session/heartbeat- Авторизация
- App Token + Bearer token
- Headers
Token: {application_token}; Authorization: Bearer {counterparty_token}- Успешный ответ
200
Тело запроса не требуется. Передайте App Token приложения и Bearer клиента.
Запрос
POST /api/counterparty/session/heartbeat HTTP/1.1
Host: api.gigma.ru
Token: <application_token>
Authorization: Bearer <counterparty_token>
Accept: application/json Ответ
При успешном запросе API вернёт HTTP 200.
{
"session": {
"id": 154,
"status": "active",
"started_at": "2026-07-30T03:00:00+00:00",
"last_seen_at": "2026-07-30T03:02:00+00:00",
"duration_seconds": 120
},
"server_time": "2026-07-30T03:02:00+00:00",
"next_heartbeat_in_seconds": 60
} Поля ответа
session.id— идентификатор сессии.session.status— состояние сессии; успешный heartbeat возвращаетactive.session.started_at— время начала сессии в ISO 8601.session.last_seen_at— время последней активности в ISO 8601.session.duration_seconds— активное время в секундах.server_time— время сервера в ISO 8601.next_heartbeat_in_seconds— рекомендуемая задержка до следующего запроса.
За один интервал учитывается не больше 180 секунд. После перерыва в 300 секунд Gigma завершает прежнюю сессию. Следующий heartbeat с тем же действующим Bearer создаст новую запись сессии.
Ошибки
401— проверьте App Token и Bearer. Если Bearer недействителен, проведите вход заново.404— проверьте проект иApplication.429 Too Many Attempts.— дождитесь окончанияRetry-After.503 counterparty_session_unavailable— повторите запрос позже; не запускайте бесконечный цикл повторов.
Готово: активность учтена, а время следующего запроса получено из ответа API.
Что учесть
- Используйте серверное время из
server_time, если часы устройства могут отличаться. - Не имитируйте активность фоновой вкладки только ради сохранения сессии.
- Не используйте
session.statusвместо проверки заказа или подписки. - При длительном перерыве не создавайте новый Bearer: новая запись сессии откроется по прежнему действующему токену.
Что дальше
- Сессии клиента — жизненный цикл и причины завершения.
- Интеграция через backend — проверка платного доступа.
- Вход клиента — получение Bearer.
- Соглашения API — обработка ошибок и повторов.