heruvym/README.md

5.7 KiB
Raw Blame History

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/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