При создании черновика вакансии на платформе 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 для получения более детальной информации о вашем аккаунте и возможных ограничениях.