Search Results for

    Show / Hide Table of Contents

    函数返回值

    函数的返回值,可以用于自定回复消息内容或状态跳转等。 在多轮对话中,回复除纯文本外,还可以支持多媒体消息,这样用户交互的体验更佳。不同消息的类型还需要渠道能够兼容,或在业务系统中进行适配。已经默认完成适配的渠道或软件:

    • Chatopera H5 聊天控件
    • 春松客服
    • 多轮对话设计器

    列表消息

    函数返回值中,params数组中每个元素约定如下:

    // 问候语中关联常见问题
    exports.getGreetings = async function() {
        return {
            text: "请问有什么可以帮到您?",
            params: [{
                label: "1. 产品列表",
                type: "qlist",
                text: "产品列表"
            }, {
                label: "2. 当季热销产品",
                type: "qlist",
                text: "当季热销产品"
            }, {
                label: "3. 退换货咨询",
                type: "qlist",
                text: "退换货咨询"
            }]
        };
    }
    

    其中,label是显示文字,type为固定值qlist,text 是点击该问题时发送给机器人的文本内容。

    按钮消息

    // 按钮选择消息
    exports.get_products = async function() {
        return {
            text: "您对下面哪个产品感兴趣",
            params: [{
                    label: "上衣",
                    type: "button",
                    text: "介绍一下上衣"
                },
                {
                    label: "服装",
                    type: "button",
                    text: "介绍一下鞋帽"
                }
            ]
        }
    }
    

    类似图文消息,不同的是:1)type值为button;2)业务上一般会设定一组按钮消息只能有一个按钮被点击一次。

    图文消息

    // 图文消息
    exports.get_shangyi = async function() {
        return {
            text: "{CLEAR} 图文消息",
            params: [{
                type: 'card',
                title: "秋冬上衣优选",
                thumbnail: "https://ss0.bdstatic.com/xx.jpg",
                summary: "秋冬上衣优选秋冬上衣优选秋",
                hyperlink: "https://www.1688.com/B6AC.html"
            }]
        }
    }
    

    此处,因为显示图文消息以包含文字,text需要使用固定值 {CLEAR} 图文消息,type为固定值 card;title,thumbnail,summary和hyperlink分别是图文消息的标题,缩略图,描述和超链接地址。

    提示: {CLEAR} 作为前缀代表机器人本轮清除多轮对话状态。

    自定义业务字段

    从以上的消息形式的实现,就是借助函数返回值中 params 这个属性,在实现聊天机器人时,函数中可在 params 自定义的业务字段,都会被 SDK/API 返回。

    // 自定义业务字段
    exports.get_shangyi = async function() {
        return {
            text: "以帮助您下单了。",
            params: {
                orderId: "BIL-001"
            }
        }
    }
    

    通常是在业务系统内,使用业务字段完成更多工作。

    In This Article
    Back to top Copyright © (2018-CopyrightYearPlaceholderDONOTCHANGEManually) 北京华夏春松科技有限公司 京ICP备20023756号-3