An open API service indexing awesome lists of open source software.

https://github.com/flant/huntflow-js-widget


https://github.com/flant/huntflow-js-widget

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

# Виджет для отклика на вакансии в huntflow

В этом репозитории находится скрипт, позволяющий загружать резюме в huntflow с вашего сайта.

![](demo.png)

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, чтобы не упустить проблемы с формой