Class VisitorRestControllerVisitor

java.lang.Object
com.bytedesk.service.visitor.VisitorRestControllerVisitor

@RestController @RequestMapping("/visitor/api/v1") public class VisitorRestControllerVisitor extends Object
anonymous api, no need to login
  • Field Details

  • Constructor Details

    • VisitorRestControllerVisitor

      public VisitorRestControllerVisitor()
  • Method Details

    • init

      @ApiRateLimiter(value=1.0, timeout=1) @PostMapping("/init") public org.springframework.http.ResponseEntity<?> init(@RequestBody VisitorRequest request, jakarta.servlet.http.HttpServletRequest httpRequest)
    • requestThread

      @PostMapping("/thread") public org.springframework.http.ResponseEntity<?> requestThread(@RequestBody VisitorRequest request, jakarta.servlet.http.HttpServletRequest httpRequest)
    • requestMessageMetadata

      @PostMapping("/thread/message/meta") public org.springframework.http.ResponseEntity<?> requestMessageMetadata(@RequestBody ThreadRequest request)
      访客发送消息前,先从服务端申请消息元信息
    • ping

      @GetMapping("/ping") public org.springframework.http.ResponseEntity<?> ping(MessageUnreadRequest request)
    • queryByThreadTopic

      @GetMapping("/message/thread/topic") public org.springframework.http.ResponseEntity<?> queryByThreadTopic(MessageRequest request)
      根据主题查询消息
      Parameters:
      request - 查询请求
      Returns:
      分页消息列表
    • queryByThreadUid

      @GetMapping("/message/thread/uid") public org.springframework.http.ResponseEntity<?> queryByThreadUid(MessageRequest request)
      根据会话UID查询消息
      Parameters:
      request - 查询请求
      Returns:
      分页消息列表
    • getMessageUnread

      @GetMapping("/message/unread") public org.springframework.http.ResponseEntity<?> getMessageUnread(MessageUnreadRequest request)
    • getMessageUnreadCount

      @GetMapping("/message/unread/count") public org.springframework.http.ResponseEntity<?> getMessageUnreadCount(MessageUnreadRequest request)
    • closeThread

      @PostMapping("/thread/close") public org.springframework.http.ResponseEntity<?> closeThread(@RequestBody ThreadRequest request)
      访客主动关闭当前会话(按topic或uid),支持传closeType=VISITOR
    • queryCloseType

      @GetMapping("/thread/report/close-type") public org.springframework.http.ResponseEntity<?> queryCloseType(@RequestParam(value="start",required=false) Long startEpoch, @RequestParam(value="end",required=false) Long endEpoch)
      关闭来源分布报表(按 updatedAt 时间范围统计)
    • clearMessageUnread

      @PostMapping("/message/unread/clear") public org.springframework.http.ResponseEntity<?> clearMessageUnread(@RequestBody MessageUnreadRequest request)
    • queryVisitorThreads

      @GetMapping("/threads") public org.springframework.http.ResponseEntity<?> queryVisitorThreads(ThreadRequest request)
      根据访客UID分页查询其会话列表
      Parameters:
      visitorUid - 访客UID
      page - 页码(从0开始)
      size - 每页大小
      Returns:
      分页会话列表
    • sendRestMessage

      @VisitorAnnotation(title="visitor", action="sendRestMessage", description="sendRestMessage") @PostMapping("/message/send") public org.springframework.http.ResponseEntity<?> sendRestMessage(@RequestBody Map<String,String> map)
    • sendSseMemberMessage

      @TabooJsonFilter(title="\u654f\u611f\u8bcd", action="sendSseMemberMessage") @VisitorAnnotation(title="visitor", action="sendSseMemberMessage", description="sendSseMemberMessage") @GetMapping(value="/member/message/sse", produces="text/event-stream") public org.springframework.web.servlet.mvc.method.annotation.SseEmitter sendSseMemberMessage(@RequestParam("message") String message)
    • sendSseVisitorMessage

      @BlackIpFilter(title="black", action="sendSseVisitorMessage") @BlackUserFilter(title="black", action="sendSseVisitorMessage") @TabooJsonFilter(title="\u654f\u611f\u8bcd", action="sendSseVisitorMessage") @VisitorAnnotation(title="visitor", action="sendSseVisitorMessage", description="sendSseVisitorMessage") @GetMapping(value="/message/sse", produces="text/event-stream") public org.springframework.web.servlet.mvc.method.annotation.SseEmitter sendSseVisitorMessage(@RequestParam("message") String message)
    • sendSyncVisitorMessage

      @BlackIpFilter(title="black", action="sync") @BlackUserFilter(title="black", action="sync") @TabooJsonFilter(title="\u654f\u611f\u8bcd", action="sync") @ApiRateLimiter(value=10.0, timeout=1) @VisitorAnnotation(title="visitor", action="sync", description="sync visitor message") @PostMapping("/message/sync") public org.springframework.http.ResponseEntity<?> sendSyncVisitorMessage(@RequestBody Map<String,String> map)
    • destroy

      public void destroy()