Skip to content

suvvyai/backend-test-task

Repository files navigation

Тестовое задание

Сделайте форк данного репозитория в свой аккаунт, создайте PR к форку с выполненным заданием.

Описание проекта

Приложение - упрощенная версия платформы для создания и управления чат ботами. Необходимо реализовать подключение чат бота к каналу для получения и отправки сообщений. Под каналом понимается канал передачи данных (Мессенджер, CRM система и т.д.). Общение идет в рамках диалогов, подключив канал к определенному чат боту он начинает принимать сообщения на вебхук. Чат бот должен сохранять контекст каждого диалога вне зависимости от количества конечных клиентов.

Функция mock_llm_call имитирует запрос к llm.

Чат бот не должен дважды отвечать на одно и то же сообщение.

Чат бот не должен отвечать на сообщения сотрудника.

Разрешается добавлять любые необходимые библиотеки, классы, атрибуты и методы.

Описание задания

  1. Создать эндпоинты фронтенда для подключения/управления/удаления каналом.
  2. Создать эндпонит для получения сообщений из канала.
  3. Добавить функционал для отправки сообщений в канал.
  4. Добавить необходимые тесты.

Описание канала

Сообщения из канала приходят на url "api/webhook/new_message".

В хэдере Authorization приходит токен чат бота "Bearer <токен>".

В теле приходит json вида

{
  "message_id": str,
  "chat_id": str,
  "text": str,
  "message_sender": Literal["customer", "employee"]
}

Канал ожидает POST запрос на url сохраненный в настройках канала.

В хэдере Authorization токен канала "Bearer <токен>", сохраненный в настройках канала.

В теле json вида

{
  "event_type": "new_message",
  "chat_id": str,
  "text": str
}

About

Тестовое задание для бэкенда

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages