Skip to main content
Вебхуки — рекомендуемый способ получения результатов монитора. Когда монитор срабатывает, Pubrio отправляет POST-запрос с JSON payload на ваш настроенный URL — в реальном времени.

Предварительные требования

  • Ключ API Pubrio с доступом к мониторам
  • Публично доступный HTTPS-эндпоинт (или тестовый URL с usewebhook.com)
Быстрое тестирование: используйте usewebhook.com, чтобы сгенерировать бесплатный временный URL вебхука. Вы можете просматривать каждый входящий payload без развёртывания чего-либо.

Шаг 1: создайте монитор с назначением-вебхуком

Ответ:
Объект headers добавляет пользовательские HTTP-заголовки к каждой доставке (полезно для аутентификации). Объект body добавляет пользовательские поля в корень payload’а вебхука.
Сохраните signature из ответа — она понадобится вам для верификации входящих payload’ов. Она возвращается только при создании, через эндпоинт Signature Reveal, либо из Monitor Lookup с is_signature_reveal: true.

Шаг 2: проверьте подключение вебхука

Используйте эндпоинт Validate Webhook, чтобы протестировать доступность вашего эндпоинта. Он отправляет тестовый payload с данными-заглушками — кредиты не расходуются, реальные сигналы не запрашиваются.
Успешный ответ возвращает отправленный тестовый payload запроса и ответ, который вернул ваш эндпоинт — так вы можете подтвердить, что соединение работает, прежде чем выходить в продакшн.

Шаг 3: протестируйте на реальных данных

После проверки соединения запустите реальный прогон с помощью эндпоинта Process Try. Он получает реальные сигналы и доставляет их на ваш вебхук — используйте tried_at с недавней прошедшей датой, чтобы обеспечить доступность данных:
В отличие от validate, эндпоинт try выполняет реальное сканирование и расходует кредиты. Используйте его, чтобы убедиться, что реальные payload’ы приходят корректно, и получить быструю оценку результатов до запуска планового сканирования.

Шаг 4: верифицируйте подписи

У каждого монитора есть уникальная подпись для верификации того, что входящие payload’ы действительно от Pubrio.
Сравните эту подпись с monitor.monitor_id во входящих payload’ах, чтобы верифицировать подлинность.

Структура payload’а вебхука

Payload’ы отличаются в зависимости от detection_mode монитора:
В режиме signal_first payload содержит массив signals верхнего уровня:
Каждая запись сигнала содержит детали сигнала и связанные обогащённые компании и людей.
Пользовательские поля body из destination_config появляются в корне payload’а (например, "pipeline": "my-webhook", если это настроено в вашем назначении).

Сигналы экспансии

Наряду с jobs, news и advertisements, монитор может отслеживать сигналы экспансии — датированные доказательства того, что компания выходит на новый рынок или растёт на нём. Добавьте expansions в signal_types:
Фильтры экспансии используют словарь Expansion Search, а не словарь вакансий/новостей/рекламы — froms и tos для коридора, плюс stages, scopes, momentum, freshness, signal_types, signal_subtypes, signal_strengths, source_types и window_days. Разрешите допустимые slug из Expansion Reference.
Сигналы экспансии группируются по компании и рынку, а не по сигналу. Компания, выходящая на два рынка, производит две записи, каждая несёт собственную временную шкалу сигналов для этого рынка.

Payload сигнала экспансии

Значения по каждому полю приведены в Expansion Field Reference. Чтобы получать те же строки по запросу, а не по триггеру, используйте Expansion Signal Search.

Назначение по email

Для команд, предпочитающих доставку по email, установите destination_type в "email":
Pubrio поддерживает доставку email под white-label для агентств и команд. Свяжитесь с нами, чтобы узнать о настройке домена отправителя и брендинга.

Устранение неполадок

  • Убедитесь, что ваш эндпоинт публично доступен (не за файрволом или VPN)
  • Убедитесь, что он возвращает код статуса 200 — остальные коды считаются сбоями
  • Используйте эндпоинт Validate Webhook, чтобы проверить связность
  • Проверьте Statistic Logs на предмет сообщений об ошибках и кодов ответа
Если ваш вебхук постоянно возвращает коды, отличные от 200, монитор приостанавливается после достижения max_failure_trigger последовательных сбоев. Устраните проблему и реактивируйте через Update Monitor.
Если доставка завершается ошибкой и настроены повторные попытки, вы можете получить один и тот же payload несколько раз. Используйте triggered_at или ID журнала, чтобы дедуплицировать на своей стороне.
Уменьшите max_records_per_trigger, чтобы ограничить количество записей на доставку. Вы также можете сузить фильтры, чтобы уменьшить объём совпадающих сигналов.