https://github.com/flant/huntflow-js-widget
https://github.com/flant/huntflow-js-widget
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/flant/huntflow-js-widget
- Owner: flant
- License: other
- Created: 2020-02-20T08:03:05.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-02-20T15:21:12.000Z (over 6 years ago)
- Last Synced: 2025-03-23T01:02:44.333Z (over 1 year ago)
- Language: JavaScript
- Size: 25.4 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Виджет для отклика на вакансии в huntflow
В этом репозитории находится скрипт, позволяющий загружать резюме в huntflow с вашего сайта.

JS-скрипт работает с [api huntflow](https://github.com/huntflow/api). Для его использования понадобятся базовые знания HTML, JavaScript и навыки разработки бэкэнда или настройки nginx.
## Как использовать это решение
1. Для работы с API Huntflow необходимо добавлять [к своим запросам Bearer-Token](https://github.com/huntflow/api/blob/master/ru/personal_token.md). Но подобный токен некорректно прописывать в JavaScript. Поэтому вам необходимо сделать прокси-сервер, который
- будет принимать POST запросы вида `/api/upload` и проксировать их на адрес `https://api.huntflow.ru/account/айди/upload`, где `айди` - это ваш id в huntflow, а также подмешивает к запросу HTTP-заголовок с Bearer-авторизацией и токеном (см. также [доку на метод upload](https://github.com/huntflow/api/blob/master/ru/upload.md))
- будет принимать POST запросы вида `/api/vacancy_request`. По указанному адресу находится nginx, который проксирует запрос на адрес `https://api.huntflow.ru/account/айди/applicants`, где `айди` - это ваш id в huntflow, а также подмешивает к запросу HTTP-заголовок с Bearer-авторизацией и токеном.
- будет принимать OPTIONS запросы `/api/vacancy_request` и `/api/upload` (это требование браузеров, чтобы делать [preflight запросы](https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request))
- НЕ принимает другие запросы. Если вы не закроете другие запросы - любой человек сможет влезть в базу данных вашего Хантфлоу.
2. Отредактировать в index.js значения переменных
- `api_prefix` - должен указывать на домен, на котором находится ваш прокси-сервер
- `vacancy_list` - необходим для того, чтобы подхватывать названия вакансий для отправки в Sentry
3. Открыть index.html и сгенерировать правильный html-код для размещения на вашем сайте.
- по необходимости - указать `id вакансии` и `id статуса` в которую будут отправляться данные формы
4. На сайте:
- подключить jQuery
- подключить ваши версии `main.css` и `index.js`
- вставить html-код в нужное место
5. Опционально скрипт может отправлять информацию о проблемах при загрузке резюме в Sentry
- для этого просто подключите Sentry на своём сайте в соответствии с [документацией](https://sentry.io/for/javascript/)
## Что делает решение
- Загружает файл в huntflow, чтобы он был распознан
- Берёт полученные данные и указанный контакт и пробует создать заявку на вакансию
- Если что-то идёт не так - кидает отбивку в Sentry, чтобы не упустить проблемы с формой