171 lines
5.8 KiB
Markdown
171 lines
5.8 KiB
Markdown
# Heruvym
|
||
|
||
/create - метод для создания тикета.
|
||
пример запроса
|
||
|
||
POST https://staging.blacbroc.com/support/create
|
||
|
||
Тело запроса
|
||
```
|
||
{"Title":"test ticket title","Message":"test ticket message"}
|
||
```
|
||
тело ответа
|
||
```
|
||
{"Ticket":"c2fekjcobibtq7akknog"}
|
||
````
|
||
|
||
|
||
/subscribe - sse метод для подписывания на изменения по всех тикетах доступных пользователю.
|
||
|
||
пример запроса
|
||
https://staging.blacbrok.com/support/subscribe?Authorization=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJRCI6ImMxdmNrZWtvYmlicmFmYWU2bjYwIiwiU2Vzc2lvbiI6ImMxdmNrZWtvYmlicmFmYWU2bjZnIiwiVXNlciI6ImMxdXAxY2tvYmliaXVpNDVxNGYwIiwiVGFyaWZmIjowLCJDcmVhdGVkIjoxNjE4OTIyMDQyMDQ3LCJMYXN0U2VlbiI6MTYxODkyMjA5OTg5MH0.INLy790JP-o6DDZcXfSEXUDg7lE1_83Ns2vDJVrUFuQ
|
||
|
||
тело ответа
|
||
```
|
||
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"`
|
||
}
|
||
```
|
||
|
||
/ticket - sse метод для подписки на сообщения из одного тикета.
|
||
|
||
пример запроса
|
||
https://staging.blacbrok.com/support/ticket?ticket=c2fekjcobibtq7akknog&Authorization=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJRCI6ImMxdmNrZWtvYmlicmFmYWU2bjYwIiwiU2Vzc2lvbiI6ImMxdmNrZWtvYmlicmFmYWU2bjZnIiwiVXNlciI6ImMxdXAxY2tvYmliaXVpNDVxNGYwIiwiVGFyaWZmIjowLCJDcmVhdGVkIjoxNjE4OTIyMDQyMDQ3LCJMYXN0U2VlbiI6MTYxODkyMjA5OTg5MH0.INLy790JP-o6DDZcXfSEXUDg7lE1_83Ns2vDJVrUFuQ
|
||
|
||
тело ответа
|
||
```
|
||
{
|
||
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"`
|
||
}
|
||
```
|
||
/send - метод для отправки сообщения в тикета
|
||
|
||
пример запроса
|
||
POST https://staging.blacbroc.com/support/send
|
||
|
||
Тело запроса
|
||
```
|
||
{"message":"test ticket message","TicketID":"c2fekjcobibtq7akknog", "lang":"ru","files": ["idoffile"]}
|
||
```
|
||
Ответ null
|
||
|
||
|
||
/getTickets - метод для получения тикетов с пагинацией
|
||
|
||
пример запроса
|
||
POST https://staging.blacbroc.com/support/getTickets
|
||
|
||
Тело запроса:
|
||
```
|
||
{"amt":10,"page":1,"srch":"test","status":"open"}
|
||
```
|
||
Ответ:
|
||
``` [{
|
||
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"`
|
||
}]
|
||
```
|
||
/getMessages - метод для получения сообщений конкретного тикета с пагинацией
|
||
|
||
пример запроса
|
||
POST https://staging.blacbroc.com/support/getMessages
|
||
|
||
Тело запроса:
|
||
```
|
||
{"amt":10,"page":1,"srch":"test","ticket":"c2fekjcobibtq7akknog"}
|
||
|
||
Ответ:
|
||
[{
|
||
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"`
|
||
}]
|
||
```
|
||
/pick - подхватывание сотрудником диалога
|
||
|
||
пример запроса
|
||
POST https://staging.blacbroc.com/support/pick
|
||
|
||
Тело запроса:
|
||
{"ticket":"c2fekjcobibtq7akknog"}
|
||
|
||
Ответ: null
|
||
|
||
/delegate - передача тикета другому сотруднику
|
||
|
||
пример запроса
|
||
POST https://staging.blacbroc.com/support/delegate
|
||
|
||
Тело запроса:
|
||
{"ticket":"c2fekjcobibtq7akknog","answerer":"c2fekjcobibtq7akknog"}
|
||
|
||
Ответ: null
|
||
|
||
/vote - метод для оценки полезности ответа
|
||
|
||
пример запроса
|
||
POST https://staging.blacbroc.com/support/delegate
|
||
|
||
Тело запроса:
|
||
{"ticket":"c2fekjcobibtq7akknog","rate":5}
|
||
|
||
Ответ: null
|
||
|
||
/close - метод для закрытия тикета
|
||
|
||
пример запроса
|
||
POST https://staging.blacbroc.com/support/close
|
||
|
||
Тело запроса:
|
||
{"ticket":"c2fekjcobibtq7akknog"}
|
||
|
||
Ответ: null |