Переход переписки hh.ru на API чатов
В API hh.ru прежние методы чтения и отправки сообщений по адресу /negotiations/{nid}/messages отмечены как устаревшие. Поддержка новых возможностей теперь сосредоточена в API чатов, а прежние методы могут отображать переписку неполно или некорректно. Актуальная модель строится вокруг чата: интеграция получает chat_id, запрашивает сообщения через /common/chats, отправляет ответ в нужный диалог и отдельно управляет прочитанностью и файлами.
Переход затрагивает больше одного URL. Старый код обычно хранит идентификатор отклика nid, использует его как ключ переписки и складывает сообщения непосредственно в карточку отклика. В новой модели требуется сохранить связь chat_id с кандидатом, вакансией и внутренней записью, учесть пагинацию, автора, время и идентификатор сообщения, а при отправке передавать idempotency_key, который защищает от повторного ответа.
Мы обновляем клиент API и обработчики событий, затем прогоняем входящее сообщение, ответ рекрутера, файл, отметку прочтения и повтор вебхука. CRM или ATS показывает цельную ленту и понятный статус доставки, а журнал связывает запрос с chat_id и внутренним ID. После запуска команда получает рабочий обмен, таблицу соответствий и инструкцию разбора ошибок.
Когда стоит обратиться
Обычно к нам обращаются в таких ситуациях:
- Интеграция продолжает читать или отправлять сообщения через /negotiations/{nid}/messages, которые документация hh.ru относит к устаревшим.
- Отклики поступают в CRM, однако новая переписка доступна сотруднику только в личном кабинете работодателя.
- Повтор вебхука или сетевой сбой создаёт два одинаковых ответа кандидату и две записи во внутренней ленте.
- Файлы, отметки прочтения и автор сообщения теряются, поэтому рекрутер видит неполную историю общения.
Что именно мы сделаем
Находим старые методы сообщений hh.ru, связанные задания, вебхуки и поля карточки кандидата.
Сопоставляем отклик, вакансию и кандидата с новой сущностью чата и сохраняем chat_id.
Переносим получение, отправку, файлы и прочитанность на актуальные методы /common/chats.
Добавляем idempotency_key, обработку повторных событий, журнал и понятные статусы ошибок.
Проверяем контрольную переписку и запускаем новый поток в CRM или ATS.
Что входит в стоимость
59 900 ₽ за всю работу
Находим обращения к устаревшим методам /negotiations/{nid}/messages, разбираем текущую связь с откликом и переносим выбранный сценарий на API чатов hh.ru. Обновляем хранение идентификаторов, получение и отправку сообщений, идемпотентность, вебхуки, файлы, прочитанность, повторы и журнал. Проверяем рабочую переписку в выбранной CRM или ATS.
Что будет готово
Передадим вам
- Рабочий клиент актуального API чатов hh.ru для выбранной CRM или ATS.
- Таблица связей chat_id, сообщения, кандидата, вакансии, отклика и внутренней карточки.
- Обработчики вебхуков, файлов, прочитанности, идемпотентной отправки и повторных попыток.
- Протокол контрольной переписки, технический журнал и инструкция сопровождения.
Перед сдачей проверим
- Новое сообщение кандидата появляется в связанной карточке CRM или ATS с автором, временем и внешним ID.
- Ответ рекрутера отправляется через /common/chats/{chat_id}/messages и сохраняет выбранный idempotency_key.
- Контрольный файл и отметка прочтения обрабатываются актуальными методами и отображаются в рабочем интерфейсе.
- Повтор вебхука и повтор отправки сохраняют одну операцию, а журнал показывает chat_id и итог обработки.
Как это выглядит на практике
Рекрутер отвечает кандидату из привычной карточки ATS
- 01
Кандидат пишет работодателю в чате hh.ru, а вебхук передаёт событие с идентификатором диалога.
- 02
Интеграция получает новые сообщения и связывает chat_id с вакансией и карточкой кандидата в ATS.
- 03
Рекрутер отвечает из внутренней ленты, а запрос получает уникальный idempotency_key и уходит в нужный чат.
- 04
Сообщение отображается один раз, статус сохраняется, а журнал подтверждает обработку входящего и исходящего события.
Что понадобится для работы
От вас
- Работодательский доступ hh.ru и OAuth-приложение с выбранными правами API.
- Код текущей интеграции, адреса вебхуков, задания обмена и журналы последних ошибок сообщений.
- Доступ к CRM или ATS, поля кандидата, вакансии, отклика, сообщений и текущие правила назначения ответственного.
- Несколько контрольных чатов с текстом и допустимым файлом для проверки входящего и исходящего потока.
Если у вас немного другая ситуация
Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.
- 3 000 ₽после подписания договора через Диадок
- 56 900 ₽после выполнения, демонстрации и приёмки результата
Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.
Часто спрашивают
Об этой услуге
Почему требуется переход на API чатов hh.ru?
Официальная документация помечает методы /negotiations/{nid}/messages как устаревшие. Новые возможности сосредоточены в разделе /common/chats, поэтому актуальную переписку переводим на методы API чатов.
Чем chat_id отличается от идентификатора отклика?
chat_id идентифицирует диалог, а отклик описывает связь кандидата с вакансией и состояние рассмотрения. Интеграция хранит оба значения и связывает их с одной внутренней карточкой.
Зачем нужен idempotency_key при отправке?
Ключ связывает повтор запроса с одной исходящей операцией. При сетевой задержке или повторном запуске интеграция распознаёт уже отправленный ответ и сохраняет одну запись.
Можно перенести файлы из чатов?
Да. Проверяем свойства и допустимые условия файлов, получаем предусмотренную API ссылку загрузки и связываем вложение с сообщением и карточкой кандидата.
Как новые сообщения попадают в CRM или ATS?
Основной событийный путь использует вебхук, после которого обработчик запрашивает актуальные сообщения конкретного чата. Очередь и журнал помогают пережить временную ошибку и повтор события.
Сохранится ли прежняя история переписки?
Существующие записи внутренней системы сохраняются. Мы добавляем связь с новой моделью чатов и проверяем, чтобы дальнейшие сообщения продолжили общую ленту без потери контекста.
Как проверяется корректность перехода?
Выполняем входящее и исходящее сообщение, повтор события, допустимый файл и отметку прочтения. Рекрутер сверяет ленту, карточку и статус, а технический результат фиксируется в протоколе.
Что входит в фиксированную цену 59 900 ₽?
Цена включает аудит старого обмена, переход на /common/chats, карту идентификаторов, сообщения, вебхуки, файлы, прочитанность, идемпотентность, журнал, контрольную проверку и инструкцию.
Цена и изменения по ходу работы
Цена на странице окончательная?
Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.
Что означает резерв незапланированных работ?
Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.
Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.
Можно уточнять детали уже во время работы?
Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.
Начало работы и оплата
Как оформляются договор и оплата?
Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.
Когда начинается срок выполнения?
Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.
Как учитываются платные лицензии и внешние сервисы?
До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.
Проверка результата и гарантия
Как принимается готовая работа?
Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.
Какая гарантия действует после сдачи?
На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.
Связанные шаги
- 01Передача откликов hh.ru в CRM
Передавать отклики hh.ru в CRM
- 02Переход переписки hh.ru на API чатов
Перевести переписку работодателя на актуальный API чатов
- 03Интеграция карьерного сайта с Huntflow
Связать карьерный сайт с Huntflow