Как правильно составить запрос для создания черновика на платформе HeadHunters?

Я разрабатываю приложение, которое отправляет запросы на создание вакансий. Поскольку создание вакансий является платной услугой, я не могу создавать их напрямую. Однако, когда я пытаюсь создать черновик вакансии, который, по идее, должен быть бесплатным, я получаю ошибку, аналогичную следующей: <br/> Ошибка 403: <br/> {'errors': [{'value': 'not_enough_purchased_services', 'type': 'vacancies'}], 'request_id': '1737016211360a9ba34039cd29c3f89c'} <br/> Вот как выглядит мой запрос: <br/> def create_vacancy(): <br/> headers = { <br/> "Authorization": f"Bearer {ACCESS_TOKEN}", <br/> "Content-Type": "application/json" <br/> } <br/> <br/> # Данные для создания вакансии <br/> hh_data = { <br/> "name": "Архитектор", <br/> "description": "Требуется архитектор для работы над проектами жилых зданий. Мы предлагаем интересные задачи, работу в команде профессионалов, а также возможности для профессионального и карьерного роста. Обязанности включают: проектирование, подготовку чертежей и документации.", <br/> "area": { <br/> "id": "1"  # Москва <br/> }, <br/> "billing_type": { <br/> "id": "standard" <br/> }, <br/> "professional_roles": [ <br/> {"id": "14"}  # Архитектор <br/> ], <br/> "employment": { <br/> "id": "full"  # Полная занятость <br/> }, <br/> "schedule": { <br/> "id": "fullDay"  # Полный рабочий день <br/> }, <br/> "experience": { <br/> "id": "between3And6"  # Опыт от 3 до 6 лет <br/> }, <br/> "type": { <br/> "id": "open" <br/> }, <br/> "salary": { <br/> "from": 100000, <br/> "to": 150000, <br/> "currency": "RUR", <br/> "gross": True <br/> }, <br/> "contacts": { <br/> "name": "Иван Иванов", <br/> "email": "ivanov@example.com", <br/> "phones": [ <br/> { <br/> "country": "7", <br/> "city": "495", <br/> "number": "1234567", <br/> "comment": "Звоните с 10 до 18... 
  • 16 января 2025 г. 9:14
Ответы на вопрос 1
При создании черновика вакансии на платформе HeadHunters важно убедиться, что вы используете правильный метод запроса и правильно формируете тело запроса. Ошибка 403 с сообщением `'not_enough_purchased_services'` может указывать на то, что ваш аккаунт не имеет необходимых прав или недостаточно оплаченных услуг для выполнения определенных действий, даже при создании черновика.

Вот несколько шагов и рекомендаций, которые могут помочь исправить ситуацию:

1. **Проверьте уровень доступа**: Убедитесь, что ваш аккаунт на платформе HeadHunters действительно имеет право создавать черновики вакансий. Возможно, вам нужно будет приобрести определенные услуги или подписку.

2. **Правильный метод запроса**: Убедитесь, что вы используете правильный HTTP-метод для создания черновика. Это должен быть метод POST на соответствующий эндпоинт API.

3. **Корректный JSON**: Убедитесь, что данные, которые вы отправляете, соответствуют требованиям API. Например, возможно, некоторые поля являются обязательными, а некоторые не нужны.

4. **Пример кода**: Вот пример, как может выглядеть ваш запрос, с учетом рекомендаций:

```python
import requests

def create_draft_vacancy():
    headers = {
        "Authorization": f"Bearer {ACCESS_TOKEN}",
        "Content-Type": "application/json"
    }

    # Данные для создания черновика вакансии
    hh_data = {
        "name": "Архитектор",
        "description": "Требуется архитектор для работы над проектами жилых зданий...",
        "area": {
            "id": "1"  # Москва
        },
        "billing_type": {
            "id": "standard"
        },
        "professional_roles": [
            {"id": "14"}  # Архитектор
        ],
        "employment": {
            "id": "full"  # Полная занятость
        },
        "schedule": {
            "id": "fullDay"  # Полный рабочий день
        },
        "experience": {
            "id": "between3And6"  # Опыт от 3 до 6 лет
        },
        "type": {
            "id": "open"
        },
        "salary": {
            "from": 100000,
            "to": 150000,
            "currency": "RUR",
            "gross": True
        },
        "contacts": {
            "name": "Иван Иванов",
            "email": "ivanov@example.com",
            "phones": [
                {
                    "country": "7",
                    "city": "495",
                    "number": "1234567",
                    "comment": "Звоните с 10 до 18"
                }
            ]
        }
    }

    # Эндпоинт для создания черновика вакансии
    url = "https://api.hh.ru/vacancies/draft"  # Проверьте правильный URL для создания черновиков

    response = requests.post(url, headers=headers, json=hh_data)

    if response.status_code == 201:
        print("Черновик вакансии создан успешно.")
    else:
        print(f"Ошибка: {response.status_code}")
        print(response.json())

# Вызываем функцию создания черновика
create_draft_vacancy()
```

5. **Проверьте документацию**: Ознакомьтесь с официальной документацией API HeadHunters, чтобы убедиться, что вы используете все параметры и формат, необходимые для создания черновика.

6. **Обратитесь в поддержку**: Если проблема не решается, рекомендую обратиться в техподдержку HeadHunters для получения более детальной информации о вашем аккаунте и возможных ограничениях.
Похожие вопросы