Требуется доработки по фильтру. Необходимо сделать фильтр, в котором можно будет выбирать диапазон в нескольких значениях Пример: Диапазон От 1 кГЦ До 1 Мгц В самом товаре, соответственно будут 2 свойства заполнены Диапазон от, кГЦ: 1 Диапазон до, Мгц: 1 Ранее была ...
Разработать модуль для отправки/получения viber сообщений из viber-bot
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.
Стек технологий:1) PHP (7.3.18) / Laravel (7.10.3)
2) пакет https://caffeinatedpackages.com/guide/packages/modules.html (обязательно!)
3) mysql >= 5.7
4) git
5) строгая типизация
6) SOLID
7) Swagger
8) PHPUnit
9) Ответы сервера должны быть в формате json. Использовать нужно вот этот хелпер https://github.com/dees040/laravel-api-responses
Детали технического задачния:
Задача будет состоять из 3-х крупных блоков:1) API для фронтенда
2) API сторонних сервисов
3) WebHook для Вайбер
4) Система отправки сообщений
Необходимо создать миграции и модули для таблиц:
viber_user_botsструктура:
id, user_id, bot_name, bot_key, created_at, updated_atотношения:
viber_user_bots.user_id = users.id | cascade
viber_bot_message_statuses (модель не нужна, но нужен сид)id, name, created_at, updated_atСид: новое, прочитано, отправлено
viber_bot_message_message_types (модель не нужна, но нужен сид)id, name, created_at, updated_atСид: text, picture, video, file, location, contact, sticker, carousel content, url
viber_bot_recipientsid, viber_key, name, avatar, created_at, updated_atОдин пользователь может принадлежать многим рассылкам и многим клиентам!
viber_bot_messagesid, bot_id, message_id, recipient, message, message_type, media (json), status, created_at, updated_atотношения:viber_bot_messages.bot_id = viber_user_bots.id | cascadeviber_bot_messages.recipient = viber_bot_recipients.viber_key | cascadeviber_bot_messages.message_type = viber_bot_message_message_types.id | nullviber_bot_messages. status = viber_bot_message_statuses.id | nullВ этой модели необходимо описать все отношения и методы для получения библиотечных данных для viber_bot_message_message_types и viber_bot_message_statuses
Необходимо создать контроллеры и эндпоины:API для фронтенда
1) GET | api/v1/viber-bot/get-unreaded-count - возвращает количество непрочитанных сообщений для текущего авторизованного пользователя. Параметры отсутствуют.2) GET | api/v1/viber-bot/get-bot-list - возвращает список ботов текущего пользователя и количество непрочитанных сообщений для каждого бота. Параметры отсутствуют.3) GET | api/v1/viber-bot/get-chats/{bot_id} - возвращает список всех чатов (получателей) в пределе данного бота и количество непрочитанных сообщений.Параметры:bot_id - id бота. Необходимо проверить принадлежит ли этот id пользователю который его запрашивает.4) GET | api/v1/viber-bot/{bot_id}/message/{recipient} - Получение всей переписки с определенным получателем в пределах одного бота. В ответе должны присутствовать не только id типов и статусов, а и сами статусы.Параметры:bot_id - id бота. Необходимо проверить принадлежит ли этот id пользователю который его запрашивает.recipient - ключ получателя5) POST | api/v1/viber-bot/{bot_id}/message - отправка сообщения получателю.Параметры:bot_id - id бота. Необходимо проверить принадлежит ли этот id пользователю который его запрашивает.recipient - ключ получателяmessage - сообщение (опционально, если есть медиа файл)media - данные об отправляемом файле/ссылке/т.д. (опционально)message_type - id типа сообщения6) GET | api/v1/viber-bot/get-message-types - получение списка типов сообщений и их id. Параметры отсутствуют.7) GET | api/v1/viber-bot/get-message-statuses - получение списка статусов сообщений и их id. Параметры отсутствуют.
API сторонних сервисов
Все точно также как и для "API для фронтенда" только ссылка будет отличаться и изменится с api/v1 на api/v2
WebHook для Вайбер
Необхожимо разработать динамический метод для viber WebHook.Эндпоинт ANY api/nsfw/viber-bot/{user_id}/{bot_id}Где:user_id - id пользователя который создал ботаbot_id - id бота
Подробно о том что и как будет передаваться на вебхук можно почитать тут - https://developers.viber.com/docs/api/rest-bot-api/#callbacks
Система отправки сообщений
Для отправки сообщений ожидается использование laravel event и очередей.
Доп. требования:1) На прием кода мы оставляем за собой 3 дня.
2) Будет код-ревью и если что-то не понравится то исполнитель обязуется доработать код.
3) Для работы с viber ожидается создание отдельного сервиса/клиента с описанием интерфейса и dependency injection
4) Покрытие тестами 90-100%
5) Документацию оформить в Swagger
- Похожие заказы
- $70Веб-программирование4 заявкиЗакрыт2 года назад
Надо скачать и поднять сайт из web.archive.org на WordPress в настолько приближенном виде и функционале, насколько это возможно. Чтобы можно было продолжать дальше с ним работать (только шаблон потом надо будет заменить на новый поэтому ...
Веб-программирование2 заявкиЗакрыт2 года назадСсорится только на эти div-ы. Не думаю, что нужно сложно это исправить. Показывает эти смещения макета только по этой ссылке: https://developers.google.com/speed/pagespeed/insights/?hl=uk&url=https%3A%2F%2Fgames-walker.com%2F4-fotki-1-slovo-otvety%2F Исправить это смещение и письменно объяснить мне, как это исправлять в будущем. Это обязательный пункт ТС. Уменьшить смещение ...
Веб-программированиенет заявокЗакрыт2 года назадЗдравствуйте, нужно сделать кнопку на сайт "показать еще", у нас карточки с техникой на сайте и их 60ед. и нужно отобразить 9 и далее кнопкой "показать еще" открывать по 6. Сайт на простом хтмл сделан, самый ...
Веб-программирование1 исполнительЗавершен2 года назадДоброго времени. Есть сайт https://shkola-bukeevoi.ru/, на нем нужно сделать согласно макету изменения (ссылка на макет https://readymag.com/u57172484/3170537/) 1. Переделать верхнее меню + сделать его закреплённое к скролу 2. Сделать корзину вверху 3. Сделать вход в личный кабинет чтобы отображалось имя ...
Веб-программирование3 заявкиЗакрыт2 года назадНеобходима помощь по правильному переводу моделей из Blender в Three.js Просим откликнуться тех кто имел реальный практический опыт
Веб-программированиенет заявокЗакрыт2 года назадНужен толковый человек. Работы не так много.
Веб-программирование5 заявокЗакрыт2 года назадВсем привет. Нужно создать чат бота в Телеграм, и подключить туда следующие функции. Чат бот представляет собой воронку, и его смысл в тестировании знаний определенной целевой аудитории.После /start, должно быть пару приветственных сообщений, там же пару кнопок, ...
Веб-программирование12 заявокЗакрыт2 года назад- $30
Нужно привести в порядок, сделать красиво без лишнего когда и по ТЗ на движке Джомла на фото схематически изобразил
Веб-программирование2 заявкиЗакрыт2 года назад парсинг сайта Live-результатов/ПримерSoccer365.ruFlashscore.ru
Веб-программирование6 заявокЗакрыт2 года назад