Пятый фактор Отправить заявку
Переносы сайтов и данных

Переход переписки 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. После запуска команда получает рабочий обмен, таблицу соответствий и инструкцию разбора ошибок.

Срок: 10 рабочих дней

Когда стоит обратиться

Обычно к нам обращаются в таких ситуациях:

  • Интеграция продолжает читать или отправлять сообщения через /negotiations/{nid}/messages, которые документация hh.ru относит к устаревшим.
  • Отклики поступают в CRM, однако новая переписка доступна сотруднику только в личном кабинете работодателя.
  • Повтор вебхука или сетевой сбой создаёт два одинаковых ответа кандидату и две записи во внутренней ленте.
  • Файлы, отметки прочтения и автор сообщения теряются, поэтому рекрутер видит неполную историю общения.

Что именно мы сделаем

01

Находим старые методы сообщений hh.ru, связанные задания, вебхуки и поля карточки кандидата.

02

Сопоставляем отклик, вакансию и кандидата с новой сущностью чата и сохраняем chat_id.

03

Переносим получение, отправку, файлы и прочитанность на актуальные методы /common/chats.

04

Добавляем idempotency_key, обработку повторных событий, журнал и понятные статусы ошибок.

05

Проверяем контрольную переписку и запускаем новый поток в 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 и итог обработки.

Как это выглядит на практике

Переход переписки hh.ru на новый API чатов

Рекрутер отвечает кандидату из привычной карточки ATS

  1. 01

    Кандидат пишет работодателю в чате hh.ru, а вебхук передаёт событие с идентификатором диалога.

  2. 02

    Интеграция получает новые сообщения и связывает chat_id с вакансией и карточкой кандидата в ATS.

  3. 03

    Рекрутер отвечает из внутренней ленты, а запрос получает уникальный idempotency_key и уходит в нужный чат.

  4. 04

    Сообщение отображается один раз, статус сохраняется, а журнал подтверждает обработку входящего и исходящего события.

Что понадобится для работы

От вас

  • Работодательский доступ hh.ru и OAuth-приложение с выбранными правами API.
  • Код текущей интеграции, адреса вебхуков, задания обмена и журналы последних ошибок сообщений.
  • Доступ к CRM или ATS, поля кандидата, вакансии, отклика, сообщений и текущие правила назначения ответственного.
  • Несколько контрольных чатов с текстом и допустимым файлом для проверки входящего и исходящего потока.

Если у вас немного другая ситуация

Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.

Стоимость работ 59 900 ₽ полная стоимость известна заранее
  1. 3 000 ₽после подписания договора через Диадок
  2. 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 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.

Связанные шаги

  1. 01Передача откликов hh.ru в CRM

    Передавать отклики hh.ru в CRM

  2. 02Переход переписки hh.ru на API чатов

    Перевести переписку работодателя на актуальный API чатов

  3. 03Интеграция карьерного сайта с Huntflow

    Связать карьерный сайт с Huntflow

Все услуги по переносам и миграциям

Следующий шаг

Опишите задачу

Опишите задачу и желаемый результат. Можно указать сайт, CMS, 1С, CRM, ERP или другую систему — разберёмся в ситуации и предложим подходящий следующий шаг.

Для безопасности не отправляйте в заявке пароли, коды доступа, токены, паспортные и медицинские данные.