Публичный контракт
Страница API, OpenAPI JSON, HMAC-заголовки, canonical payload и privacy-ограничения готовы для технической оценки.
Публичный контракт интеграции
Один проверяемый протокол для начислений, списаний, Circle ID и ежедневных recap-сценариев. Начинаем в shadow-режиме, сверяем события и включаем live только после согласованных лимитов.
Статус запуска
Страница API, OpenAPI JSON, HMAC-заголовки, canonical payload и privacy-ограничения готовы для технической оценки.
Sandbox считает hash, payload и подпись в браузере, а server verifier сверяет публичный test vector без боевых секретов.
Первые партнёры подключаются через ручное согласование сценария, отдельный ключ, лимиты и сверку duplicate/replay.
Автоматическая заявка, выдача тестовых ключей, changelog-подписка и статус live-окружения остаются следующим этапом.
Подпись запроса
X-Circle-Key-Idидентификатор активного ключа партнёра
X-Circle-TimestampUnix-время в секундах; окно проверки — 5 минут
X-Circle-Nonceодноразовая строка 16–100 символов, защищает от replay
Idempotency-Keyстабильный ключ операции; повтор с другим payload вернёт конфликт
X-Circle-Modeshadow для сверки без боевого эффекта или live для включённого контура
X-Circle-Signaturev1=base64url(HMAC-SHA256(secret, canonicalPayload))
METHOD /v1/partners/shelterz/events 1736539200 nonce-4cbb33a5b1f24f0c booking-stay-completed:stz-94817 sha256(rawBodyHex)
X-Circle-Signature: v1=base64url( HMAC_SHA256(partnerSecret, canonicalPayload) )
Локальный sandbox подписи
Signature test vector
POST /v1/partners/shelterz/events 1736539200 nonce-4cbb33a5b1f24f0c booking-stay-completed:stz-demo 4062edaf750fb8074e7e83e0c9028c94e32468a8b6f1614774328ef045150f93
Отправьте те же поля и свою подпись. Endpoint не принимает боевые секреты и не связан с live-ключами партнёров.
Endpoints
/v1/partners/{partner}/eventsБронирование, завершённое проживание, отмена, возврат или одобренное задание. Сервер сохраняет событие в inbox и возвращает duplicate только при точном повторе payload.
/v1/partners/{partner}/accounts/by-external-user/{externalUserId}/projectionПартнёр получает только связанную проекцию Circle: баланс, уровень и безопасные статусы, без паролей и платёжных данных.
/v1/partners/shelterz/redemptions/{quote|reserve|apply|release|refund}Контур бронирования поддерживает предварительный расчёт, резерв, применение, освобождение и возврат с идемпотентностью и TTL резерва.
/v1/partners/{partner}/accounts/by-external-user/{externalUserId}/daily-recapПоказывает пользователю понятный итог начислений, прогресса и следующих действий внутри партнёрского сервиса.
Пример события
{
"schema_version": 1,
"event_id": "stz_evt_20260911_0001",
"event_type": "booking.stay_completed",
"occurred_at": "2026-09-11T09:00:00.000Z",
"partner_id": "shelterz",
"subject": {
"external_user_id": "7421",
"referral_code": "CIRCLE2026"
},
"booking": {
"external_booking_id": "stz-booking-94817",
"public_booking_id": "94817",
"currency": "RUB",
"gross_amount_minor": 1800000,
"discount_amount_minor": 0,
"circle_spent_minor": 0,
"net_cash_paid_minor": 1800000,
"arrival_at": "2026-09-08T14:00:00.000Z",
"departure_at": "2026-09-11T10:00:00.000Z",
"location": {
"city_name": "Москва",
"country_code": "RU"
}
},
"facts": {
"payment_status": "settled",
"stay_status": "completed"
},
"supersedes_event_id": null
}Shadow → live
Минимизация данных
Integration checklist
API changelog
2026-09-11-r323Server verifier для test vectorДобавлен публичный endpoint /api/partners/signature-test: он проверяет только тестовую подпись и запрещает secret/token/password поля.2026-09-11-r322Эталон подписи для backendДобавлен фиксированный HMAC test vector: входные данные, sha256(rawBody), canonical payload и ожидаемый X-Circle-Signature.2026-09-11-r321Статус API, checklist и changelogСтраница теперь явно показывает, какие части партнёрского контура готовы, какие идут через pilot и что ещё не заявлено как self-serve.2026-09-11-r320Локальный sandbox подписиДобавлен расчёт SHA-256, canonical payload и X-Circle-Signature без сетевых запросов и без сохранения секретов.2026-09-11-r319OpenAPI 3.1Опубликован машинно-читаемый контракт для событий, проекций аккаунта, recap и списаний CIRCLE.Готовы сверить первый сценарий?