Пытаюсь отправить POST-запрос на создании записи на услугу. Однако, возвращается ошибка, хотя такой же запрос отрабатывает в POSTMAN.
async def create_session_api(data):
time = data['time']
month, day = data['date'].split('-')
current_year = datetime.datetime.now().year
date_iso8601 = f'{current_year}-{int(month):02}-{int(day):02}T{time}:00+0300'
url = 'https://api.yclients.com/api/v1/book_record/{company_id}/'
print(f'Имя: {data["name"]}'
f'Коммент: {data["comment"]}')
data_for_request = {
"phone": data['phone'],
"fullname": data['name'],
"email": data['email'],
# "code": "38829",
"comment": data['comment'],
"type": "mobile",
"notify_by_sms": 2,
"notify_by_email": 24,
# "api_id": "777", # Необязательный параметр
"appointments": [
{
"id": 1,
"services": [
int(data['service'])
],
"staff_id": int(data['staff']),
"datetime": date_iso8601,
}
]
}
json_data = json.dumps(data_for_request, ensure_ascii=False, indent=4)
response = requests.post(url, headers=headers, json=data_for_request)
print(f'Формат json: {json_data}')
print(f'Данные для создания записи через api: {data_for_request}')
print(f'Ответ API: {response.text}')
{
"phone": "77777777777",
"fullname": "Имя",
"email": "mail@mail.ru",
"comment": "комент",
"type": "mobile",
"notify_by_sms": 2,
"notify_by_email": 24,
"appointments": [
{
"id": 1,
"services": [
14980882
],
"staff_id": 3113480,
"datetime": "2024-03-08T15:00:00+0300"
}
]
}
Данные для создания записи через api: {'phone': '77777777777', 'fullname': 'Имя', 'email': 'mail@mail.ru', 'comment': 'комент', 'type': 'mobile', 'notify_by_sms': 2, 'notify_by_email
': 24, 'appointments': [{'id': 1, 'services': [14980882], 'staff_id': 3113480, 'datetime': '2024-03-08T18:00:00+0300'}]}
Ответ API: {"success":false,"data":null,"meta":{"message":"Произошла ошибка"}}
Один и тот же запрос отрабатывает по разному, в зависимости от того, откуда уходит.
Предполагаю, что дело в кириллице:
Формат json: {
"phone": "77777777777",
"fullname": "Имя",
"email": "mail@mail.ru",
"comment": "комент",
"type": "mobile",
"notify_by_sms": 2,
"notify_by_email": 24,
"appointments": [
{
"id": 1,
"services": [
14980882
],
"staff_id": 3113480,
"datetime": "2024-03-08T18:00:00+0300"
}
]
}
Теперь, я не совсем понимаю, в каком формате точно уходит json из python...
Не понимаю, почему один и тот же json дает разный ответ