Бот передает информацию на несколько эндпоинтов сайта:
при изменении категорий,
при блокировке / разблокировке бота.
Обращение к энпдоинтам сайта происходит при помощи метода _site_post класса ProcharityAPI (src\core\services\procharity_api.py).
При ошибках передачи данных на эндпоинты сайта должно отправляться сообщение в админку бота и письмо на почту EMAIL_ADMIN.
Сейчас в случае ошибки это фиксируется в логах. Нужно добавить:
Отправку письма на почту EMAIL_ADMIN. Можно сделать по аналогии с отправкой причины отписки (метод unsubscribe_notification в EmailProvider). Нужно добавить в settings переменную (bool), включающую или выключающую отправку письма на почту в зависимости от её значения.
Сохранение записи об ошибке в таблице tech_messages (новая таблица, нужно применить миграцию).
Текст сообщения в письме и в сообщении в tech_messages может совпадать с текстом в логах.
Сейчас указанные эндпоинты сайта не работают. Задеплоена другая ветка, поэтому эндпоинты всегда возвращают статус 200, но обращение к ним вызывает ошибку ContentTypeError ('Attempt to decode JSON with unexpected mimetype: text/html; charset=utf-8'). При разработке функционала по обращению к эндпоинтам сайта они работали и обрабатывались корректно.
Нужно добавить обработку ошибки ContentTypeError и на её примере проверить отправку письма и сохранение записи в таблицу tech_messages.
Важно:
Нельзя обращаться к апи внешнего сайта с действующим токеном и фейковым user.external_user.external_id, если бот запущен локально, чтобы не записать туда данные из локальной тестовой БД. При тестировании локально достаточно получить в ответ ошибку авторизации. Если необходимо получить и обработать ответ от эндпоинта, то необходимо записать в локальную БД свой user.external_user.external_id из БД на тестовом сервере.
Бот передает информацию на несколько эндпоинтов сайта:
Обращение к энпдоинтам сайта происходит при помощи метода
_site_post
класса ProcharityAPI (src\core\services\procharity_api.py
).При ошибках передачи данных на эндпоинты сайта должно отправляться сообщение в админку бота и письмо на почту EMAIL_ADMIN.
Сейчас в случае ошибки это фиксируется в логах. Нужно добавить:
Текст сообщения в письме и в сообщении в tech_messages может совпадать с текстом в логах.
Сейчас указанные эндпоинты сайта не работают. Задеплоена другая ветка, поэтому эндпоинты всегда возвращают статус 200, но обращение к ним вызывает ошибку ContentTypeError ('Attempt to decode JSON with unexpected mimetype: text/html; charset=utf-8'). При разработке функционала по обращению к эндпоинтам сайта они работали и обрабатывались корректно. Нужно добавить обработку ошибки ContentTypeError и на её примере проверить отправку письма и сохранение записи в таблицу tech_messages.
Важно: Нельзя обращаться к апи внешнего сайта с действующим токеном и фейковым user.external_user.external_id, если бот запущен локально, чтобы не записать туда данные из локальной тестовой БД. При тестировании локально достаточно получить в ответ ошибку авторизации. Если необходимо получить и обработать ответ от эндпоинта, то необходимо записать в локальную БД свой user.external_user.external_id из БД на тестовом сервере.