Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
{
  "OK": true,
  "Error": null,
  "Result": {
    "Client": {
      "Id": 1,
      "ProjectId": 1,
      "CompanyId": null,
      "Type": "crm",
      "Name": "Мартин Лютер Кинг",
      "Online": false,
      "CustomerId": 7,
      "ChannelId": null,
      "TelegramId": null,
      "FacebookId": null,
      "VKId": null,
      "TotalTickets": 15,
      "TotalOpenTickets": 0,
      "CreatedAt": 1491678852327,
      "UpdatedAt": 1517989811064,
      "SeenAt": 1516117515977,
      "MessagedAt": null,
      "IntegrationId": "1"
    },
    "Session": {
      "Id": 95,
      "ClientId": 1,
      "Token": "cd0f8d5b81358ec76db6aa50ec0424d7fd4fccc7.da3df153848575972de2e8b3ca187f2f",
      "CreatedAt": 1518167539961,
      "Integration": false,
      "IntegrationHash": null,
      "IntegrationCredentials": null
    }
  },
  "Rels": {}
}

Чаты

...

Пуши

Регистрация APNS пуш-токена

ПараметрЗначениеКомментарииКомментарий
МетодPOST
Путь/public/api/v1/chatspush/channel/chatapns/:channelName
ЗапросПустоеОтветChat

Пример ответа:


ПолеТипОбязательноеКомментарий
TokenstringДа



ОтветПустой

Регистрация GCM/FCM пуш-токена

ПараметрЗначениеКомментарий
МетодPOST
Путь/public/api/v1/push/channel/apns/:channelName
Запрос


ПолеТипОбязательноеКомментарий
TokenstringДа



Чаты

Информация о чате

ПараметрЗначениеКомментарии
МетодPOST
Путь/public/api/v1/chats/channel/chat/:channelName
ЗапросПустое
ОтветChat

Пример ответа:

Code Block
languagejs
{
Code Block
languagejs
{
  "OK": true,
  "Error": null,
  "Result": {
    "Id": 10,
    "ProjectId": 1,
    "ClientId": 11,
    "ChannelId": 1,
    "TicketId": 68,
    "EventId": 3645,
    "ClientUnread": 5,
    "CreatedAt": 1498085875177,
    "ChangedAt": 1518091061880
  },
  "Rels": {
    "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": 1518164918835,
        "SeenAt": 1518164918835,
        "MessagedAt": null,
        "IntegrationId": "10"
      }
    ]
  }
}

...

ПараметрЗначениеКомментарий
МетодGET
Путь/public/api/v1/files/get/:fileId
ОтветФайл с правильным Content-Type

Информация о файле


Ссылка на изображение

В отличии от ссылки на файл позволяет получить изображение в уменьшенном размере.

ПараметрЗначениеПараметрЗначениеКомментарий
МетодGET
Путь/public/api/v1/files/image/:fileId?size=:size
Запрос


ПараметрТипОбязательноеКомментарий
sizeFileImageSizeДа



ОтветФайл с изображением в нужном размере

Информация о файле

ПараметрЗначениеКомментарий
МетодGET
Путь/public/api/v1/files/meta/:fileId
ОтветFile

Пример ответа:

...

Code Block
{
  "OK": true,
  "Error": null,
  "Result": {
    "Id": "9a9cef3d-0d7a-11e8-b188-9def95b467fb.jpg",
    "Type": "image",
    "Owner": "client",
    "OwnerClientId": 11,
    "ClientId": 11,
    "UserId": null,
    "Name": "1.jpg",
    "Path": "clients/11/11/9a9cef3d-0d7a-11e8-b188-9def95b467fb.jpg",
    "Size": 1039999,
    "ImageWidth": 3024,
    "ImageHeight": 4032,
    "ContentType": "image/jpeg",
    "CreatedAt": 1518168086597
  },
  "Rels": {}
}

HTML5 Server-Sent Events

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

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

ПараметрЗначениеКомментарий
МетодGET
Путь/public/api/v1/sse/chats/channel/events/:channelName?FromId=:fromId&Limit=:limit
Запрос


ПолеТипОбязательноеКомментарий
FromIdint64НетАйди последнего полученного события
Limitint32НетМаксимальное количество событий, которое можно вернуть в одном сообщении



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

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

Code Block
{
  "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

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

Code Block
{
  "OK": true,
  "Error": null,
  "Result": 13
}