关键流程(时序图)

快速阅读

调用操作后,先收到该操作的响应,再收到后续流程事件。下面四张图只覆盖预览外呼、咨询、咨询三方、咨询转接。

  • 参与者:SDK、WS(WebSocket)、SVC(后端)。
  • 响应名以 Resp 结尾。code=0 后才有后续流程事件;失败时通常没有后续流程事件。
  • 事件名、顺序和分支与集成约定一致。渲染依赖 Mermaid。

阅读地图

  • 预览外呼:读「二」。
  • 咨询、三方、咨询转接:读「三」「四」「五」。
  • 方法参数见 API(操作),载荷见 事件。

一、文档说明

本文用时序说明「操作 + 事件」的到达顺序,便于座席工作台集成时先处理 Promise 响应,再处理流程事件。

二、预览外呼(previewObCall)

包含:

  • 操作响应:previewObCallResp
  • 流程事件:previewObCallResult / previewObCallStart / previewObCallRinging / previewObCallBridge
sequenceDiagram
    participant SDK
    participant WS
    participant SVC
    SDK->>WS: previewObCall(params)
    WS->>SVC: 转发 previewObCall
    SVC-->>WS: previewObCallResp 响应码
    WS-->>SDK: previewObCallResp
    alt code=0
        SVC-->>WS: previewObCallResult 结果
        WS-->>SDK: previewObCallResult
        SVC-->>WS: previewObCallStart 开始呼叫客户
        WS-->>SDK: previewObCallStart
        SVC-->>WS: previewObCallRinging 客户振铃
        WS-->>SDK: previewObCallRinging
        SVC-->>WS: previewObCallBridge 已接通
        WS-->>SDK: previewObCallBridge
    else code!=0
        Note right of SDK: 失败时通常没有后续流程事件
    end

三、咨询(startAtxfer)

包含:

  • 操作响应:startAtxferResp
  • 流程事件:atxferStart / atxferLink / atxferEnded / atxferError
sequenceDiagram
    participant SDK
    participant WS
    participant SVC
    SDK->>WS: startAtxfer(params)
    WS->>SVC: 转发 startAtxfer(params)
    SVC-->>WS: startAtxferResp 响应码
    WS-->>SDK: startAtxferResp
    alt code=0
        SVC-->>WS: atxferStart 咨询开始
        WS-->>SDK: atxferStart
        SVC-->>WS: atxferLink 咨询已接通
        WS-->>SDK: atxferLink
        SVC-->>WS: atxferEnded 咨询结束
        WS-->>SDK: atxferEnded
    else code!=0
        Note right of SDK: 失败时通常没有后续流程事件
    end
    SVC-->>WS: atxferError 咨询失败
    WS-->>SDK: atxferError

四、咨询三方通话(threewayAtxfer)

包含:

  • 操作响应:threewayAtxferResp
  • 流程事件:threewayAtxferResult / atxferThreewayUnlink
sequenceDiagram
    participant SDK
    participant WS
    participant SVC
    SDK->>WS: threewayAtxfer(params)
    WS->>SVC: 转发 threewayAtxfer(params)
    SVC-->>WS: threewayAtxferResp 响应码
    WS-->>SDK: threewayAtxferResp
    alt code=0
        SVC-->>WS: threewayAtxferResult 三方结果
        WS-->>SDK: threewayAtxferResult
        SVC-->>WS: atxferThreewayUnlink 三方结束
        WS-->>SDK: atxferThreewayUnlink
    else code!=0
        Note right of SDK: 失败时通常没有后续流程事件
    end

五、咨询转接(completeAtxfer)

包含:

  • 操作响应:completeAtxferResp
  • 流程事件:completeAtxferResult
sequenceDiagram
    participant SDK
    participant WS
    participant SVC
    SDK->>WS: completeAtxfer(params)
    WS->>SVC: 转发 completeAtxfer(params)
    SVC-->>WS: completeAtxferResp 响应码
    WS-->>SDK: completeAtxferResp
    alt code=0
        SVC-->>WS: completeAtxferResult 咨询转接结果
        WS-->>SDK: completeAtxferResult
    else code!=0
        Note right of SDK: 失败时通常没有后续流程事件
    end

Did this page help you?