gill_onus
@gill_onus

Как принимать исходящие вебхуки от Битрикс24 с помощью python FastAPI?

Всем привет, пробую вертеть в руках FastAPI

В данный момент получается принимать вебхуки от Б24 передавая только если в них были переданы параметры, например вот, это удаляет сделку

@app.post('/kill-deal')
def send_data(deal_to_kill: int):
    kill_deal(deal_to_kill)
    return {deal_to_kill: '<- сделка удалена'}


не могу понять как принимать исходящие вебхуки от б24 =(

Пробую подписаться на событие "Обновление задачи" https://dev.1c-bitrix.ru/rest_help/tasks/events_ta...

на своей стороне написал вот так

class Item(BaseModel):
    event: str
    data: dict
    auth: str


@app.post("/task_update/", response_model=Item)
def print_task(item: Item):
    print(item)
    return item


при изменнении задачи на стороне Б24 fast api отдает в консоль
INFO:     мой ip  - "POST /task_update/ HTTP/1.1" 422 Unprocessable Entity


Не понимаю, что я не так делаю?
  • Вопрос задан
  • 326 просмотров
Пригласить эксперта
Ответы на вопрос 1
@gulyaeve
Сам не мог получить ответ от Битрикса. Оказалось что он отдаёт данные не так как ожидает FastAPI. Попробуйте переписать хэндлер вот так:

@app.post("/task_update", status_code=201)
async def print_task(
    request: Request,
):
    answer = await request.body()
    print(answer)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
29 нояб. 2024, в 10:38
5000 руб./за проект
29 нояб. 2024, в 10:27
100000 руб./за проект
29 нояб. 2024, в 09:43
100000 руб./за проект