QoW поддерживает специфический тип передачи уведомлений, когда они сохраняются во временный буфер с возможностью последующего доступа к уведомлениям через API.

Доступ к API ограничен при помощи заголовка HTTP-запросов X-API-Key (см. раздел документации, посвященный API).

Для таких уведомлений можно указать Канал оповещения получателя (в настоящее время поддерживается Telegram), выбрать получателя, задать "время жизни" сообщения, по истечении которого оно может быть автоматически удалено из буфера. 

Чтобы переслать сообщения из буфера QoW получателю разработан phyton-скрипт, выбирающий их из буфера, пересылающий при помощи Telegram и удаляющий отправленные сообщения. 

API

GET /api/messages/count возвращает число доступных сообщений в буфере

параметры 

  • fromDate дата "с" (не включительно, формат dd/MM/yyyy HH:mm)
  • toDate дата "по" (включительно, формат dd/MM/yyyy HH:mm)


GET /api/messages/ возвращает сообщения из буфера

Запрос позволяет воспользоваться выборкой данных "по частям" при помощи параметров "after" и "limit", где "after" - идентификатор первого сообщения в следующей "порции" данных. При использовании параметров limit и after, в HTTP Header ответа будет добавлен заголовок X-RESP-NEXT со значением идентификатора , который можно будет использовать для следующего запроса в качестве after.

параметры

  • fromDate дата "с" (не включительно, формат dd/MM/yyyy HH:mm)
  • toDate дата "по" (включительно, формат dd/MM/yyyy HH:mm)
  • after (необязательный параметр) идентификатор первого сообщения в выборке (строка вида "69691862d7a83721ea9a30e5")
  • limit (необязательный параметр) максимальное количество сообщений (число)
  • remove (необязательный параметр) удалить выбранные сообщения из буфера (логическое значение, "true", "false", если не задано считается "false")

DELETE /api/messages удаляет сообщения из буфера

параметры

  • fromDate дата "с" (не включительно, формат dd/MM/yyyy HH:mm)
  • toDate дата "по" (включительно, формат dd/MM/yyyy HH:mm)
  • after (необязательный параметр) идентификатор первого сообщения в выборке (строка вида "69691862d7a83721ea9a30e5")
  • limit (необязательный параметр) максимальное количество сообщений (число)

Настройка сервера QoW


Параметр в файле application.properties для задания периода проверки и очистки устаревших сообщений

# cron expression to check for stale pullable messages cleanup - one a day at 2:00 = '0 2 * * *', never = '-' or remove parameter
com.netams.messages.buffer.cleanup.schedule=0 2 * * * *
  • No labels