API v1: интеграция с OTKLIQ
Ключи выпускаются в кабинете — раздел API. Здесь только описание методов.
База: /api/v1. Авторизация: Authorization: Bearer hrt_….
Ограничение: 120 запросов в минуту на ключ, остаток в заголовке X-RateLimit-Remaining.
Методы
| GET | /tests | список тестов с названиями и описаниями |
| GET | /candidates | список кандидатов кабинета |
| POST | /candidates | создать кандидата и получить постоянную ссылку |
| GET | /candidates/{id} | данные кандидата и статусы прохождения |
| POST | /candidates/{id}/recommend | задать рекомендуемые тесты |
| GET | /candidates/{id}/results | результаты и расширенные отчёты |
| GET | /candidates/{id}/scorecard | карта критериев, что скрыто в тени и подпись человека |
| POST | /candidates/{id}/invite | отправить кандидату ссылку на его почту |
| GET | /hh | подключённые кабинеты, вакансии и бонусы |
| GET | /tg | состояние телеграм-бота уведомлений |
| POST | /tg/link | проверить, кто уже написал боту |
| POST | /tg/invite | добавить получателя по нику @nick |
| POST | /tg/code | сменить персональную ссылку-приглашение |
| POST | /tg/chats/{id} | включить/выключить получателя |
| DELETE | /tg/chats/{id} | убрать получателя |
| POST | /tg/test | отправить проверочное сообщение |
| POST | /hh/vacancies/{id}/final | сохранить итоговый вариант вакансии, собранный человеком |
| POST | /hh/vacancies/{id}/apply | записать итоговый вариант в саму вакансию на hh.ru |
| POST | /hh/sync | обновить список вакансий из кабинета |
| GET | /hh/vacancies/{id} | отклики вакансии с оценкой анкеты и диалога |
| POST | /hh/vacancies/{id}/pull | загрузить отклики вакансии из HeadHunter |
| GET | /hh/responses/{id} | карточка отклика: оценка, переписка, черновики |
| GET | /hh/responses/{id}/stages | этапы воронки этой вакансии и текущий |
| GET | /hh/vacancies/{id}/stages | этапы воронки вакансии для настроек |
| GET | /hh/vacancies/{id}/tests | методики: каталог и что назначено на этапах |
| POST | /hh/vacancies/{id}/tests | назначить методики на этапы воронки |
| POST | /hh/vacancies/{id}/test-advice | что ИИ советует дать на этой вакансии и почему |
| POST | /hh/vacancies/{id}/autofill | заполнить настройки вакансии через ИИ, не сохраняя |
| POST | /hh/vacancies/{id}/improve | причесать текст работодателя, не меняя смысла |
| POST | /hh/vacancies/{id}/rewrite | предложить улучшенную вакансию: было/стало и правки с причинами |
| GET | /hh/vacancies/{id}/rewrite/ready | готово ли предложение и сколько обычно считается |
| POST | /hh/outbox/{id}/send | отправить черновик кандидату |
| POST | /candidates/{id}/decision | зафиксировать решение человека: на интервью, в резерв или отказ |
| GET | /vacancies | список вакансий (подтягиваются из HeadHunter, вручную не создаются) |
| POST | /vacancies/{id}/candidates | привязать кандидата к вакансии |
| GET | /compare | сводный рейтинг кандидатов |
| GET | /subscription | подписка и остаток лимита |
| GET | /payments/{id} | статус платежа |
Подключение кабинета HeadHunter и автоматическая работа с откликами сейчас в разработке; их методы в публичное описание не вынесены.
Webhooks
Событие attempt.finished
отправляется POST-запросом на ваш HTTPS-адрес. Подпись тела — HMAC-SHA256 в заголовке
X-HRTest-Signature, секрет выдаётся при создании.
Пример
curl -X POST https://otkliq.ru/api/v1/candidates \
-H "Authorization: Bearer hrt_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{"last_name":"Иванов","first_name":"Пётр","email":"p@example.com"}'Коды методик, доступных вашему кабинету, отдаёт
GET /tests — в описании они не перечисляются намеренно: по коду
методику находят и готовятся к ней заранее.