网易七鱼 API
  1. 一触即达
网易七鱼 API
  • 概述
  • 通用说明
    • 数据校验
    • 通用错误码列表
    • 服务端登录
      • 服务端登录
      • 获取SDK接入地址
  • CRM 对接
    • 概述
    • 文档约定
    • 对接方式对比与建议
    • Appendix I 错误码
    • 轻量 CRM 对接
      • 概述
      • Web SDK 调用
      • iOS SDK 调用
      • Android SDK 调用
      • 参数说明
    • CRM 接口对接
      • 概述
      • 跨域访问
      • 接口认证方式
      • 访客身份识别
      • 自定义接口参数
      • 获取 token
      • 在线会话获取用户信息
      • 呼叫中心获取电话用户信息
      • 更新用户信息
      • 在线会话获取用户订单信息
      • 呼叫中心获取用户订单信息
      • 更新订单信息
    • 七鱼用户认证机制
      • 概述
      • 术语
      • 认证过程
      • 实施流程
      • 授权接口
      • 认证接口
      • 版本支持
      • 示例代码
      • 注意事项
  • iframe 对接
    • 展示效果
    • 展示区域
    • 参数配置
    • 样例
  • 客户管理
    • 客户信息变更事件
    • 客户标签
      • 概览
      • 获取客户标签信息
      • 修改客户标签
      • 批量修改客户标签
      • 客户标签变更事件
    • 客户导出
      • 概述
      • 接口鉴权
      • 接口示例
      • 接口访问步骤
    • 获取用户服务记录
      • 概述
      • 接口鉴权
      • 接口示例
    • 客户导入
  • 员工管理
    • 客服管理
      • 创建客服
      • 修改客服
      • 删除客服
      • 获取客服列表
      • 查询单个客服信息
    • 客服组管理
      • 创建客服组
      • 修改客服组
      • 删除客服组
      • 分配客服到客服组
      • 获取客服组列表
      • 获取客服组下员工列表
  • 在线系统
    • 接口消息
      • 概述
      • 调用流程
      • 调用说明
      • 数据校验
      • 设置接收事件地址
      • 常见错误码
    • 消息收发
      • 概述
      • 给七鱼发送消息-文本消息
      • 给七鱼发送消息-图片消息
      • 给七鱼发送消息-语音消息
      • 接收七鱼消息
      • 上传文件-MultiPart 方式
      • 上传文件-base64 方式
    • 事件
      • 请求分配客服
      • 客服组排队情况查询
      • 更新用户资料
      • 获取评价设置
      • 评价客服
      • 查询排队状态
      • 主动退出排队
      • 接收会话开始通知
      • 接收会话结束通知
      • 接收客服主动邀评通知
      • 接收用户进入排队通知
      • 接收用户离开排队通知
      • 会话结束推送会话数据
      • 接收会话变更信息通知
      • 接收会话质检事件通知
    • 消息推送
      • 消息推送-发送文本时
      • 消息推送-发送图片时
      • 消息推送-发送富文本时
    • 数据接口
      • 概述
      • 实时数据报表
      • 客服质量报表
      • 客服考勤报表
      • 客服考勤明细
      • 历史数据总览
      • 客服工作量报表
      • 客服满意度报表
    • 订单绩效对接
      • 概述
      • 数据同步流程
      • 接口鉴权
      • 订单属性
      • 示例
      • 上传订单信息接口
      • 订单绩效导出接口
    • 获取会话记录
      • 概述
      • 接口鉴权
      • 接口示例
      • 接口访问步骤
      • 接口地址
      • 字段说明
    • 商品、订单查询
      • 一、 业务流程说明
      • 二、访客端样式
      • 三、接口定义
    • 获取会话关联的用户信息
    • 行为轨迹
    • 微信模板消息
    • 获取咨询分类
    • 获取在线会话的服务小记记录
    • 更新会话服务小记
  • 呼叫系统
    • 呼叫时间对接
      • 概述
      • 数据校验
      • 调用说明
      • curl请求样例如下
      • 第三方接口需返回的数据的说明
      • 第三方接口样例
    • 外呼任务
      • 创建外呼任务
        • 概述
        • 分配到客服
        • 分配到客服组
        • 按客户关系分配
        • 按自定义的客户分配
        • 自动外呼任务
      • 补充自动外呼号码
      • 获取外呼任务详情
      • 获取外呼任务明细详情
      • 编辑手动外呼任务
      • 删除外呼任务号码
    • 服务记录
      • 获取服务记录模板
    • 数据接口
      • 呼叫总览数据
      • 呼叫坐席历史数据
      • 呼叫团队历史总览数据
    • 呼叫工具条
      • 概述
      • 初始化 SDK
      • SDK 事件
      • SDK 方法
      • 获取SDK接入地址
    • 外呼机器人
      • 外呼机器人事件对接
      • 获取机器人话术列表
      • 模糊搜索获取话术列表
      • 获取外呼拦截组配置列表
      • 获取所有可用外呼线路列表
      • 创建外呼机器人任务
      • 获取指定任务的话术中变量
      • 向外呼任务中导入客户
      • 从已呼客户列表重新添加到呼叫任务
      • 获取已经完成外呼的客户信息列表
      • 启动外呼任务
      • 暂停外呼任务
      • 终止外呼任务
      • 获取任务详情
  • 机器人
    • 服务先知-常见问题
    • 服务先知-快捷短语
    • 一触即达
      • 概述
      • 对接方式
      • 对接示例
      • Velocity语法赋值
      • 移动SDK接入指南
    • 知识库管理
      • 概述
      • 获取知识库的问题
      • 获取知识库的知识点
      • 通过分类名称获取当前分类下topN标准问
      • 通过标准问获取当前机器人默认答案
      • 通过常见问题模板id获取常见问题列表
      • 知识库分类查询接口
      • 获取问题列表
      • 获取问题详情信息
      • 删除问题
      • 添加问题
      • 更新问题
      • 更新问题规则答案
      • 更新问题忽略相似问接口
    • 会话评价
      • 概述
      • 获取机器人评价设置
      • 提交机器人会话评价
    • 统计接口
      • 概述
      • 获取机器人会话统计总揽数据
      • 转人工会话统计
    • 消息接口
      • 概述
      • 概念/名词解释
      • 接口通用说明
      • 对接场景示例
      • 会话类接口
        • 会话类接口
        • 创建机器人会话
        • 常见问题
        • 快捷短语
        • 输入联想
        • 获取机器人消息回复
        • 机器人回复消息评价
        • 机器人会话满意度评价
        • 关闭机器人会话
        • 文件上传
        • 机器人辅助人工客服
      • 获取机器人切换配置
      • 微信公众号切换机器人
      • 企业微信切换机器人
  • 工单系统
    • 概述
    • 接口鉴权
    • 接口协议
    • 错误码
    • 工单推送
      • 说明
      • 请求体说明
    • 工单自定义字段同步
      • 基本用法
    • 创建工单
    • 修改工单
    • 批量修改工单
    • 申领工单
    • 转交工单
    • 回复工单
    • 催单接口
    • 完结工单
    • 重新打开工单
    • 搜索工单
    • 获取工单详情
    • 获取工单日志列表
    • 获取工单过滤器列表
    • 获取过滤器下的工单数量
    • 获取过滤器下的工单
    • 获取工单关注人
    • 获取工单模板
    • 获取工单模板字段
    • 获取工单分类
  • 短信
    • 接口鉴权
    • 创建短信发送任务
    • 获取短信任务状态
  • 平台电商(Platform OpenAPI)
    • 接口鉴权
    • 接口协议
    • 获取会话记录
      • 概述
      • 接口鉴权
      • 接口示例
      • 接口访问步骤
      • 字段说明
    • 第三方登录
    • 创建商户
    • 修改商户
    • 启用商户
    • 停用商户
    • 修改商户密码
    • 获取商户列表
    • 获取商户信息
  1. 一触即达

对接示例

模板id说明SDK支持版本
01文本不限
02文本+按钮列表不限
drawer_list抽屉列表>=5.1.0
bubble_list气泡列表>=5.1.0
bubble_node_list气泡节点列表>=5.1.0
horizontal_sliding_list横滑卡片>=5.1.0

注:其他端不受版本限制

#示例 1:文本

在一触即达的流程中,根据企业在节点中设置的提取变量,结合企业接口地址,获取文本消息并填充到模板中,返回示例为:

{
  "code": 200,
  "desc": "success",
  "result": {
    "data": {
      "item_list": [
        {
          "item_type": 0,
          "label": "七鱼客服bot对接"
        },
        {
          "item_type": 1,
          "label": "<a href="http://qiyukf.netease.com/">七鱼客服</a>"
        }
      ]
    }
  }
}
  • 字段说明
参数类型必传说明
item_typeInt是文本类型,0-普通文本,1-富文本
labelString是文本内容
  • xml模板填充样式
<template id="01">
    #if(${data.item_list} && ${data.item_list.size()} > 0)
        #foreach($item in $!{data.item_list})
            <LinearLayout>
               #if($!{item.item_type} == 0)
                   <text name="label">$!{item.label}</text>
               #else
                   <richText name="label">$!{item.label}</richText>
               #end
            </LinearLayout>
        #end
    #end
</template>

#示例 2:文本+按钮列表

本模板为文本模板升级版,支持文本+按钮列表的样式。在一触即达的流程中,根据企业在节点中设置的提取变量,结合企业接口地址,获取文本消息并填充到模板中,返回示例为:

{
  "code": 200,
  "desc": "success",
  "result": {
    "data": {
      "introducer": "引导语",
      "item_list": [
        {
          "item_type": "0",
          "label": "按钮1",
          "params": "orderNo=0"
        },
        {
          "item_type": "1",
          "label": "按钮2",
          "target": "http://qiyukf.netease.com",
          "params": "orderNo=0"
        }
      ]
    }
  }
}
  • 字段说明
参数类型必传说明
introducerString否引导语文案
item_listArray是按钮列表
  • 按钮字段说明
参数类型必传说明
item_typeInt是按钮类型,0-跳转至下一个节点,1-跳转至外部链接
labelString是按钮文案
paramsString否点击item跳转时携带的参数
targetString否跳转至下一个节点时可不传target,跳转至外部链接时需配置链接地址
  • xml模板填充样式
<template id="02">
    <LinearLayout>
        <text name="label">$!{data.introducer}</text>
    </LinearLayout>

    #if(${data.item_list} && ${data.item_list.size()} > 0)
        #foreach(${item} in $!{data.item_list})
            #if($!{item.item_type} == 0)
                <LinearLayout>
                    <link type="block" style="button" target="${xml_nfid_block_1}" params="$!{item.params}">
                        <text name="label">$!{item.label}</text>
                    </link>
                </LinearLayout>
            #else
                <LinearLayout>
                    <link type="url" style="button" target="$!{item.target}" params="$!{item.params}">
                        <text name="label">$!{item.label}</text>
                    </link>
                </LinearLayout>
            #end
        #end
    #end
</template>

#示例 3:抽屉列表

抽屉列表可以用于展示订单列表或商品列表,支持展示图文内容,也支持仅展示文字内容,样式如图:

抽屉列表示例1

如果需要返回抽屉列表内容,企业需要在一触即达查询节点内配置接口,并加入固定入参tabId,currentPage(代表当前要请求第几页),pageSize(代表每页的大小是多少)。拉取抽屉列表时,七鱼调用企业服务器,例如:tabId=1,currentPage=1,pageSize=5,代表拉取第1个分组的第1页共5条数据(注意:若params包含的参数为空,默认拉取第1个分组的第1页共5条数据,即相当于tabId=1,currentPage=1,pageSize=5)。企业可以自定义pageSize,默认值为5,最大不超过10。tabId和currentPage可以根据访客的点选动态赋值。在一触即达查询节点中的配置如下:

查询节点配置

result返回值为企业订单列表的JSON数组,返回示例:

{
  "code": 200,
  "desc": "success",
  "result": {
    "data": {
      "tab_id": 1,
      "current_page": 1,
      "page_size": 5,
      "introducer": "请选择您想咨询的订单",
      "banner": "选择咨询的订单",
      "empty_list_hint": "无数据返回提示文案aaa",
      "tab1":{
        "name": "分组1",
        "item_list": [
          {
            "item_type": "1",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "考拉海购",
            "sub_title": "卖家已发货"
          },
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克777",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"

          },
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克888",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"

          },
          {
            "item_type": "1",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "网易严选",
            "sub_title": "卖家已发货"
          },
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克999",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"

          },
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克000",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"
          }
        ]
      },
      "tab2":{
        "name": "分组2",
        "item_list": []
      },
      "tab3":{
        "name": "分组3",
        "item_list": []
      },
      "tab4":{
        "name": "分组4",
        "item_list": []
      }
    }
  }
}
  • 字段说明

抽屉列表示例

参数类型必传说明
tab_idInt是当前列表分组id,从params中获取,若params为空,默认为1
current_pageInt是当前页,从params中获取,若params为空,默认为1
page_sizeInt是每页数据条数,从params中获取,若params为空,默认为5,最多不超过10条
introducerString是引导语,不可为空值
bannerString否提示语
empty_list_hintString是无数据返回提示文案,不可为空值
tab1Object是列表分组1,对应分组id为1
tab2Object否列表分组2,对应分组id为2
tab3Object否列表分组3,对应分组id为3
tab4Object否列表分组4,对应分组id为4

列表分组tab格式说明:

参数类型必传说明
nameString否列表分组名称,如果不传则不展示该行内容
item_listArray是列表分组中item分组数据和item详细数据

item分组数据(item_type=1)格式说明:

参数类型必须说明
item_typeString是值固定为1
imgString否缩略图地址
titleString否标题,可以为空
sub_titleString否副标题

item详细数据(item_type=0)格式说明:

参数类型必须说明
item_typeString是值固定为0
imgString否缩略图地址
titleString否标题
sub_titleString否副标题
attr_1String否属性1
attr_2String否属性2
attr_3String否属性3
paramsString否点击item跳转时携带的参数
targetString否点击item的跳转目标地址或目标节点,若仅展示列表内容可以为空

注意事项:

<1> 为了降低企业对接难度和简化分页处理,item分组与item采用混排平铺的方式实现分组效果,item分组被当做一个特殊的item,两者的区别是item_type不同

<2> 抽屉列表要求至少包含一个列表分组,即tab1。当包含多个分组时,每次返回结果只需包含当前请求分组的item_list字段,但是需要填充其他分组的name字段。例如存在3个列表分组的情况下,在请求分组1的数据时,除了要填充tab1.name,tab1.item_list外,还需要填充tab2.name,tab3.name。

  • xml模板填充样式
<template id="drawer_list">
    <LinearLayout>
        <text name="label">$!{data.introducer}</text>
        <text name="empty_list_hint">$!{data.empty_list_hint}</text>
        <text name="tab_id">$!{data.tab_id}</text>
        <text name="title">$!{data.banner}</text>
    </LinearLayout>

    <group>
        <tab>
            <text name="tab_name">$!{data.tab1.name}</text>
        </tab>
        #if(1 == ${data.tab_id} && ${data.tab1.item_list} && ${data.tab1.item_list.size()} > 0)
            #foreach(${item} in $!{data.tab1.item_list})
                <LinearLayout>
                    <text name="p_item_type">$!{item.item_type}</text>
                    <link type="block" style="button" target="${xml_nfid_block_1}" params="$!{item.params}">
                        <image name="p_img" url="$!{item.img}"/>
                        <text name="p_title">$!{item.title}</text>
                        <text name="p_sub_title">$!{item.sub_title}</text>
                        <text name="p_attr_1">$!{item.attr_1}</text>
                        <text name="p_attr_2">$!{item.attr_2}</text>
                        <text name="p_attr_3">$!{item.attr_3}</text>
                    </link>
                </LinearLayout>
            #end
        #end

        #if(1 == ${data.tab_id})
            #set($page_1 = ${data.current_page} + 1)
        #else
            #set($page_1 = 1)
        #end

        <action>
            <link type="block" style="button" target="${xml_nfid_block_self}" params="tabId=1&currentPage=$!{page_1}&pageSize=5" >
                <text name="label">查看更多</text>
            </link>
        </action>
    </group>

    <group>
        <tab>
            <text name="tab_name">$!{data.tab2.name}</text>
        </tab>
        #if(2 == ${data.tab_id} && ${data.tab2.item_list} && ${data.tab2.item_list.size()} > 0)
            #foreach(${item} in $!{data.tab2.item_list})
                <LinearLayout>
                    <text name="p_item_type">$!{item.item_type}</text>
                    <link type="block" style="button" target="${xml_nfid_block_2}" params="$!{item.params}">
                        <image name="p_img" url="$!{item.img}"/>
                        <text name="p_title">$!{item.title}</text>
                        <text name="p_sub_title">$!{item.sub_title}</text>
                        <text name="p_attr_1">$!{item.attr_1}</text>
                        <text name="p_attr_2">$!{item.attr_2}</text>
                        <text name="p_attr_3">$!{item.attr_3}</text>
                    </link>
                </LinearLayout>
            #end
        #end

        #if(2 == ${data.tab_id})
            #set($page_2 = ${data.current_page} + 1)
        #else
            #set($page_2 = 1)
        #end

        <action>
            <link type="block" style="button" target="${xml_nfid_block_self}" params="tabId=2&currentPage=$!{page_2}&pageSize=5" >
                <text name="label">查看更多</text>
            </link>
        </action>
    </group>

    <group>
        <tab>
            <text name="tab_name">$!{data.tab3.name}</text>
        </tab>
        #if(3 == ${data.tab_id} && ${data.tab3.item_list} && ${data.tab3.item_list.size()} > 0)
            #foreach(${item} in $!{data.tab3.item_list})
                <LinearLayout>
                    <text name="p_item_type">$!{item.item_type}</text>
                    <link type="display" style="button" >
                    <image name="p_img" url="$!{item.img}"/>
                    <text name="p_title">$!{item.title}</text>
                    <text name="p_sub_title">$!{item.sub_title}</text>
                    <text name="p_attr_1">$!{item.attr_1}</text>
                    <text name="p_attr_2">$!{item.attr_2}</text>
                    <text name="p_attr_3">$!{item.attr_3}</text>
                    </link>
                </LinearLayout>
            #end
        #end

        #if(3 == ${data.tab_id})
            #set($page_3 = ${data.current_page} + 1)
        #else
            #set($page_3 = 1)
        #end


        <action>
            <link type="block" style="button" target="${xml_nfid_block_self}" params="tabId=3&currentPage=$!{page_3}&pageSize=5" >
                <text name="label">查看更多</text>
            </link>
        </action>
    </group>

    <group>
        <tab>
            <text name="tab_name">$!{data.tab4.name}</text>
        </tab>
        #if(4 == ${data.tab_id} && ${data.tab4.item_list} && ${data.tab4.item_list.size()} > 0)
            #foreach(${item} in $!{data.tab4.item_list})
                <LinearLayout>
                    <text name="p_item_type">$!{item.item_type}</text>
                    <link type="url" style="button" target="$!{item.target}" params="$!{item.params}">
                    <image name="p_img" url="$!{item.img}"/>
                    <text name="p_title">$!{item.title}</text>
                    <text name="p_sub_title">$!{item.sub_title}</text>
                    <text name="p_attr_1">$!{item.attr_1}</text>
                    <text name="p_attr_2">$!{item.attr_2}</text>
                    <text name="p_attr_3">$!{item.attr_3}</text>
                    </link>
                </LinearLayout>
            #end
        #end

        #if(4 == ${data.tab_id})
            #set($page_4 = ${data.current_page} + 1)
        #else
            #set($page_4 = 1)
        #end

        <action>
            <link type="block" style="button" target="${xml_nfid_block_self}" params="tabId=4&currentPage=$!{page_4}&pageSize=5" >
                <text name="label">查看更多</text>
            </link>
        </action>
    </group>

</template>

#示例 4:气泡列表

气泡列表可以用于展示订单列表或商品列表,支持展示图文内容,也支持仅展示文字内容,样式如图:

气泡列表示例

如果需要返回气泡列表内容,企业需要在一触即达查询节点内配置接口,并加入固定入参currentPage,pageSize。拉取列表时,七鱼调用企业服务器,例如:currentPage=1,pageSize=5,代表拉取第1页共5条数据(注意:若params包含的参数为空,默认拉取的第1页共5条数据,即相当于currentPage=1,pageSize=5)。企业可以自定义pageSize,默认值为5,最大不超过10。currentPage可以根据访客的点选动态赋值。一触即达查询节点的配置请参看上文抽屉列表示例部分。

result返回值为企业订单列表的JSON数组,返回示例:

{
  "code": 200,
  "desc": "success",
  "result": {
    "data": {
      "current_page": 1,
      "page_size": 5,
      "introducer": "请选择您想咨询的订单",
      "banner": "选择咨询的订单",
      "empty_list_hint": "无数据返回提示文案aaa",
      "tab1":{
        "item_list": [
          {
            "item_type": "1",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "item分组",
            "sub_title": "卖家已发货"
          },
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克777",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"

          },
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克888",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"

          },
          {
            "item_type": "1",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "item分组",
            "sub_title": "卖家已发货"
          },
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克999",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"

          },
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克000",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"
          }
        ]
      }
    }
  }
}
  • 字段说明

气泡列表示例

参数类型必传说明
current_pageInt是当前页,从params中获取,若params为空,默认为1
page_sizeInt是每页数据条数,从params中获取,若params为空,默认为5,最多不超过10条
introducerString是引导语,不可为空值
bannerString否提示语
empty_list_hintString是无数据返回提示文案,不可为空值
tab1Object是列表分组,气泡列表仅支持一个列表分组

列表分组格式说明:

参数类型必传说明
item_listArray是列表分组中item分组数据和item详细数据

item分组数据(item_type=1)格式说明:

参数类型必须说明
item_typeString是值固定为1
imgString否缩略图地址
titleString否标题,可以为空
sub_titleString否副标题

item详细数据(item_type=0)格式说明:

参数类型必须说明
item_typeString是值固定为0
imgString否缩略图地址
titleString否标题
sub_titleString否副标题
attr_1String否属性1
attr_2String否属性2
attr_3String否属性3
paramsString否点击item跳转时携带的参数
targetString否点击item的跳转目标地址或目标节点,若仅展示列表内容可以为空
  • xml模板填充样式
<template id="bubble_list">
    <LinearLayout>
        <text name="label">$!{data.introducer}</text>
        <text name="empty_list_hint">$!{data.empty_list_hint}</text>
        <text name="title">$!{data.banner}</text>
    </LinearLayout>

    <group>
        #if(${data.tab1.item_list} && ${data.tab1.item_list.size()} > 0)
            #foreach(${item} in $!{data.tab1.item_list})
                <LinearLayout>
                    <text name="p_item_type">$!{item.item_type}</text>
                    <link type="block" style="button" target="${xml_nfid_block_1}" params="$!{item.params}">
                        <image name="p_img" url="$!{item.img}"/>
                        <text name="p_title">$!{item.title}</text>
                        <text name="p_sub_title">$!{item.sub_title}</text>
                        <text name="p_attr_1">$!{item.attr_1}</text>
                        <text name="p_attr_2">$!{item.attr_2}</text>
                        <text name="p_attr_3">$!{item.attr_3}</text>
                    </link>
                </LinearLayout>
            #end
        #end

        #set($page = ${data.current_page} + 1)
        <action>
            <link type="block" style="button" target="${xml_nfid_block_self}" params="currentPage=$!{page}&pageSize=5" >
            <text name="label">查看更多</text>
            </link>
        </action>
    </group>

</template>

#示例 5:横滑卡片列表

横滑卡片列表可以用于展示商品列表,支持展示图文内容,样式如下:

横滑卡片示例

如果需要返回横滑卡片列表内容,企业需要在一触即达查询节点内配置接口,并加入固定入参currentPage,pageSize。拉取列表时,七鱼调用企业服务器,例如:currentPage=1,pageSize=5,代表拉取第1页共5条数据(注意:若params包含的参数为空,默认拉取的第1页共5条数据,即相当于currentPage=1,pageSize=5)。企业可以自定义pageSize,默认值为5,最大不超过10。currentPage可以根据访客的点选动态赋值。一触即达查询节点的配置请参看上文抽屉列表示例部分。

result返回值为企业订单列表的JSON数组,返回示例:

{
  "code": 200,
  "desc": "success",
  "result": {
    "data": {
      "current_page": 1,
      "page_size": 5,
      "introducer": "引导语aaa",
      "empty_list_hint": "无数据返回提示文案aaa",
      "tab1":{
        "item_list": [
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克777",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"

          },
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克888",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"

          },
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/TB2Zo._a5GO.eBjSZFjXXcU9FXa_!!2228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"

          },
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克999",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"

          },
          {
            "item_type": "0",
            "img": "https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg",
            "title": "1ZARA 女装 加大码飞行员夹克000",
            "sub_title": "1ZARA 女装 加大码飞行员夹克",
            "attr_1": "100",
            "attr_2": "100",
            "attr_3": "100",
            "target": "http://www.baidu.com",
            "params": "orderNo=0"
          }
        ]
      }
    }
  }
}
  • 字段说明

横滑卡片示例

参数类型必传说明
current_pageInt是当前页,从params中获取,若params为空,默认为1
page_sizeInt是每页数据条数,从params中获取,若params为空,默认为5,最多不超过5条
introducerString是引导语,不可为空值
empty_list_hintString是无数据返回提示文案,不可为空值
tab1Object是列表分组,横滑卡片列表仅支持一个列表分组

列表分组格式说明:

参数类型必传说明
item_listArray是列表分组中的item详细数据

item分组数据(item_type=1)格式说明:

参数类型必须说明
item_typeString是值固定为1
imgString否缩略图地址
titleString否标题,可以为空

item详细数据(item_type=0)格式说明:

参数类型必须说明
item_typeString是值固定为0
imgString否缩略图地址
titleString否标题
sub_titleString否副标题
attr_1String否属性1
attr_2String否属性2
attr_3String否属性3
paramsString否点击item跳转时携带的参数
targetString否点击item的跳转目标地址或目标节点,若仅展示列表内容可以为空

注意事项:

<1> 横滑卡片的数据填充企业可以按两种模式处理:一种是传统的分页模式,此时currentPage代表页码;一种是随机模式,此时currentPage代表轮次,可以随机返回item。企业可以根据不同场景选择合适的模式。

  • xml模板填充样式
<template id="horizontal_sliding_list">
    <LinearLayout>
        <text name="label">$!{data.introducer}</text>
        <text name="empty_list_hint">$!{data.empty_list_hint}</text>
    </LinearLayout>

    #if(${data.tab1.item_list} && ${data.tab1.item_list.size()} > 0)
        #foreach(${item} in $!{data.tab1.item_list})
            <LinearLayout>
                <link type="block" style="button" target="${xml_nfid_block_1}" params="$!{item.params}">
                <image name="p_img" url="$!{item.img}"/>
                <text name="p_title">$!{item.title}</text>
                <text name="p_sub_title">$!{item.sub_title}</text>
                <text name="p_attr_1">$!{item.attr_1}</text>
                <text name="p_attr_2">$!{item.attr_2}</text>
                <text name="p_attr_3">$!{item.attr_3}</text>
                </link>
            </LinearLayout>
        #end
    #end

    #set($page = ${data.current_page} + 1)
    <action>
        <link type="block" style="button" target="${xml_nfid_block_self}" params="currentPage=$!{page}&pageSize=5" >
        <text name="label">换一批</text>
        </link>
    </action>

</template>

#示例 6:气泡节点列表

气泡节点列表可以实现类似时间轴列表的效果,可以用于展示物流信息,企业也可以根据自己的需求灵活定制,样式如下:

气泡节点列表示例

拉取气泡节点列表时,七鱼调用企业服务器,目前不用在一触即达查询节点的接口配置中设置固定入参。result返回值为订单列表的JSON数组,返回示例为:

{
  "code": 200,
  "desc": "success",
  "result": {
    "data":
    {
      "introducer": "引导语",
      "empty_list_hint": "无数据返回提示文案",
      "banner": "标题",
      "footer": "查看更多",
      "target": "https://qiyukf.com",
      "item_list": [
        {
          "title": "业务员二片区岸上蓝山正在第1次派件",
          "desc": "2017-05-17 18:01:38",
          "is_current": "1"
        },
        {
          "title": "业务员二片区岸上蓝山正在第2次派件",
          "desc": "2017-05-17 18:01:38",
          "is_current": "0"
        },
        {
          "title": "业务员二片区岸上蓝山正在第3次派件",
          "desc": "2017-05-17 18:01:38",
          "is_current": "0"
        },
        {
          "title": "业务员二片区岸上蓝山正在第4次派件",
          "desc": "2017-05-17 18:01:38",
          "is_current": "0"
        },
        {
          "title": "业务员二片区岸上蓝山正在第5次派件",
          "desc": "2017-05-17 18:01:38",
          "is_current": "0"
        },
        {
          "title": "业务员二片区岸上蓝山正在第6次派件",
          "desc": "2017-05-17 18:01:38",
          "is_current": "0"
        },
        {
          "title": "业务员二片区岸上蓝山正在第7次派件",
          "desc": "2017-05-17 18:01:38",
          "is_current": "0"
        }
      ]
    }
  }
}
  • 字段说明

气泡节点列表示例

参数类型必传说明
introducerString是引导语,不可为空值
bannerString否标题
footerString否自定义底部按钮的提示语,默认“查看更多”
targetString否如果底部按钮的跳转事件设置为跳转到外链,此处传入外链的链接地址
empty_list_hintString是无数据返回提示文案,不可为空值
item_listArray是列表

item数据格式说明:

参数类型必须说明
titleString否标题
descString否描述
is_currentString是是否停留在当前节点:1-是 0-否
  • xml模板填充样式
<template id="bubble_node_list">
    <LinearLayout>
        <text name="label">$!{data.introducer}</text>
        <text name="empty_list_hint">$!{data.empty_list_hint}</text>
        <text name="title">$!{data.banner}</text>
    </LinearLayout>

    <LinearLayout>
        <text name="label">$!{data.title}</text>
    </LinearLayout>

    #if(${data.item_list} && ${data.item_list.size()} > 0)
        #foreach($item in $!{data.item_list})
            <LinearLayout>
                <text name="p_title">$!{item.title}</text>
                <text name="p_desc">$!{item.desc}</text>
                <text name="p_is_current">$!{item.is_current}</text>
            </LinearLayout>
        #end
        </LinearLayout>
    #end

    <action>
        <link type="url" style="button" target="$!{data.target}"">
            <text name=\"label\">${data.footer}</text>
        </link>
    </action>
</template>

【网易七鱼】API开发者 微信交流群

用微信扫右侧二维码,加入【网易七鱼】API开发者 交流群,互助沟通

扫码加入交流群
修改于 2022-01-25 06:30:08
上一页
对接方式
下一页
Velocity语法赋值
Built with