heruvym/README.md

175 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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/<ticketID> - sse метод для подписки на сообщения из одного тикета.
пример запроса
https://staging.blacbrok.com/support/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