智能客服对话平台ICS

    业务系统对接

    本平台支持使用Webhook机制,对接机器人和客户业务系统。具体介绍如下:

    URL

    与webhook中配置的url一致。

    说明

    通过webhook server对接业务系统,对会话中的回答value及上下文变量context进行处理,完成业务咨询、业务办理等业务动作。 所有的接口要支持可重入,可根据query_id来判断,系统在请求超时后会重试一次。

    请求方式

    http post

    参数说明

    请求体说明

    参数 说明 类型 是否必需
    action 对话树中配置的action String 否,依配置情况而定。
    dialog_node_name 对话树中节点名称,从哪个节点调用的webhook。 String
    context 会话过程中的上下文变量 Json
    value 当前节点或问答中配置的value回复,如果webhook异常将返回配置的兜底回复话术,webhook正常返回的话这个配置的值就不使用,以webhook返回为准。 String 否,依配置情况而定 ,正常情况下返回的话术要么是webhook服务返回的value,要么是在节点中使用模版,通过拼装webhook服务返回的context来实现。
    session_id 会话id String 是,便于全链条复现对话,定位问题。
    query_id 请求id String 用于定位session中的request。全局唯一。
    Header Authorization 校验字段 String
    其它配置的headers

    context包含关键字段说明

    参数字段 说明 类型 是否必需
    conversation 当前会话历史记录 List

    list中的Map对象

    参数 说明 类型 是否必需
    query 请求文本 String
    answer 回复文本 String

    返回参数

    参数 说明 类型 是否必需
    errno 错误码 int
    msg 错误信息 string
    data json

    data

    参数 说明 类型 是否必需
    context 需要新增、更新的上下文变量,要清除的用“key”:null json 是,有一个必须的布尔型参数api_response_status,用来表示业务系统是否正常响应。
    value 需要返回的回答 String 否,如果返回了这个字段,将这个字段的值返回给用户。

    Authorization 生成方式

    public String basic(String userName, String password) {
        if (StringUtils.isEmpty(userName) && StringUtils.isEmpty(password)) {
                return null;
        }
        String usernameAndPassword = userName + ":" + password;
        byte[] bytes = usernameAndPassword.getBytes(Charset.forName("ISO-8859-1"));
        return "Basic " + Base64.getEncoder().encodeToString(bytes);
    }

    请求示例

    curl -XPOST 'https://api-aicp.baidu.com/api/v1/webhook' -d '{"context":{"location":"北京"},"action":"get_weather","dialog_node_name":"get_weather","session_id":"xxxxxxx","query_id":"xxxxxxxxx"}'

    返回结果

    {"code":200,"time":1515128855583,"msg":"ok","data":{"context":{"api_response_status":true},"value":"周五 01月05日 (实时:1℃),多云转晴,西风微风,3 ~ -6℃.周六,多云转阴,东北风微风,2 ~ -4℃.周日,阴转多云,西南风微风,3 ~ -4℃.周一,晴,西北风4-5级,2 ~ -6℃."}}

    上一篇
    运营管理
    下一篇
    会话机器人对接