Создание системы уведомлений из внешних источников (через API)
Исходная задача
Задача - получать своевременно информацию о каких либо событиях во внешних системах.
Примеры:
- получение уведомления о нехватке товара на складе Озон или Wildberries
- изменились данные по контрагенту в ЕРГЮЛ
- любое изменение, которое можно отследить по API некой системы.
Таким образом можно построить свою систему уведомлений о событиях, происходящих во внешних системах и оперативно на них реагировать.
Решение кратко
Решение описано с учетом того, что реализация выполняется на платформе Falcon Space.
1. периодически (например, 1 раз в час) запуск исходящего API запроса к внешней системе
2. обработка отклика API и проверка на определенные состояния.
3. если проверка показывает, что надо отправить уведомление, то создаем уведомление (которое дублируется на телеграм бота, если он подключен и пользователь его инициализировал в своем кабинете).
Решение с деталями реализации
1. В /syssp в процедуре hour (falcon_nt_sync_hour) создаем вызов исходящего действия API (по необходимости передаем параметры).
Пример:
if(DATEPART(HOUR, GETDATE())=8) begin
select 'apirequest' type, 'apicode1' code
end
2. В /asapi создаем исходящий метод (с кодом apicode1).
В процедуре request прописываем детали запроса. Документация по исходящим запросам API.
В процедуре response получает отклик внешней системы в переменной @response (обычно это XML или JSON данные) и преобразуем его в табличную переменную(@t) или временную таблицу (#t).
На основе данных в этой таблице определяем нужно ли отправлять уведомление или нет.
Если нужно отправить уведомлеие, то в процедуре repsonse вызываем внешнее действие по уведомлению. См. про внешние действия.
Пример кода:
select 'notification' type, 'text1' text , 'demo1' [to], 'ticketExecutor' typeCode, 'http///' url, 'add111' additional
Заключение
Вот таким простым способом можно по периоду обращаться к внешним API, анализировать ответ и по определенным факторам определять кого надо уведомить об этой ситуации.
Google поиск по нашей документации
- Руководства Введение в веб-платформу Falcon Space. C чего начать? Мануал для начинающего разработчика Falcon Space Видео о создании личных кабинетов на сайте - веб-платформе Falcon Space Пример создания системы по учету Кадры (HR) на сайте Вопросы и ответы для тех, кто начал разрабатывать на Falcon Space Как создать таблицу на сайте по шагам Как создать форму на сайте по шагам Как создать дашборд в личном кабинете пользователя Как сделать локализацию сайта для нетехнического специалиста Как отслеживать историю действий пользователя или историю событий по объекту системы Создание страниц с компонентом таблица/форма с автогенерацией необходимых SQL процедур Как улучшить свой код - заметки по ревизии кода на платформе Falcon Space Как сделать отслеживание посещений сайта конкретными людьми? Как сделать аналитический отчет или таблицу на сайте Как сделать функционал оценки полезности материала Подробное описание процесса создания формы Обратная связь Создание из под editor структуры личных кабинетов (роли, страницы) Улучшение адаптации страниц под мобильные устройства Соблюдение порядка в проекте в процессе сопровождения сайта Как считать показатели год-к-году (YoY) в отчете по периодам Создание системы уведомлений из внешних источников (через API)
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем
- Дизайн, стилизация, юзабилити
- Лендинги
- Универсальный API
- Примеры интеграций
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта