heruvym/README.md

211 lines
5.9 KiB
Markdown
Raw Normal View History

2021-05-11 17:23:13 +00:00
# Heruvym
/create - метод для создания тикета.
2021-05-15 00:09:32 +00:00
пример запроса
2021-06-07 16:40:15 +00:00
2022-12-13 10:07:15 +00:00
POST http://localhost:8000/support/create
2021-06-07 16:40:15 +00:00
2021-05-11 17:23:13 +00:00
Тело запроса
2021-06-09 17:14:24 +00:00
```
2022-12-13 10:07:15 +00:00
{
"Title":"test ticket title",
"Message":"test ticket message"
}
2021-06-09 17:14:24 +00:00
```
2022-12-13 10:07:15 +00:00
2021-05-11 17:23:13 +00:00
тело ответа
2021-06-09 17:14:24 +00:00
```
2022-12-13 10:07:15 +00:00
{
"Ticket":"c2fekjcobibtq7akknog"
}
```
2021-05-11 17:23:13 +00:00
/subscribe - sse метод для подписывания на изменения по всех тикетах доступных пользователю.
2021-05-15 09:21:34 +00:00
пример запроса
2022-12-13 10:07:15 +00:00
http://localhost:8000/support/subscribe?Authorization=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJRCI6ImMxdmNrZWtvYmlicmFmYWU2bjYwIiwiU2Vzc2lvbiI6ImMxdmNrZWtvYmlicmFmYWU2bjZnIiwiVXNlciI6ImMxdXAxY2tvYmliaXVpNDVxNGYwIiwiVGFyaWZmIjowLCJDcmVhdGVkIjoxNjE4OTIyMDQyMDQ3LCJMYXN0U2VlbiI6MTYxODkyMjA5OTg5MH0.INLy790JP-o6DDZcXfSEXUDg7lE1_83Ns2vDJVrUFuQ
2021-05-15 09:21:34 +00:00
2021-05-11 17:23:13 +00:00
тело ответа
2021-06-09 17:14:24 +00:00
```
2021-05-11 17:23:13 +00:00
Ticket: {
ID string `bson:"_id"`
UserID string `bson:"UserID"`
SessionID string `bson:"SessionID"`
AnswererID string `bson:"AnswererID"`
State string `bson:"State"`
TopMessage: {
ID string `bson:"_id" json:"id"`
TicketID string `bson:"TicketID" json:"ticket_id"`
UserID string `bson:"UserID" json:"user_id"`
SessionID string `bson:"SessionID" json:"session_id"`
Message string `bson:"Message" json:"message"`
Files []string `bson:"Files" json:"files"`
Shown map[string]int `bson:"Shown" json:"shown"`
CreatedAt time.Time `bson:"CreatedAt" json:"created_at"`
}
Title string `bson:"Title"`
CreatedAt time.Time `bson:"CreatedAt"`
UpdatedAt time.Time `bson:"UpdatedAt"`
Rate int `bson:"Rate"`
}
2021-06-09 17:14:24 +00:00
```
2021-06-07 16:40:15 +00:00
/ticket - sse метод для подписки на сообщения из одного тикета.
2021-05-15 09:21:34 +00:00
пример запроса
2022-12-13 10:07:15 +00:00
http://localhost:8000/support/ticket?ticket=c2fekjcobibtq7akknog&Authorization=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJRCI6ImMxdmNrZWtvYmlicmFmYWU2bjYwIiwiU2Vzc2lvbiI6ImMxdmNrZWtvYmlicmFmYWU2bjZnIiwiVXNlciI6ImMxdXAxY2tvYmliaXVpNDVxNGYwIiwiVGFyaWZmIjowLCJDcmVhdGVkIjoxNjE4OTIyMDQyMDQ3LCJMYXN0U2VlbiI6MTYxODkyMjA5OTg5MH0.INLy790JP-o6DDZcXfSEXUDg7lE1_83Ns2vDJVrUFuQ
2021-05-15 09:21:34 +00:00
2021-05-11 17:23:13 +00:00
тело ответа
2021-06-09 17:14:24 +00:00
```
2021-05-11 17:23:13 +00:00
{
ID string `bson:"_id" json:"id"`
TicketID string `bson:"TicketID" json:"ticket_id"`
UserID string `bson:"UserID" json:"user_id"`
SessionID string `bson:"SessionID" json:"session_id"`
Message string `bson:"Message" json:"message"`
Files []string `bson:"Files" json:"files"`
Shown map[string]int `bson:"Shown" json:"shown"`
CreatedAt time.Time `bson:"CreatedAt" json:"created_at"`
}
2021-06-09 17:14:24 +00:00
```
2021-05-11 17:23:13 +00:00
/send - метод для отправки сообщения в тикета
2021-05-15 09:21:34 +00:00
пример запроса
2022-12-13 10:07:15 +00:00
POST http://localhost:8000/support/send
2021-05-15 09:21:34 +00:00
Тело запроса
2021-06-09 17:14:24 +00:00
```
2022-12-13 10:07:15 +00:00
{
"message":"test ticket message",
"TicketID":"c2fekjcobibtq7akknog",
"lang":"ru",
"files": ["idoffile"]
}
2021-06-09 17:14:24 +00:00
```
2021-05-11 17:23:13 +00:00
Ответ null
/getTickets - метод для получения тикетов с пагинацией
2021-05-15 09:21:34 +00:00
пример запроса
2022-12-13 10:07:15 +00:00
POST http://localhost:8000/support/getTickets
2021-05-15 09:21:34 +00:00
Тело запроса:
2021-06-09 17:14:24 +00:00
```
2022-12-13 10:07:15 +00:00
{
"amt":10,
"page":1,
"srch":"test",
"status":"open"
}
2021-06-09 17:14:24 +00:00
```
2021-05-11 17:23:13 +00:00
Ответ:
2022-12-14 18:26:21 +00:00
```
[{
2021-05-11 17:23:13 +00:00
ID string `bson:"_id"`
UserID string `bson:"UserID"`
SessionID string `bson:"SessionID"`
AnswererID string `bson:"AnswererID"`
State string `bson:"State"`
TopMessage: {
ID string `bson:"_id" json:"id"`
TicketID string `bson:"TicketID" json:"ticket_id"`
UserID string `bson:"UserID" json:"user_id"`
SessionID string `bson:"SessionID" json:"session_id"`
Message string `bson:"Message" json:"message"`
Files []string `bson:"Files" json:"files"`
Shown map[string]int `bson:"Shown" json:"shown"`
CreatedAt time.Time `bson:"CreatedAt" json:"created_at"`
}
Title string `bson:"Title"`
CreatedAt time.Time `bson:"CreatedAt"`
UpdatedAt time.Time `bson:"UpdatedAt"`
Rate int `bson:"Rate"`
}]
2021-06-09 17:14:24 +00:00
```
2021-05-11 17:23:13 +00:00
/getMessages - метод для получения сообщений конкретного тикета с пагинацией
2021-05-15 09:21:34 +00:00
пример запроса
2022-12-13 10:07:15 +00:00
POST http://localhost:8000/support/getMessages
2021-05-15 09:21:34 +00:00
Тело запроса:
2021-06-09 17:14:24 +00:00
```
2022-12-13 10:07:15 +00:00
{
"amt":10,
"page":1,
"srch":"test",
"ticket":"c2fekjcobibtq7akknog"
}
2022-12-14 18:23:27 +00:00
```
2021-05-15 09:21:34 +00:00
2021-05-11 17:23:13 +00:00
Ответ:
2022-12-14 18:23:27 +00:00
```
2021-05-11 17:23:13 +00:00
[{
ID string `bson:"_id" json:"id"`
TicketID string `bson:"TicketID" json:"ticket_id"`
UserID string `bson:"UserID" json:"user_id"`
SessionID string `bson:"SessionID" json:"session_id"`
Message string `bson:"Message" json:"message"`
Files []string `bson:"Files" json:"files"`
Shown map[string]int `bson:"Shown" json:"shown"`
CreatedAt time.Time `bson:"CreatedAt" json:"created_at"`
}]
2021-06-09 17:14:24 +00:00
```
2021-05-11 17:23:13 +00:00
/pick - подхватывание сотрудником диалога
2021-05-15 09:21:34 +00:00
пример запроса
2022-12-13 10:07:15 +00:00
POST http://localhost:8000/support/pick
2021-05-15 09:21:34 +00:00
Тело запроса:
2022-12-13 10:07:15 +00:00
```
2021-05-15 09:21:34 +00:00
{"ticket":"c2fekjcobibtq7akknog"}
2022-12-13 10:07:15 +00:00
```
2021-05-15 09:21:34 +00:00
Ответ: null
2021-05-11 17:23:13 +00:00
/delegate - передача тикета другому сотруднику
2021-05-15 09:21:34 +00:00
пример запроса
2022-12-13 10:07:15 +00:00
POST http://localhost:8000/support/delegate
2021-05-15 09:21:34 +00:00
Тело запроса:
2022-12-13 10:07:15 +00:00
```
{
"ticket":"c2fekjcobibtq7akknog",
"answerer":"c2fekjcobibtq7akknog"
}
```
2021-05-15 09:21:34 +00:00
Ответ: null
2021-05-11 17:23:13 +00:00
/vote - метод для оценки полезности ответа
2021-05-15 09:21:34 +00:00
пример запроса
2022-12-13 10:07:15 +00:00
POST http://localhost:8000/support/delegate
2021-05-15 09:21:34 +00:00
Тело запроса:
2022-12-13 10:07:15 +00:00
```
{
"ticket":"c2fekjcobibtq7akknog",
"rate":5
}
```
2021-05-15 09:21:34 +00:00
Ответ: null
2021-05-11 17:23:13 +00:00
/close - метод для закрытия тикета
2021-05-15 09:21:34 +00:00
пример запроса
2022-12-13 10:07:15 +00:00
POST http://localhost:8000/support/close
2021-05-15 09:21:34 +00:00
Тело запроса:
2022-12-13 10:07:15 +00:00
```
{
"ticket":"c2fekjcobibtq7akknog"
}
2022-12-14 18:23:27 +00:00
```
2021-05-15 09:21:34 +00:00
2022-12-13 10:07:15 +00:00
Ответ: null
2022-12-14 18:23:27 +00:00
/support/sendFiles - метод для отправки файлов