Разработка модуля HTTP-уведомлений для внешних приложений (Free TON)

60 000 руб. за проект
27 сентября 2021, 22:27 • 2 отклика • 49 просмотров
Основные требования:
  1. Доступность методов HTTP API
    1.1. Добавить уникальный идентификатор и параметры уведомления во внутреннюю базу данных
    1.2. Получить конфигурацию
    1.2.1. Информация о модуле (название, описание, логотип, адрес серфинга)
    1.2.2. Получить структурные входные параметры для текущего модуля
  2. Все методы HTTP API должны возвращать ответ 200, если запрошенная операция выполнена успешно, и соответствующий код ошибки HTTP в противном случае.
  3. Для проверки работы модуля должен быть предоставлен http-сервер с некоторым пользовательским интерфейсом (бот для телеграмм, веб-страница и т. д.)
Дополнительные требования:
  1. Гарантированная доставка уведомлений в течение N раз (например, 1-24 часа) и повторная доставка уведомлений, если адрес доставки недоступен
  2. Поддержка протокола HTTPS
  3. При добавлении нового URL-адреса проверка возможности управления доменом, веб-сайтом или конкретным URL-адресом должна выполняться лицом, запрашивающим отправку уведомлений на этот адрес
  4. Логирование событий http-уведомлений для возможности отображения их в графиках
  5. Наличие документации с примерами использования
  6. Инструкции по компиляции, сборке, развертыванию, запуску и тестированию с предварительными условиями

API поставщика очереди, который можно использовать для получения потока событий блокчейна, описан в следующем документе: https://tonlabs.notion.site/Notification-provider-onboarding-3dd961bce8954d0da80208b9a908c773

Общая архитектура Чтобы обеспечить анонимность пользователей блокчейна, было сделано разделение между данными блокчейна и адресами получателей этих данных. Для этого введены следующие модули:

  • Поставщик очереди - знает, что отправлять (сами данные). У него нет информации о реальном адресе получателя. Это позволяет пользователю настроить источник события на основе следующих параметров: «Адрес учетной записи» и его типы сообщений: внутренний / внешний вход / внешний выход
Поставщик очереди пересылает подготовленные и зашифрованные сообщения поставщику уведомлений. Каждое сообщение содержит ключ, по которому поставщик уведомлений может сопоставить соответствующего получателя.

  • Поставщики уведомлений - знают, куда отправлять (реальный адрес получателя, такой как IP и порт, электронная почта, APN ID, FCM ID и т. Д.). У него нет информации о данных. Он получает и отправляет данные в зашифрованном виде
Возможно наличие нескольких типов поставщиков уведомлений в зависимости от типа получателя и транспорта (браузер, http-сервер, смартфоны, электронная почта и т. Д.)

Модуль HTTP-уведомлений отправляет зарегистрированному потребителю http-запросы с событиями блокчейна

Модуль Http Notification предоставляет пользователям возможность настраивать себя через REST API

Возможными потребителями модуля HTTP-уведомлений являются интернет-магазины, внешние веб-сервисы, боты для телеграмм, вконтакте и любые сервисы с подключением к Интернету и внешним доступом из Интернета. Это означает, что в требования потребителя входит наличие http-сервера для получения push-уведомлений
  • Исходный код (открытый исходный код, лицензия свободного программного обеспечения)
  • Дедлайн 15 October 2021