Обработка входящих (events-get)

Команда используется для запроса и получения списка входящих событий, таких как

  • входящие сообщения (action = message)
  • просмотр сообщения (action = ack)
  • входящий медиа-файл (action = media)
  • отправка сообщения (action = sent) событие происходит только при асинхронной отправке сообщения
  • ошибка (action = error)
  • отсоединение Whatsapp и удаление сессии (action = disconnect)

Для получения списка событий инициируется POST-запрос на адрес:

https://whatsgate.ru/api/v1/events-get

В теле запроса передается объект:

{
  "WhatsappID" : "XXXXXXXXXXXXX",
  "date" : "YYYY-MM-DD HH:MM:SS",
  "action" : "message",
  "page_cnt" : "10",
  "page" : "1"
}

все указанные поля в данном объекте являются необязательными, т.е. для получения полного списка событий достаточно передать пустой объект. Поля WhatsappID и action - являются фильтрами, поле date ограничивает события указанной датой. Дата используется следующим образом: при получении событий, мы анализируем дату последнего события, и передаем ее в следующем запросе в поле date для получения свежих событий.

  • WhatsappID - фильтр по идентификатору WhatsApp, используется для точного совпадения и возвращает в результате события для указанной сессии. Если не указывать, то система вернет события для всех сессий, в том числе и удаленных.
  • date - ограничивает события указанной датой. Дата используется следующим образом: при получении событий, мы анализируем дату последнего события, и передаем ее в следующем запросе в поле date для получения свежих событий.
  • action - фильтр по типу события. Может принимать одно из указанных значений:
    • message - входящее сообщение.
    • ack - просмотр сообщения.
    • media - входящий медиа-файл.
    • sent - сообщение отправлено (событие происходит только при асинхронной отправке сообщения)
    • error - ошибка
    • disconnect - отсоединение Whatsapp и удаление сессии
  • page_cnt - максимальное количество событий, возвращаемых на одной странице запроса. По умолчанию - 10, максимальное значение - 100.
  • page - номер страницы запроса. По умолчанию - 1

Объект успешного ответа на запрос

{
  "result": "OK",
  "pages" : 1,
  "elements" : 2,
  "page" : 1,
  "data" : [
     // 
  ]
}
  • result - при успешном выполнении запроса содержит «OK»
  • pages - количество страниц при указанных фильтрах
  • elements - количество элементов в результате при указанных фильтрах (количество событий)
  • page - номер текущей страницы