Требуется специалист или команда для реализации получения данных портфолио аккаунта через RESTful API Interactive Brokers. Проект включает разработку на node.js или php для доступа к API и реализации функции получения информации о позициях аккаунта.
Написать телеграмм бота на Pythone
ТЗ НА БОТА ДЛЯ СВЯЗИ ОПЕРАТОРОВ И РАБОТНИКОВ
Концепция Оператор и работник могут общаться через бота.
Операторы могут просматривать информацию о работниках, вручную добавлять работников, оставлять отзывы о работниках, получить ссылку на чат.
Администраторы могут просматривать информацию об операторах, добавлять, удалять и редактировать операторов.
Оператор Первый вход При первом входе, оператор должен авторизоваться по логину и паролю. В дальнейшем это не понадобится.
Просмотр работников Оператор может просмотреть список работников в боте в виде списка кнопок с именем оператора с бесконечной (если больше нет страниц, то переходит на первую/последнюю) пагинацией по 10 штук на страницу и с возможностью поиска.
По нажатию на кнопку работника, оператор видит меню работника с информацией о нем (фио, дату рождения, фото работника во весь рост, район фактического проживания, фото паспорта и номер сотового телефона), а также с возможностью внести отзыв и просмотреть уже имеющиеся отзывы. Плюс, есть возможность удалить работника, изменить информацию о работнике при наличии соответствующих полномочий.
В списке работников также отображаются работники, которых нет в базе, но о которых есть отзывы в виде номера телефона (на кнопке также номер телефона). При включенных фильтрах фио/район фактического проживания эти работники отображаются в конце списка.
Поиск по спискуПри нажатии в списке работников на кнопку поиска работников, бот предлагает оператору указать, по какому параметру работника делать поиск и ввести запрос. Параметры, доступные для поиска: фио, номер телефона, район фактического проживания.
После ввода запроса бот отправляет меню с фильтрами поиска. Тут работник может удалить фильтр и добавить фильтр (при добавлении фильтра, новый фильтр используется вместе с уже использующимися).
Поиск по фиоПри поиске по фио, идет фильтр на наличие указанных букв/слов/словосочетаний в фио работника, с удалением лишних пробелов и заменой символов и автозаменой символов, не являющимися буквами на пробелы.
Примеры:
работники в базе: Иванов Андрей Николаевич, Филиппов Александр Владимирович, Филиппов Алексей Викторович, Андреев Иван Александрович
запрос: Ал
ответ: Филиппов Александр Владимирович, Филиппов Алексей Викторович, Андреев Иван Александрович
запрос: Виктор
ответ: Филиппов Алексей Викторович
запрос: АИ
ответ: работники не найдены
запрос: Филиппов А
ответ: Филиппов Александр Владимирович, Филиппов Алексей Викторович
запрос: Филиппов Алекса
ответ: Филиппов Александр Владимирович
запрос: Филиппов Александр
ответ: Филиппов Александр Владимирович
запрос: Филиппов, Александр
ответ: Филиппов Александр Владимирович
Поиск по номеру телефонаПри поиске по номеру телефона, бот уведомляет о формате, в котором нужно указывать запрос, при получении идет фильтр на наличие указанной части в номере работника, с предварительной автоматической нормализацией к формату, в котором номера хранятся в бд (удаление не нумерических символов из номера). Также, если запрос начинается на 8, то поиск идёт на эту запрос + запрос с замененной первой цифрой на 7.
Примеры:
работники в базе: 79113456789, 79315249080, 79115246677, 79115677690
запрос: +7911
ответ: 79113456789, 79115246677, 79115677690 (в результатах будут не номера, а имена, формат, как указано в начале)
запрос: 8911
ответ: 79113456789, 79115246677, 79115677690
запрос: 7 (911) 345
ответ:79113456789
запрос: 90
ответ: 79315249080, 79115677690
запрос: 9, 3, 0
ответ: работники не найдены
запрос: 9, 3, 1
ответ: 79315249080
Поиск по району фактического проживанияПри поиске по району фактического проживания, бот присылает кнопки со всеми районами, в которых есть работники в боте и предлагает выбрать, либо написать самому. Потом идет фильтр на наличие указанных букв/слов/словосочетаний в районе работников.
Примеры:
работники в базе: Приморский, Адмиралтейский, Центральный, Центральный
запрос: Ад
ответ: Адмиралтейский (в результатах будут не районы, а имена, формат, как указано в начале)
запрос: Адмиралтейский район
ответ: работники не найдены
запрос: Центр
ответ: Центральный, Центральный
Удаление работникапроверка полномочия “удаление работников”
При нажатии на удаление работника, бот спрашивает оператора, уверен ли он и предлагает либо продолжить, либо отменить. При нажатии на продолжить, работник удаляется из базы данных навсегда, его можно только заново добавить, но не восстановить. После удаления в отдельный канал специально для данных логов приходит сообщение об удалении следующего вида:
Удалена анкета
Кем анкета была создана: логин оператора/администратора, который создал анкету, либо номер телефона работника, если анкету создал сам работник.
Кем анкета была удалена: логин оператора/администратора, который удалил анкету
Изменение информации о работникепроверка полномочия “внесение правок в информацию о работнике”
При переходе к изменению информации о работнике, бот спрашивает у оператора, какую информацию он хочет изменить, потом спрашивает, какая теперь должна быть эта информация и ввод информации происходит, как при первом входе работника.
Внесение отзывапроверка полномочия “ввод отзыва о работнике”
В отзыве указывается тип отзыва (положительный, отрицательный) и сообщение с отзывом. Отзыв от одного оператора/администратора об одном работнике может быть только один, и его нельзя изменить.
Просмотр отзывовПри переходе к просмотру отзывов о работнике, отзывы отображаются в виде, списка отзывов, следующими один за другим, с пагинацией (на одной странице - один отзыв), отзывы отсортированы по дате добавления. Отзывы можно отфильтровать по типу (положительные/отрицательные). Отзывы можно удалять при наличии полномочия “удаление отзывов о работниках”.
Удаление отзывапроверка полномочия “удаление отзывов о работниках”
При нажатии на удаление отзыва, бот спрашивает оператора, уверен ли он и предлагает либо продолжить, либо отменить. При нажатии на продолжить, отзыв удаляется из базы данных навсегда без возможности восстановления.
Добавление работниковпроверка полномочия “ручное добавление работника”
В меню добавления работников, оператор может самостоятельно добавлять работников в бота. При добавлении работника оператором, оператор должен указать айди пользователя в телеграме, фио, дату рождения, фото во весь рост, район фактического проживания, фото паспорта и номер телефона работника, заполнение идет также, как при первом входе работника.
айди пользователя в телеграме
Заполнение: текстовое сообщение от пользователя
Валидация: сообщение является нумерическим
Получение ссылки на чатТут операторы могут получить ссылку, указанную в настройках бота администратором.
Внесение отзыва по номеру телефонаЕсть отдельно возможность внести отзыв по номеру телефона. При переходе к внесению отзыва по номеру телефона, оператор вводит номер телефона, потом вводит отзыв.
РаботникПервый входПри первом входе (если не был зарегистрирован ранее самостоятельно или оператором/администратором), бот запрашивает у работника согласие на обработку персональных данных. При согласии, бот запрашивает следующую информацию:
1) ФИО
Заполнение: текстовое сообщение от пользователя
Валидация: сообщение является тремя словами
Нормализация: удаление лишних символов и пробелов, не являющимися буквами/пробелами
2) дата рождения
Заполнение: текстовое сообщение от пользователя
Валидация: сообщение является датой в формате DD.MM.YYYY
3) фото во весь рост
Заполнение: сообщение от пользователя
Валидация: сообщение является фотографией/документом в формате изображения
4) район фактического проживания
Заполнение: выбор кнопки из предложенных районов
Валидация: сообщение является одним из предложенных районов в кнопках
5) фото паспорта
Заполнение: сообщение от пользователя
Валидация: сообщение является фотографией/документом в формате изображения
6) номер сотового телефона
Заполнение: отправка пользователем контакта посредством нажатия на кнопку либо текста с номером
Валидация: сообщение является контактом/номером, проверка hlr-запросом доступности номера через сервис https://smsc.ru/
Нормализация: приведение к формату 7**********
После заполнения пользователем данных, данные отправляются на канал, указанный в настройках бота с кнопками "подтвердить" и "отменить".
При нажатии на кнопку "подтвердить" администратором либо оператором,, имеющим полномочие "модерация новых работников", работнику приходит сообщение о том, что он успешно зарегистрировался и его анкета сохраняется.
При нажатии на кнопку "отменить", администратор/оператор перенаправляется на бота, где заполняет причину отказа. Работнику отправляется сообщение об отказе с причиной отказа и предложение заполнить анкету заново.
АдминистраторПервый входПри первом входе, администратор должен авторизоваться по логину и паролю, хранящимся на сервере. В дальнейшем это не понадобится.
Просмотр операторовАдминистратор может просмотреть список операторов в боте в виде списка кнопок с логином оператора с бесконечной (если больше нет страниц, то переходит на первую/последнюю) пагинацией по 10 штук на страницу.
По нажатию на кнопку оператора, администратор видит меню оператора с информацией о нем (логин, примерное время последней активности в боте), а также с возможностью изменить логин и пароль. Изменение логина/пароля - просто ввод нового логина/пароля. Тут же есть возможность удалить оператора.
Добавление оператораПри добавлении оператора, администратор вводит новые логин/пароль и указывает полномочия оператора.
Полномочия оператора: ручное добавление работника (по умолчанию включено), ввод отзыва о работнике (по умолчанию включено), удаление отзывов о работниках (по умолчанию выключено), удаление работников (по умолчанию выключено), внесение правок в информацию о работнике (по умолчанию выключено), модерация новых работников (по умолчанию включено).
Удаление оператораПри нажатии на удаление оператора, бот спрашивает администратора, уверен ли он и предлагает либо продолжить, либо отменить. При нажатии на продолжить, оператор удаляется из базы данных навсегда, его можно только заново добавить, но не восстановить.
Изменение текстаБоту пишется команда /edit_texts. В ответ бот отправляет файл с текстами, в котором админ меняет тексты и отправляет файл боту и тексты меняются. Вот так, примерно, выглядит файл. В {} - переменные, которые подставляет бот. Они - не любые, там только переменные, которые изначально были в тексте, админ их не может менять/добавлять, можно только убрать совсем из текста. Перенос строки - \n. Форматирование - html.
Изменение канала, в которые приходят анкеты новых работниковАдминистратор может поменять канал, в которых должны приходить анкеты новых работников. Он это делает либо вводом айди, либо форвардом любого сообщения с целевого канала.
Изменение канала, в который приходят логи об удалении работников
Администратор может поменять канал, в которых должны приходить логи об удалении работников. Он это делает либо вводом айди, либо форвардом любого сообщения с целевого канала.
Добавление/удаление подсказок районовАдминистратор может добавлять и удалять районы. Бот отправляет текущий список районов. Администратор отправляет боту район текстом. Если такой район есть в текущем списке районов, то бот удаляет подсказку (если работники с этим районом есть, то бот уведомляет об этом администратора). Если района нет в боте, то бот добавляет данный район в список подсказок.
Подсказки районов - подсказки, которые видят работники/операторы/администраторы при заполнении анкеты работника в поле района.
Дополнительно дублирующиеся функцииУ администратора есть следующие функции, как у оператора: просмотр работников, добавление работников, получение ссылки на чат. У администратора есть все “полномочия”, им доступен весь функционал, что доступен операторам без ограничений.
Все пользователиПоддержкаПолучение ссылки, указанной админом.
Так же есть схема.
Заявки фрилансеров
Похожие заказы
- Веб-программирование3 заявкиЗакрыт3 года назад
Необходимо устранить неполадки в работе поисковика сайта, которые приводят к ошибке 504 при вводе названия товара. Настроить его для корректного отображения категорий товаров при вводе на русском и латинице, чтобы пользователи могли легко находить нужные позиции.
Веб-программирование1 исполнительЗавершен3 года назадНеобходимо дублировать функционал действующего телеграм бота с сущности 'Универсальные списки' Битрикс24 на 'Коммерческие предложения'. Изменить существующие связи и доработать скрипт согласно техническому заданию. Все ID полей уже имеются и используются в скрипте.
Веб-программированиенет заявокЗакрыт3 года назадТребуется настроить кнопки на сайте, чтобы UTM-метки сохранялись при переходах на страницу и в корзину. Необходима помощь специалиста по веб-программированию для решения проблемы с текущими статичными URL и возможным использованием Facebook CAPI для улучшения отслеживания эффективности рекламы.
Веб-программирование1 исполнительЗавершен3 года назадТребуется разработка фронтенда на React для системы учета и работы с сотрудниками. Дизайн уже готов и представлен в Figma. Необходимо реализовать интерфейс в соответствии с предоставленным дизайном.
Веб-программирование13 заявокЗакрыт3 года назадТребуется веб-программист для постоянного сотрудничества. Необходимо глубокое знакомство с проектом и выполнение задач, включая работу с калькуляторами на сайте. Ожидается наличие свободного времени для разработки на CMS WordPress и PHP. Подробности задач будут предоставлены заинтересованным.
Веб-программирование5 заявокЗакрыт3 года назадРазработать каталог запчастей на Laravel с функционалом добавления новых позиций, возможностью добавления в корзину, автоматическим обновлением валюты и истории поисков. Реализовать систему регистрации и логина с ручной активацией пользователей, а также настройки наценки для партнеров. Необходимо предусмотреть ограничения на проверки цен для пользователей.
Веб-программирование8 заявокЗакрыт3 года назадИщется программист, хорошо знающий Laravel, для работы с существующим скриптом на Ubuntu. Необходимо убрать авторизацию. Опыт работы с Laravel Firework будет преимуществом.
Веб-программирование6 заявокЗакрыт3 года назад- $500
Шукається розробник для створення сайту з інтерактивними таблицями і графіками, що працює з PostgreSQL. Сайт повинен мати кілька вкладок і можливість оновлення даних. Також потрібно розробити розширення для Chrome, яке змінює відображення даних на інших сайтах та додає функціонал для зручного копіювання тексту.
Веб-программирование4 заявкиЗакрыт3 года назад