Команда Пачки
Демонстрация Пачки
Живой разговор с нашим экспертом,
не больше получаса
Узнаете, как быстро перейти в Пачку из Slack, Telegram или другого мессенджера
Сориентируетесь по ценам и скидкам
Посмотрите, как работает Пачка: основные функции и интеграции
Передовые компании выбирают Пачку
Логотип МФТИЛоготип SkillfactoryЛоготип Lamoda
Демонстрация Пачки
Мы свяжемся с вами в течение дня и договоримся о времени.
Спасибо! Ваша заявка была получена!
Запись в данный момент недоступна. Попробуйте ещё раз позднее.
12.4.24

Получение откликов от кандидатов через самодельные Webhook уведомления

Скрипт: Авторизация oAuth2.0, получение json, отправка вебхука, APScheduler
Язык: Python + Flask
Cложность: Cредняя
Автор: Данила, менеджер тех.поддержки
Репозиторий: https://github.com/doesntneedname/HabrCareerAPI/tree/main

Если в компании идет постоянный найм технических специалистов через Habr, то интеграция Пачки х Habr Career поможет не пропускать уведомления о новых откликах. На Habr Нет встроенных вебхуков на этот сценарий, поэтому описываем процесс создания API-приложения.

Подробно описали интеграцию, чтобы ее мог реализовать любой пользователь с опытом разработки. Еще в статье приводим примеры кода, чтобы задача была сильно проще.

Этап 1: Подготовка.

Для начала вам понадобится виртуальная среда .venv. Развернуть ее можно в любом IDE. Достаточно убедиться, что ваша версия Python - 3 и выше и прописать в терминал следующий код:

python3 -m venv

Также необходимо установить Flask и requests, нужно вписать в терминал команды по отдельности:

pip install Flask

-

pip install requestspip install apscheduler

Этап 2: Подготовка 2.0

Теперь нам нужен исходный код, скопируйте его отсюда: https://github.com/doesntneedname/HabrCareerAPI/blob/main/main.py

from flask import Flask, redirect, request, session, jsonify, json
from flask_apscheduler import APScheduler
import requests
import urllib.parse
import math

app = Flask(name)

Подготовка еще не окончена, нужно создать два пустых файла в папке .venv : cached_applies.json и access_token.txt

Этап 3: Настройка и запуск

Теперь нужно задать данные некоторым константам, все подобные действия описаны в коде через #.

Внимательно просмотрите комментарии к коду и занесите ваши данные (кроме WEBHOOK_URL, его мы получим при создании интеграции в Пачке). Также вы можете настраивать таймер, по которому приложение будет выполнять цикл и другие отмеченные переменные, опираясь на описание. Например: одно обращение к серверу и проверка каждую минуту.

Этап 4: Прием вебхука в Пачке

На этом шаге нам нужно научить Пачку принимать вебхук от нашего приложения, для этого:

  1. Создайте новую интеграцию в разделе “Интеграции” → “Чат-боты и Вебхуки”. Если вы планируете отображать данные в нескольких чатах, выберите тип интеграции “для нескольких чатов”.
  2. Дальше нужно прописать Mustache-шаблон, чтобы отображать данные, которые передаются в Пачку. Ключи должны соответствовать ключам Рayload из кода:

    👨💻Новый отклик на вакансию {{vacancy_title}} от {{user_name}}!
    Опыт работы: {{experience}} лет
    Ссылка на резюме: {{link}}
    Email: {{email}}
    Телеграм: https://t.me/{{telegram}}
    {{habr_profile_link}}
    {{body}}
  3. Перейдите во вкладку “Входящий Webhook” и вставьте шаблон.
  4. Скопируйте Webhook URL и вставьте в код вместо WEBHOOK_URL.
  5. Перейдите в чат, в котором вы хотите видеть сообщения о новых откликах. Откройте Список участниковИнтеграции и добавьте созданный вебхук через +.

Этап 5: Запуск

Осталось запустить код на локальном сервере:

  1. Запустите ваш код в терминале IDE, приложение вернет в терминал ссылку на локальный сервер. Не перепутайте с обычным запуском кода.
  2. Откройте страницу по ссылке и нажмите на Login.
  3. Откиньте спинку кресла и наблюдайте, как новые отклики поступают в рабочий чат.

Как бонус — когда приходит отклик от нового кандидата, то его можно обсудить с коллегами прямо в треде под сообщением бота.

Обновлено 
12.4.2024
Попробуйте Пачку
2000 сообщений в месяц — бесплатно
Попробовать бесплатно →