...
Поле | Тип | Обязательное | Комментарий |
---|---|---|---|
OK | bool | Да |
|
Error | Error | Нет | Информация об ошибке. |
Result | Any | Нет | Успешный результат, тип зависит от вызываемого метода. |
Rels | Graph | Нет | Граф зависимых объектов, на которые ссылается результат. |
...
Параметр | Значение | Комментарий |
---|---|---|
Метод | POST | |
Путь | /public/api/v1/clients/me | |
Запрос | Пустой | |
Ответ | Client |
Пример ответа:
Code Block |
---|
{ "OK": true, "Error": null, "Result": { "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": 1518167008390, "SeenAt": 1518167008390, "MessagedAt": null, "IntegrationId": "10" }, "Rels": {} } |
...
Параметр | Значение | Комментарии | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Метод | POST | |||||||||
Путь | /public/api/v1/clients/auth | |||||||||
Запрос |
| |||||||||
Ответ | ClientAuth |
Пример запроса:
Code Block |
---|
{"Token": "e71539abc4e000626c34bf981892b9acf84b84ed.f23e085bdd5d2b46e87b36fd79654727"} |
...
Параметр | Значение | Комментарий | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Метод | POST | |||||||||
Путь | /public/api/v1/clients/signup | |||||||||
Запрос |
| |||||||||
Ответ | ClientAuth |
Пример запроса:
Code Block |
---|
{"Name": "John Doe"} |
...
Параметр | Значение | Комментарий | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Метод | POST | |||||||||
Путь | /public/api/v1/clients/integration_auth | |||||||||
Запрос |
| |||||||||
Ответ | ClientAuth |
Пример запроса:
Code Block |
---|
{"Credentials": "super-secure-token"} |
...
Параметр | Значение | Комментарий | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Метод | POST | |||||||||
Путь | /public/api/v1/push/channel/apns/:channelName | |||||||||
Запрос |
| |||||||||
Ответ | Пустой |
Регистрация GCM/FCM пуш-токена
Параметр | Значение | Комментарий | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Метод | POST | |||||||||
Путь | /public/api/v1/push/channel/apns/:channelName | |||||||||
Запрос |
|
Чаты
Информация о чате
Параметр | Значение | Комментарии |
---|---|---|
Метод | POST | |
Путь | /public/api/v1/chats/channel/chat/:channelName | |
Запрос | Пустое | |
Ответ | Chat |
Пример ответа:
Code Block | ||
---|---|---|
| ||
{ "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" } ] } } |
...
Параметр | Значение | Комментарии | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Метод | POST | |||||||||||||
Путь | /public/api/v1/chats/channel/messages/:channelName | |||||||||||||
Запрос |
| |||||||||||||
Ответ | ChatMessage[] |
Пример запроса:
Code Block | ||
---|---|---|
| ||
{ "Limit": 10, "MaxId": 1234 } |
...
Параметр | Значение | Комментарий | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Метод | POST | |||||||||||||||||||||
Путь | /public/api/v1/chats/channel/send/:channelName | |||||||||||||||||||||
Запрос |
| |||||||||||||||||||||
Ответ | Пустой | Новое сообщение придет в SSE подключении. |
...
Параметр | Значение | Комментарий |
---|---|---|
Метод | GET | |
Путь | /public/api/v1/files/get/:fileId | |
Ответ | Файл с правильным Content-Type |
...
Параметр | Значение | Комментарий | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Метод | GET | |||||||||
Путь | /public/api/v1/files/image/:fileId?size=:size | |||||||||
Запрос |
| |||||||||
Ответ | Файл с изображением в нужном размере |
...
Параметр | Значение | Комментарий |
---|---|---|
Метод | GET | |
Путь | /public/api/v1/files/meta/:fileId | |
Ответ | File |
Пример ответа:
Code Block |
---|
{ "OK": true, "Error": null, "Result": { "Id": "1705a928-0d7a-11e8-b187-13b6ccbb5d10.txt", "Type": "file", "Owner": "client", "OwnerClientId": 11, "ClientId": null, "UserId": 1, "Name": "oci8-sigsegv.txt", "Path": "clients/11/11/1705a928-0d7a-11e8-b187-13b6ccbb5d10.txt", "Size": 5356, "ImageWidth": null, "ImageHeight": null, "ContentType": "", "CreatedAt": 1518167865822 }, "Rels": {} } |
...
Параметр | Значение | Комментарий | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Метод | POST | |||||||||||||
Content-Type | multipart/form-data | |||||||||||||
Запрос |
| |||||||||||||
Ответ | 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": {} } |
WebSockets
Сервис событий позволяет подписываться и получать события в реальном времени. В качестве протокола используется HTML5 SSE и WebSockets.
События в чате
Параметр | Значение | Комментарий | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Метод | GET | |||||||||||||
Путь | /public/api/v1/ws/chats/channel/events/:channelName?FromId=:fromId&Limit=:limit | |||||||||||||
Запрос |
| |||||||||||||
Сообщение | 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/ws/chats/channel/unread/:channelName | |
Сообщение | int32 |
Пример сообщения:
Code Block |
---|
{
"OK": true,
"Error": null,
"Result": 13
} |
HTML5 Server-Sent Events
Сервис событий позволяет подписываться и получать события в реальном времени. В качестве протокола используется HTML5 SSE и WebSockets.
События в чате
Параметр | Значение | Комментарий | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Метод | GET | |||||||||||||
Путь | /public/api/v1/sse/chats/channel/events/:channelName?FromId=:fromId&Limit=:limit | |||||||||||||
Запрос |
| |||||||||||||
Сообщение | 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 } |
...