Developers
BizHub
Публичный read API для CRM, скриптов и агентских дашбордов. Кабинет остаётся с самостоятельной регистрацией — API не заменяет онбординг и не требует менеджера.
Быстрый старт
- Зарегистрируйтесь в кабинете
- Создайте API-ключ: Аккаунт → API-ключи (или JWT через
POST /api/v1/auth/login) - Передавайте
Authorization: Bearer bh_live_…(или JWT) - Проверьте ключ:
GET /api/v1/me(полеauth_via) - Читайте организации, отзывы, метрики, presence и портфель (см. спеку ниже)
# Каталог интеграции (без auth)
curl -sS https://bizhub.com.ru/api/v1/integration/catalog | jq .
# Долгоживущий ключ из кабинета (Аккаунт → API-ключи)
curl -sS https://bizhub.com.ru/api/v1/me \
-H "Authorization: Bearer bh_live_…"
# Или короткоживущий JWT
curl -sS -X POST https://bizhub.com.ru/api/v1/auth/login \
-H 'Content-Type: application/json' \
-d '{"email":"you@example.com","password":"…"}'
Управление ключами (/api/v1/api-keys) — только JWT-сессия кабинета, не самим API key.
Ошибки — JSON {"error":"…"}. Площадки live/manual — на /platforms.
CRM recipe
- Кабинет → Уведомления → Webhooks → HTTPS URL вашего приёмника
- Скачайте sample:
/samples/crm-webhook-receiver.py - Проверяйте
X-BizHub-Timestamp+ HMACtimestamp.body - На 5★ можно ответить через
POST /api/v1/reviews/{id}/reply(API key); ≤3★ — только в approve queue
Каталог событий и путей: GET /api/v1/integration/catalog.
Что в v1.3
- me / catalog —
GET /api/v1/me,GET /api/v1/integration/catalog - organizations — список точек workspace
- reviews — inbox + reply / approve / appeal
- presence — completeness, card-quality, 2GIS Card Ops
- citations — catalog / slots / niche-pack / link / recheck (
FEATURE_CITATION_LAYER; manual-assist) - messaging — Domclick chats Bearer Pro (
FEATURE_MESSAGING_DOMCLICK; не OAuth) - local_seo — positions, competitors/light
- metrics — рейтинг, % ответов, тренды
- analytics/portfolio — сводка сети +
POST …/portfolio/reports(batch /rpts) + network-week.html - client_ops — intake / client-share / публичный
/client/{token}(FEATURE_CLIENT_OPS); geo-grid (FEATURE_GEO_GRID) - review-invites — email-кампании smart-link (Phase 7)
- api-keys — создание/отзыв (только JWT);
bh_live_*на API - webhooks —
review.created/review.replied/citation.drifted/site.contract_breached, HMAC, retry, deliveries
CRM loop: webhook review.created → ваш бот →
POST /api/v1/reviews/{id}/reply (или approve) → webhook review.replied.
Payload: { id, event, data.review }.
Подпись Stripe-style: HMAC-SHA256(secret, "{unix}.{body}") —
заголовки X-BizHub-Timestamp, X-BizHub-Signature,
X-BizHub-Event, X-BizHub-Delivery.
Лог: GET …/webhooks/{id}/deliveries. Настройка: кабинет → Уведомления.
События ботов приходят с другим payload — { id, event, data.finding }, а не
data.review. citation.drifted — карточка на площадке разошлась
с каноном NAP; site.contract_breached — сайт нарушил объявленный контракт
(ждали столько-то услуг с ценой, пришло меньше). Оба уходят только при первом
появлении находки: повторное подтверждение — это счётчик, а не событие, иначе одна и та же
расхождение слало бы вебхук каждые шесть часов. У находки есть
expected / actual и seen_count.
Live vs manual-assist: /platforms. Publish/ads и прочий write остаются в кабинете; публичная спека — read-core + CRM reply + citations/messaging. Ключ действует от имени пользователя (все его org).
Спецификация OpenAPI
Источник истины: /openapi/v1.yaml.
Ниже — тот же файл в Redoc.
Нужна помощь с заведением карточек?
Опциональный консьерж — заявка оператору. Self-serve регистрация при этом остаётся основным путём.