Платформа
API для ваших агентов
Ключ, который создаёт ваша компания, позволяет вашим агентам (Claude или любому другому) и скриптам читать и, по мере запуска эндпоинтов, действовать в вашем HR Suite и аккаунте findjobs.ge. С правами, журналом, отзывом и машинным описанием, чтобы агент мог разобраться сам.
Для кого
Для компаний, которые хотят, чтобы ассистент делал рутину: отвечал «что предложить начальнику смены склада», перечислял слишком долго ждущих кандидатов, публиковал вакансию по краткому описанию, утверждал расчёт после того, как человек прочитал проверки. API — тот же сервисный слой, которым пользуются страницы, так что всё, что делает система, будет доступно, с теми же правилами и теми же ограничениями ролей.
Это и честный ответ на «можно ли это автоматизировать»: эндпоинты чтения работают уже сейчас; эндпоинты записи перечислены со статусом «planned» и отвечают 501, пока не запущены, так что агент никогда не гадает.
Создание ключа
- Откройте Настройки › Ключи API. Создавать может только владелец компании; сначала попросят свежий второй замок.
- Назовите ключ по назначению («агент Claude», «скрипт зарплаты»), выберите самые узкие права, которых хватает для задачи, и срок действия.
- Прочитайте риски и отметьте подтверждение. Ключ показывается один раз; скопируйте его в хранилище секретов агента и никуда больше.
- Отзовите его на той же странице, как только он больше не нужен. Отзыв мгновенный.
В демо любой может создать демо-ключ (fjhr_demo_…). Он действует только на вашу демо-компанию и исчезает вместе с ней.
Риски, прямо
- Ключ — это пароль от компании. Любой, у кого он есть, может всё, что разрешают его права, без второго замка.
- Агент действует от вашего имени. Неверная инструкция может закрыть вакансию, отклонить кандидата или изменить карточку. Начните с прав чтения; добавьте запись, когда агент её заслужит.
- Никогда не вставляйте ключ в публичный чат, репозиторий или промпт, который может прочитать кто-то ещё. Сомневаетесь — замените.
- Каждый вызов записывается с ключом, маршрутом, статусом и временем. Владелец читает журнал на той же странице.
Права
- market:read: диапазоны зарплат и сложность найма.
- company:read: компания, Главная и счётчики.
- jobs:read и jobs:write: чтение, публикация, правка, закрытие и поднятие вакансий.
- applications:read и applications:write: чтение откликов и оценок; смена этапов, ответы, назначение собеседований.
- people:read и people:write: карточки сотрудников без личных данных; добавление и изменение людей, решения по отпускам.
- money:read и money:write: расчёты и правила; утверждение расчёта (файлы готовятся; деньги не движутся).
- settings:write: вебхуки и настройки. Сами ключи никогда не могут быть созданы или изменены ключом.
- all: всё перечисленное.
Вызов
Базовый адрес https://hr.findjobs.ge/hr/api/v1. Отправляйте ключ как Authorization: Bearer fjhr_live_… в каждом запросе. Ответы в JSON. Добавьте ?hl=ka, ru или tr, чтобы получать описания на этом языке там, где API говорит.
Лимиты: 60 вызовов в минуту и 20 записей в минуту на ключ. 429 содержит Retry-After в секундах.
Ошибки — JSON со стабильным кодом и предложением: missing_key, invalid_key, scope, rate_limited, not_yet (спроектировано, не запущено), not_found, server_error, и ссылка на документацию.
Для LLM-агента
- Дайте агенту https://hr.findjobs.ge/hr/api/v1/llms.txt: он описывает API, лимиты и правила простым текстом.
- Дайте ему документ OpenAPI по адресу https://hr.findjobs.ge/hr/api/v1/openapi.json для генерации инструментов.
- Храните ключ в хранилище секретов агента, никогда в промпте.
- Скажите ему, какие права у ключа, чтобы он не пытался делать то, чего не может.
Пример: curl -H "Authorization: Bearer $KEY" "https://hr.findjobs.ge/hr/api/v1/market/pay-check?city=tbilisi&family=sales&offer=1200"
Чего ключ никогда не может
- Читать данные другой компании или личные данные соискателей сверх того, что компания уже видит на findjobs.ge.
- Перемещать деньги, входить в банк или подавать в Службу доходов.
- Создавать или менять ключи, ослаблять второй замок.
- Узнавать, есть ли у сотрудника профиль на findjobs и откликается ли он где-то.
Эндпоинты
Таблица ниже генерируется из того же списка, по которому маршрутизирует API, поэтому расходиться они не могут. Статус «live» отвечает сегодня; «planned» спроектирован и отвечает 501, пока не запущен.
| hr.findjobs.ge/hr/api/v1 | scope | status | ||
|---|---|---|---|---|
GET | /me | company:read | live | Кто вы: компания, права этого ключа и лимиты |
GET | /home | company:read | live | Очередь Главной: что требует решения |
GET | /market/pay-check | market:read | live | Сколько платит сфера в городе: нижняя четверть, середина, верхняя четверть |
GET | /market/difficulty | market:read | live | Сложность найма в городе: объявлений на соискателя, дни |
GET | /market/radar | market:read | live | Радар конкурентов: ваши открытые роли, объявления конкурентов, зарплаты, кто ищет больше всех |
GET | /market/survey | market:read | live | Группы опроса зарплат в городе: компании, люди, середина реальной зарплаты |
POST | /market/survey | money:write | live | Запись зарплат вашей компании по сфере: люди, низкая, средняя, высокая |
GET | /jobs | jobs:read | live | Ваши вакансии на findjobs.ge |
GET | /jobs/{id} | jobs:read | live | Одна вакансия полностью |
GET | /jobs/{id}/doctor | jobs:read | live | Проверка объявления: оценка 0–100, все проверки и что исправить |
POST | /jobs | jobs:write | planned | Опубликовать вакансию (идёт на модерацию, как на сайте) |
PATCH | /jobs/{id} | jobs:write | planned | Изменить вакансию |
POST | /jobs/{id}/close | jobs:write | planned | Закрыть вакансию |
POST | /jobs/{id}/bump | jobs:write | planned | Поднять вакансию (Pro) |
GET | /applications | applications:read | live | Отклики на ваши вакансии |
GET | /applications/{id} | applications:read | live | Один отклик: сообщение, ответы, оценки |
GET | /people | people:read | live | Карточки сотрудников (без приватных полей) |
POST | /people | people:write | live | Добавить карточку |
GET | /people/{id} | people:read | live | Одна карточка с историей и остатком отпуска |
PATCH | /people/{id} | people:write | live | Изменить карточку; изменения зарплаты, роли и отдела попадают в историю |
POST | /people/{id}/leaving | people:write | live | Назначить последний день |
GET | /timeoff | people:read | live | Отпуска: запрошенные и одобренные |
POST | /timeoff | people:write | live | Добавить отсутствие (запрос или сразу одобрено) |
POST | /timeoff/{id}/decide | people:write | live | Решить: approved, declined, cancelled |
GET | /payrun | money:read | live | Расчёт за месяц: строки и итоги |
POST | /payrun/{period}/approve | money:write | live | Утвердить месяц (сначала снимается снимок) |
GET | /payrun/{period}/file | money:read | live | Файл утверждённого месяца: oris, fina, 1c, excel, journal, tbc, bog, liberty, bank-excel, rsge |
GET | /rules | money:read | live | Правила и ставки с подтвердившим |
POST | /rules/{id}/confirm | money:write | live | Подтвердить правило именем |
GET | /snapshots | settings:write | live | Список снимков |
POST | /snapshots | settings:write | live | Снять снимок сейчас |
POST | /snapshots/{id}/restore | settings:write | live | Восстановить снимок (сначала снимается снимок текущего) |
GET | /pipeline | applications:read | live | Доска одной вакансии: этапы, карточки, часы ответа, оценочные листы |
POST | /applications/{id}/status | applications:write | live | Переместить карточку на этап: seen, shortlisted, hold, hired, rejected |
POST | /applications/{id}/scorecard | applications:write | live | Сохранить оценочный лист: четыре оценки 1–5 и заметка |
POST | /applications/{id}/message | applications:write | planned | Ответить кандидату в том же чате, что на сайте |
POST | /applications/{id}/interview | applications:write | planned | Назначить собеседование |
GET | /people | people:read | planned | Карточки сотрудников |
POST | /people | people:write | planned | Добавить сотрудника |
GET | /people/{id} | people:read | planned | Одна карточка (без личных данных) |
GET | /leave/requests | people:read | planned | Заявки на отпуск |
POST | /leave/requests/{id}/decide | people:write | planned | Утвердить или отклонить отпуск |
GET | /pay-runs | money:read | planned | Расчёты зарплаты |
GET | /pay-runs/{month} | money:read | planned | Расчёт одного месяца со строками |
POST | /pay-runs/{month}/approve | money:write | planned | Утвердить расчёт (файлы готовятся; деньги не движутся) |
GET | /rules | money:read | planned | Правила и ставки со статусом подтверждения |
GET | /keys | settings:write | planned | Ключи этой компании (ключ не может создавать ключи) |
GET | /webhooks | settings:write | planned | Подписки на вебхуки |