Page tree
Skip to end of metadata
Go to start of metadata

HTML5 Server-Sent Events

Сервис событий позволяет подписываться и получать события в реальном времени. В качестве протокола используется HTML5 SSE и WebSockets.

События в чате

ПараметрЗначениеКомментарий
МетодGET
Путь/public/api/v1/sse/chats/channel/events/:channelName?FromId=:fromId&Limit=:limit
Запрос
ПолеТипОбязательноеКомментарий
FromIdint64НетАйди последнего полученного события
Limitint32НетМаксимальное количество событий, которое можно вернуть в одном сообщении

СообщениеChatEvent[]

Пример сообщения с двумя событиями:

{
  "OK": true,
  "Error": null,
  "Result": [
    {
      "Id": 0,
      "Type": "typing",
      "ChatId": 10,
      "MessageId": null,
      "Actor": "user",
      "ClientId": null,
      "UserId": 1,
      "CreatedAt": 1518168819924,
      "Transitive": true
    },
    {
      "Id": 4648,
      "Type": "message_created",
      "ChatId": 10,
      "MessageId": 869,
      "Actor": "user",
      "ClientId": null,
      "UserId": 1,
      "CreatedAt": 1518168820897,
      "Transitive": false
    }
  ],
  "Rels": {
    "Chats": [
      {
        "Id": 10,
        "ProjectId": 1,
        "ClientId": 11,
        "ChannelId": 1,
        "TicketId": 68,
        "EventId": 3645,
        "ClientUnread": 5,
        "CreatedAt": 1498085875177,
        "ChangedAt": 1518168808785
      }
    ],
    "Clients": [
      {
        "Id": 11,
        "ProjectId": 1,
        "CompanyId": 2,
        "Type": "crm",
        "Name": "Дмитрий Менделеев",
        "Online": true,
        "CustomerId": 5,
        "ChannelId": null,
        "TelegramId": null,
        "FacebookId": null,
        "VKId": null,
        "TotalTickets": 2,
        "TotalOpenTickets": 1,
        "CreatedAt": 1498085866873,
        "UpdatedAt": 1518168816421,
        "SeenAt": 1518168816421,
        "MessagedAt": null,
        "IntegrationId": "10"
      }
    ],
    "Users": [
      {
        "Id": 1,
        "Name": "Иван Коробков",
        "Email": "i.korobkov@iqstore.ru",
        "Position": "Технический директор",
        "RoleId": 1,
        "AvatarId": "e83220a3-56cb-11e7-b21f-6109cf735b0f.png",
        "Online": true,
        "Deleted": false,
        "TotalAssignedTickets": 1,
        "CreatedAt": 1491321126034,
        "UpdatedAt": 1518168818121,
        "LastSeenAt": 1518168818121,
        "AssignedAt": 1518166787715,
        "DisplayName": "Иван Коробков"
      }
    ]
  }
}

Количество непрочитанных сообщений

ПараметрЗначениеКомментарий
МетодGET
Путь/public/api/v1/sse/chats/channel/unread/:channelName
Сообщениеint32

Пример сообщения:

{
  "OK": true,
  "Error": null,
  "Result": 13
}
  • No labels