NAV Navbar
  • 介绍
  • 开发引导
  • 公司信息接口
  • 任务操作接口
  • 任务信息查询接口
  • 信息回调接口
  • 介绍

    百应机器人API文档

    这是百应机器人API文档,具体详情查看每个API接口调用说明;

    如果有问题,欢迎联系我们客服,技术支持

    公司官网地址 :www.byai.com/

    开发引导

    调用说明

    调用方式说明:

    第一种方式:主动调用
    这种调用方式是客户主动调用接口获取数据或实现功能; 主动调用需要传入APP_KEY和APP_SECRET用于权限校验; 注意:APP_KEY和APP_SECRET 的获取请参考 “AppKey和回调地址” 章节的说明。

    第二种方式:方法回调
    这种调用方式是当达到预设条件如:任务状态变更或通话结束时,由百应主动向指定地址发送信息;

    注意:回调地址配置请参考 “AppKey和回调地址” 章节的说明

    百应机器人API是使用HTTP并遵循REST风格设计的Web服务接口;

    您可以使用几乎任何客户端和任何编程语言与REST API进行交互。

    通过发送简单的HTTP请求就可以轻松接入使用。

    认证

    认证密钥样例

      APP_KEY = "WtSMaXXXXXXXXtvy";
      APP_SECRET = "aXSFnnZbHXXXXXXXXXXXXXXXMguz1Q";    
    

    API认证采用HMACSha1加密算法进行加密,使用GMT时间戳、APP_KEY、APP_SECRET共同生成一个密钥。

    目前已有完整JAVA版的demo,具体实现请下载DEMO查阅。 Python版demo目前包含签名算法和获取公司列表接口demo可供查阅。 Php版demo目前包含签名算法和get,post请求样例可供查阅。

    请在API样例byrobot-openapi-demo中替换为自己的APP_Key和APP_SECRET.

    百应为确保您的账户和信息安全,请在开发对接程序前联系百应技术支持注册接口调用专属密钥。

    统一请求格式

    URL格式:

    /{resource}/{function}

    说明:

    {resource}为资源名,通常对应一类API

    {function}为该资源提供的操作方法

    请求响应的结果为json格式

    比如查询公司列表的url为:

    <code>http://openapi/v1/company </code> 表示调用company(公司列表)的get方法,并且返回json格式的字符串。
    
    我们目前已经提供的接口,请参考API。 
    
    

    HTTP头信息:

    Accept:application/json;charset=utf-8

    说明:

    请求方式(Method):统一用POST方式 编码:UTF-8

    AppKey和回调地址

    App

    DEMO 下载

    本页面提供Java,Python,Php的Demo下载。

    SDK包内有部分使用说明,各接口的详细使用说明请浏览各API详情页。

    如百应未提供您使用语言的SDK,您可以根据API文档开发接口

    语言 GitHub地址
    JAVA [GitHub地址]
    Python [GitHub地址]
    PHP [GitHub地址]

    最佳实践流程图:

    Oms3

    常见问题解答

    流程说明

    第一部分:

    主要是获取公司相关信息,为创建任务提供数据。

    这里一共三个接口分别查询到:

    1.公司Id

    2.公司的主叫电话号码列表

    3.机器人话术相关参数:

    1)机器人Id(话术机器人Id)

    2) 场景Id(话术场景Id)

    3) 录音Id(话术场景录音Id)

    第二部分:

    核心业务部分,主要是任务的创建,启动,停止等操作。

    1.创建任务

    创建任务过程中需要传入的几个重要的值:场景id,录音id,机器人id,这三个值不能传入有误,传入出错会导致任务拨打有误

    2.任务启动和暂停

    任务创建完成之后,调用启动任务接口就可以启动任务,任务在启动时,可调用暂停任务让任务进入暂停状态(可再次运行)

    3.停止任务

    在任务进行中,每一次通话结束都会调用通话回调接口,将本次通话详情发送到指定回调地址。

    第三部分:

    任务运行结束,调用任务回调接口,将本次任务信息发送到指定回调地址。

    第四部分:

    主要是查询任务相关信息。

    枚举类型说明

    主叫号码(线路)类型枚举

    code desc
    0 手机号
    1 固话
    2 无主叫线路

    任务类型枚举

    code desc
    1 定时启动任务
    2 手动启动任务

    任务状态枚举

    code desc
    0 未开始
    1 进行中
    2 已完成
    3 可运行(任务启动过程的中间状态)
    4 用户暂停
    5 系统暂停(当“欠费、任务配置重拨没到拨打时间、线路或坐席不可用”时会出现这个状态)
    6 已终止
    7 排队中(AI坐席资源不够时进入排队,直到资源释放)
    8 AI到期(购买的saas服务到期)
    9 线路欠费(即用户账户余额不足时)
    10 短信欠费(短信余额不足,跟账户余额分开的)

    通话实例状态枚举

    code desc
    0 未开始
    1 进行中
    2 已完成

    已完成通话状态枚举(finishStatus,通话完成最终状态)

    code desc
    0 已接听
    1 拒接
    2 无法接通
    3 主叫号码不可用
    4 空号
    5 关机
    6 占线
    7 停机
    8 未接
    9 主叫欠费
    10 呼损
    11 黑名单
    22 线路盲区

    ResultModel对象模型

    字段 描述
    code 接口响应码, 200表示成功,更多响应码见以下“错误码信息”
    data API调用返回结果(若调用失败,则为null)
    resultMsg 响应信息提示
    errorStackTrace 错误调试跟踪信息,仅内部使用
    requestId 请求链路跟踪id,仅内部使用

    错误码信息

    错误码 错误信息
    200 执行成功
    401 校验数据错误
    404 资源未找到
    403 权限不足
    412 参数错误
    500 未知错误

    最近更新日志

    2018年7月23日

    1. 修改任务AI坐席数(任务并发数)
    2. 单次电话外呼接口

    更新说明:

    7月 - 新增接口如下: 1. 开放对外呼任务的AI坐席数(任务并发数)进行修改的接口支持,可更新任务状态为非进行中任务的AI坐席数(任务并发数) 2. 开放单次电话外呼接口,可以通过该接口进行单次的电话外呼 - 接口改动如下: 1. 获取已经完成任务电话号码接口查询每页不能超过50条

    7月28日 - 新增接口如下: 1. 开放通过客户手机号直接进行电话外呼的接口

    2018年11月

    11月 - 新增信息获取接口: 1.获取获取任务未开始的电话列表 - 接口改动 1.回调接口增加客户标签数据

    2018年12月13日

    2018年12月28日

    2019-01-07

    2019-02-19

    2019-02-19

    2019-03-20

    2019-04-02

    2019-05-09

    2019年6月27日

    2019年8月15日

    公司信息接口

    获取绑定公司列表接口

    功能说明:

    通过此接口可以获取用户isv下绑定所有的公司信息

    返回对象示例:

    {
        "code": 200,
        "data": [
            {
                "companyName": "百应1", 
                "companyId": 3813
            },
            {
                "companyName": "百应2", 
                "companyId": 2333
            }
        ],
        "resultMsg": "获取成功",
        "errorStackTrace": null 
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/company/getCompanys

    请求方法:

    GET

    请求参数:

    响应:

    参数名 类型 描述
    code int 响应码,详见“ResultModel对象模型”https://api.byrobot.cn/doc/v2/#6af18eb20f
    data list(String) 返回结果,详见“ResultModel对象模型”
    companyName String 公司名称
    companyId int 公司Id
    resultMsg String 响应提示,详见“ResultModel响应对象模型”
    errorStackTrace String 详见“ResultModel响应对象模型”

    获取公司的短信模版

    功能说明:

    通过接口可以获取指定公司的短信模版

    返回对象示例:

    {
        "data":{
            "pageNum":1,
            "pageSize":20,
            "size":20,
            "orderBy":null,
            "startRow":0,
            "endRow":19,
            "total":51,
            "pages":3,
            "list":[
                {
                    "smsTemplateId":1,
                    "companyId":1,
                    "name":"测试- 22",
                    "smsTemplateSignId":2004,
                    "type":1,
                    "content":"【浙江百应】亲爱的用户,您的包裹已经顺利清关",
                    "status":2,
                    "failReason":"百应人工审核通过",
                    "smsTemplateSignName":"浙江百应",
                    "gmtCreate":"2019-07-22 11:27:00",
                    "gmtModified":"2019-07-23 15:11:47"
                },
                {
                    "smsTemplateId":2,
                    "companyId":2,
                    "name":"测试",
                    "smsTemplateSignId":2087,
                    "type":4,
                    "content":"测试模版",
                    "status":2,
                    "failReason":"百应人工审核通过",
                    "smsTemplateSignName":"测试",
                    "gmtCreate":"2019-07-23 10:37:04",
                    "gmtModified":"2019-07-23 10:37:23"
                }
            ]
        },
        "code":200,
        "msg":"查询成功",
        "success":true
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/sms/template/list

    请求方法:

    GET

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司Id 1
    status int 审核状态:1-审核中, 2-审核通过, 3-审核未通过,不传表示查询所有 1
    pageNum int 页数 1
    pageSize int 每页大小 5

    响应:

    参数名 类型 描述
    code int 响应码,详见“ResultModel对象模型”,https://api.byrobot.cn/doc/v2/#6af18eb20f
    data list(String) 返回结果, 详见“ResultModel对象模型”
    smsTemplateId int 短信模版id
    companyId int 公司id
    name String 短信模版名称
    smsTemplateSignId int 模板签名id
    type int 短信类型:1-通知类, 2-营销类, 3-验证码, 4-金融类
    content String 短信模板内容
    status int 审核状态:1-审核中, 2-审核通过, 3-审核不通过
    failReason String 审核结果备注
    smsTemplateSignName String 模板签名名称
    gmtCreate Date 创建时间
    gmtModified Date 修改时间
    resultMsg String 错误信息,详见“ResultModel响应对象模型”说明
    errorStackTrace String 跟踪信息,详见“ResultModel响应对象模型”说明

    获取公司的主叫电话列表接口

    功能说明:

    通过接口可以获取指定公司的所有线路的列表 注意:

    1. 主叫号码列表的PhoneType字段标识外呼线路类型--需要对应新建任务接口的callType字段
    2. 文档中给出的是常用枚举类型,若特殊用户自用时出现其他枚举类型,只需要遵循注意点即可
    3. 不需要对不同主叫类型区分业务使用的情况下,建议对新建任务的callType做成根据主叫id对应的phoneType动态传入,不要写死字段值

    返回对象示例:

    {
        "code": 200,
        "data": [{
            "userPhoneId": 0,
            "callerAccountId": null,
            "phone": "1400xxxxxxx",
            "account": null,
            "phoneName": "xxxxx",
            "phoneType": 2,
            "available": true,
            "useAvailable": true,
            "totalConcurrencyQuota": 5,
            "usedConcurrencyQuota": 0,
            "billPeriod": 60,
            "validityBegin": "2018-07-24 00:00:00",
            "validityEnd": "2019-07-27 00:00:00",
            "sceneType": null,
        }, {
            "userPhoneId": 2,
            "callerAccountId": null,
            "phone": "150xxxxxxxx",
            "account": null,
            "phoneName": "2",
            "phoneType": 2,
            "available": true,
            "useAvailable": true,
            "totalConcurrencyQuota": 5,
            "usedConcurrencyQuota": 0,
            "billPeriod": 60,
            "validityBegin": "2018-07-24 00:00:00",
            "validityEnd": "2019-07-27 00:00:00",
            "sceneType": null,
        }],
        "resultMsg": "获取成功",
        "errorStackTrace": null
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/company/getPhones

    请求方法:

    GET

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司Id 3811

    响应:

    参数名 类型 描述
    userPhoneId int 主叫号码Id
    phone String 主叫号码
    phoneName String 主叫号码名称
    phoneType int 主叫号码类型,0:手机号;1:固话;2:无主叫线路
    available Boolean 无效字段,可忽略
    useAvailable Boolean 主叫号码是否可用,true可用,false不可用
    totalConcurrencyQuota int null表示总并发无限制,phoneType为手机号时有总并发限制,其他无限制
    usedConcurrencyQuota int 已经使用并发数
    billPeriod int 计费周期
    validityBegin Date 可用开始时间
    validityEnd Date 可用结束时间
    sceneType int 应用场景 1:呼入,2:呼出,3:呼入呼出
    resultMsg String 提示信息,详见“ResultModel对象模型”,https://api.byrobot.cn/doc/v2/#6af18eb20f
    errorStackTrace String 跟踪信息,详见“ResultModel对象模型”

    获取公司的机器人话术列表接口

    功能说明:

    通过接口可以获取指定公司的所有配置完成上线状态的机器人话术 注意:

    1. 本接口可获取 robotDefId:机器人id 等字段,在调用创建任务接口时会使用到

    返回对象示例:

    {
        "code": 200,
        "data": [{
            "robotDefId": 14,
            "robotName": "测试话术1",
            "sceneDefId": 34,
            "sceneRecords": [{
                "sceneRecordId": 34,
                "sceneRecordName": "测试场景录音"
            }],
            "industryOneName": "房产类",
            "industryTwoName": "高端住宅",
            "gmtModify": "2018-11-09 10:09:32"
        }, {
            "robotDefId": 38375,
            "robotName": "测试话术2",
            "sceneDefId": 38387,
            "sceneRecords": [{
                "sceneRecordId": 38383,
                "sceneRecordName": "测试录音"
            }],
            "industryOneName": "房产类",
            "industryTwoName": "装修",
            "gmtModify": "2018-11-29 09:06:43"
        }],
        "resultMsg": "获取成功",
        "errorStackTrace": null
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/company/getRobots

    请求方法:

    GET

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司Id 3811
    robotStatus int 0:所有话术,1:已上线话术,2:查询发布过的话术(包括已上线和上线后重新修改的话术),默认0 1

    响应:

    参数名 类型 描述
    code int 响应码,详见“ResultModel对象模型”,https://api.byrobot.cn/doc/v2/#6af18eb20f
    data list(String) 返回结果, 详见“ResultModel对象模型”
    robotDefId int 机器人Id,创建任务时会用到该ID
    robotName String 机器人名称
    sceneDefId int 场景Id
    sceneRecordId int 场景录音id
    sceneRecordName String 录音名称
    industryOneName String 一级行业名
    industryTwoName String 二级行业名
    gmtModify Date 修改时间
    resultMsg String 错误信息,详见“ResultModel响应对象模型”说明
    errorStackTrace String 跟踪信息,详见“ResultModel响应对象模型”说明

    获取公司AI坐席概况接口

    功能说明:

    通过接口可以获取公司所有的坐席以及已经使用的坐席数量。

    返回对象示例:

     {
      "code":200,
      "data":
       {
         "companyAllCallSeat":2,
         "companyUsingCallSeat":0
       },
      "resultMsg":"查询成功",
      "errorStackTrace":null,
      "requestId":null
     }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/company/seat/statistics

    请求方式:

    GET

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司id 1

    响应:

    参数名 类型 描述
    code int 响应码
    data Object 返回结果, 详见“ResultModel响应对象模型”说明
    companyAllCallSeat int 表示公司所有坐席数量
    companyUsingCallSeat int 全公司已使用坐席数量
    resultMsg String 响应信息,详见“ResultModel响应对象模型”说明
    errorStackTrace String 跟踪信息,详见“ResultModel响应对象模型”说明
    requestId String 跟踪信息id,详见“ResultModel响应对象模型”说明

    添加单个黑名单到公司默认黑名单组接口

    功能说明:

    通过接口可以导入单个黑名单信息到默认分组中

    返回对象示例:

    {
        "code": 200,
        "data": 3221,//黑名单id
        "resultMsg": "获取成功",
        "errorStackTrace": null
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/company/addBlackList

    请求方式:

    POST

    请求参数:

    参数名 类型 是否必须 描述 示例
    name string 客户姓名 测试用户
    mobile string 手机号 159xxxxxxxx
    remark string 备注 备注信息
    companyId int 公司Id 3811

    响应:

    参数名 类型 描述
    code int 响应码,详见“ResultModel响应模型”,https://api.byrobot.cn/doc/v2/#6af18eb20f
    data int 黑名单id
    resultMsg String 响应信息,详见“ResultModel对模型”
    errorStackTrace String 跟踪信息,详见“ResultModel对象模型”

    ##查询公司的黑名单分组列表接口

    ###功能说明:

    通过接口可以查询公司的黑名单分组列表

    返回对象示例:

     {
         "code":200,
         "data":[
             {
                 "blacklistInfoGroupId":-1,
                 "name":"默认分组",
                 "publicFlag":true,
                 "remark":""
             },
             {
                 "blacklistInfoGroupId":357,
                 "name":"黑名单1",
                 "publicFlag":false,
                 "remark":"test"
             },
             {
                 "blacklistInfoGroupId":356,
                 "name":"黑名单2",
                 "publicFlag":false,
                 "remark":"test"
             },
             {
                 "blacklistInfoGroupId":350,
                 "name":"黑名单3",
                 "publicFlag":false,
                 "remark":null
             }
         ],
         "resultMsg":"查询成功",
         "errorStackTrace":null,
         "requestId":null
     }
    
    

    ###请求:

    URL:http://api.byrobot.cn/openapi/v1/company/blacklist/group/list

    ###请求方式:

    GET

    ###请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司Id 1

    ###响应:

    参数名 类型 描述
    code int 响应码,详见“ResultModel响应对象模型”说明
    data list 返回数据
    blacklistInfoGroupId int 黑名单分组id,-1为默认分组
    name String 黑名单分组名称
    publicFlag boolean 是否公开
    remark string 备注

    查询公司的黑名单号码列表

    功能说明:

    通过接口可以分页查询公司的某个黑名单分组下的黑名单号码列表

    返回对象示例:

    {
        "code":200,
        "data":{
            "pageNum":1,
            "pageSize":20,
            "total":100,
            "list":[
                {
                    "blacklistInfoId":321693,
                    "name":"test99",
                    "mobile":"13100000099",
                    "remark":null,
                    "gmtCreate":"2019-08-14 11:07:34"
                },
                {
                    "blacklistInfoId":321692,
                    "name":"test98",
                    "mobile":"13100000098",
                    "remark":null,
                    "gmtCreate":"2019-08-14 11:07:34"
                }
            ]
        },
        "resultMsg":"查询成功",
        "errorStackTrace":null,
        "requestId":null
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/company/blacklist/info/page

    请求方式:

    GET

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司Id 1
    blacklistInfoGroupId int 黑名单分组Id 1
    pageNum int 分页页号,默认1 1
    pageSize int 每页大小,默认20 20

    响应:

    参数名 类型 描述
    code int 响应码,详见“ResultModel响应对象模型”说明
    data object 返回数据
    pageNum int 当前页
    pageSize int 当前页大小
    total int 数据总数量
    list list 黑名单号码信息列表
    blacklistInfoId long 黑名单号码id
    name string 黑名单号码名称
    mobile string 黑名单号码
    remark string 备注
    gmtCreate string 创建时间

    创建黑名单分组接口

    功能说明:

    通过接口可以创建一个黑名单分组

    请求:

    URL:http://api.byrobot.cn/openapi/v1/company/blacklist/group/add

    请求方式:

    POST

    请求象示例:

    {
        "companyId":1,
        "name":"test1",
        "remark":"test123"
    }
    
    

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司Id 1
    name int 黑名单分组名称 1
    remark string 备注 test

    返对象示例:

    
    {
        "code":200,
        "data":123456,
        "resultMsg":"新增成功",
        "errorStackTrace":null,
        "requestId":null
    }
    
    

    响应参数:

    参数名 类型 描述
    code int 响应码,详见“ResultModel响应对象模型”说明
    data long 创建成功的黑名单分组id

    批量添加黑名单号码到黑名单分组接口

    功能说明:

    通过接口可以批量添加黑名单号码到某个黑名单分组接口

    请求:

    URL:http://api.byrobot.cn/openapi/v1/company/addBlackList/batch

    请求方式:

    POST

    请求象示例:

    {
        "blacklist":[
            {
                "mobile":"18900000000",
                "name":"test0",
                "remark":"remark0"
            },
            {
                "mobile":"18900000001",
                "name":"test1",
                "remark":"remark1"
            },
            {
                "mobile":"18900000002",
                "name":"test2",
                "remark":"remark2"
            }
        ],
        "blacklistInfoGroupId":361,
        "companyId":1
    }
    
    

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司id 1
    blacklistInfoGroupId long 黑名单分组id 1
    blacklist list 黑名单信息集合 1
    mobile string 黑名单号码 18900000001
    name string 黑名单名 test
    remark string 备注 test

    返对象示例:

    
    {
        "code":200,
        "data":{
            "requsetNum":3,
            "successNum":3
        },
        "resultMsg":"新增成功",
        "errorStackTrace":null,
        "requestId":null
    }
    
    

    响应参数:

    参数名 类型 描述
    code int 响应码,详见“ResultModel响应对象模型”说明
    data object 返回数据
    requsetNum int 请求数量
    successNum int 成功数量

    编辑黑名单分组

    功能说明:

    通过接口可以编辑黑名单分组

    请求:

    URL:http://api.byrobot.cn/openapi/v1/company/blacklist/group/edit

    请求方式:

    POST

    请求象示例:

    {
        "companyId":1,
        "blacklistInfoGroupId":361,
        "name":"test_edit",
        "remark":"remark_edit"
    }
    
    

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司id 1
    blacklistInfoGroupId long 黑名单分组id 1
    name string 黑名单名 test
    remark string 备注 test

    返对象示例:

    {
        "code":200,
        "data":true,
        "resultMsg":"修改成功",
        "errorStackTrace":null,
        "requestId":null
    }
    
    

    响应参数:

    参数名 类型 描述
    code int 响应码,详见“ResultModel响应对象模型”说明
    data boolean 返回数据

    ## 删除一个黑名单号码

    ###功能说明:

    通过接口可以删除一个黑名单号码

    ###请求:

    URL:http://api.byrobot.cn/openapi/v1/company/blacklist/info/delete

    ###请求方式:

    POST

    请求象示例:

     {
         "blacklistInfoGroupId":361,
         "companyId":1,
         "mobile":"18900000000"
     }
    
    

    ###请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司id 1
    blacklistInfoGroupId long 黑名单分组id 1
    mobile string 黑名单号码 18900000000

    返对象示例:

     {
         "code":200,
         "data":true,
         "resultMsg":"删除成功",
         "errorStackTrace":null,
         "requestId":null
     }
    
    

    ###响应参数:

    参数名 类型 描述
    code int 响应码,详见“ResultModel响应对象模型”说明
    data boolean 返回数据

    删除黑名单分组接口

    功能说明:

    通过接口可以删除一个黑名单分组(还有号码则报错)

    请求:

    URL:http://api.byrobot.cn/openapi/v1/company/blacklist/group/delete

    请求方式:

    POST

    请求象示例:

    {
        "blacklistInfoGroupId":361,
        "companyId":1
    }
    
    

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司id 1
    blacklistInfoGroupId long 黑名单分组id 1

    返对象示例:

    {
        "code":200,
        "data":true,
        "resultMsg":"删除成功",
        "errorStackTrace":null,
        "requestId":null
    }
    
    

    响应参数:

    参数名 类型 描述
    code int 响应码,详见“ResultModel响应对象模型”说明
    data boolean 返回数据

    任务操作接口

    创建任务接口

    功能说明:

    通过此接口可以创建新的任务

    注意点

    电话任务外呼时间范围 9:00-20:00

    创建任务,只需设置总坐席数,由系统自动分配每个线路的坐席数量。

    注意:
    1. ai坐席数的总数可在crm界面企业账户中看到
    2. 创建人默认为公司的主账号
    3. 开启重拨需要的枚举:
      2-无法接通
      3-外呼失败
      5-关机
      6-占线
      7-停机
      9-主叫欠费
      10-呼损

    入参JSON示例:

    {
        "companyId":1,
        "taskName":"测试任务",
        "taskType":2,
        "startDate":"2017-10-19",
        "workingStartTime":"08:00",
        "workingEndTime":"22:00",
        "breakStartTime":"12:00",
        "breakEndTime":"13:00",
        "userPhoneIds":[
            1
        ],
        "callType":0,
        "concurrencyQuota":1,
        "robotDefId":1,
        "smsType":1,
        "smsSendLevel":[
            "A级(有明确意向)",
            "B级(可能有意向)"
        ],
        "smsTemplateId":4198,
        "remark":"创建任务",
        "repeatCall":true,
        "defaultIntentionRule":true,
        "repeatCallRule":[
            {
                "phoneStatus":9,
                "times":1,
                "interval":5
            },
            {
                "phoneStatus":10,
                "times":1,
                "interval":5
            }
        ]
    }
    
    
    

    返回对象示例:

    {
        "code": 200,
        "data": 67, //返回刚刚创建的任务ID
        "resultMsg": "操作成功",
        "errorStackTrace": null
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/task/createTask

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司Id 3811
    taskName String 任务名称 测试API任务
    taskType int 任务类型, 1-定时,2-手动 1
    startDate String 任务开始日期(定时任务必填) "2017-10-19"
    workingStartTime String 可拨打开始时间 08:00
    workingEndTime String 可拨打结束时间 22:00
    breakStartTime String 暂时停止开始时间,对应百应页面创建任务时的不拨打时段的开始时间,到达这个时间点后,任务将会自动暂停 12:00
    breakEndTime String 暂时停止结束时间,对应百应页面创建任务时的不拨打时段的结束时间,到达这个时间点后,任务将会再次启动 13:00
    userPhoneIds List 主叫号码Id,获取主叫电话列表接口可获取到 [20123]
    robotDefId int 机器人id,获取机器人话术列表接口可获取 83754
    callType int 外呼方式,对应主叫号码(线路)类型:2、1、0 2
    smsType int 是否发送挂机短信:0-否,1-是
    smsSendLevel List 发送短信的意向等级,固定值:A级(有明确意向)、B级(可能有意向)、C级(明确拒绝)、D级(用户忙)、E级(拨打失败)、F级(无效客户)
    smsTemplateId int 短信模版id,只能使用不含变量的短信模版
    concurrencyQuota int ai坐席数,默认1,一个坐席对应一个机器人 1
    remark String 备注 测试
    repeatCall boolean 是否开启重拨 默认false 关闭
    repeatCallRule list 重拨详细规则 重拨详细规则,请看json入参
    phoneStatus int 通话状态枚举,参考本文 3. 开启重拨需要的枚举
    times int 重拨次数(1-5)
    interval int 间隔时间(0-120min)
    defaultIntentionRule boolean 是否使用默认客户分配规则,传入true,不传默认false true
    openElasticity boolean 是否开启弹性,默认false false

    响应:

    参数名 类型 描述
    code int 响应码
    data int 刚刚创建的任务ID
    resultMsg String 响应说明

    启动任务接口

    功能说明:

    通过此接口可以启动指定的任务

    返回对象示例:

    {
        "code": 200,
        "data": null,
        "resultMsg": "启动成功",
        "errorStackTrace": null
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/task/start

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 示例
    taskId int 任务Id 13487

    响应:

    参数名 类型 描述
    code int 响应码
    resultMsg String 响应说明

    暂停任务接口

    功能说明:

    通过此接口可以暂停指定的任务,暂停任务后,会释放主叫号码和AI坐席

    返回对象示例:

     {
         "code": 200,
         "data": null,
         "resultMsg": "执行成功",
         "errorStackTrace": null
     }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/task/pause

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 示例
    taskId int 任务Id 13487

    响应:

    参数名 类型 描述
    code int 响应码
    resultMsg String 响应说明

    停止任务接口

    功能说明:

    通过此接口可以停止指定的任务,停止任务后,会释放主叫号码和AI坐席

    返回对象示例:

     {
         "code": 200,
         "data": null,
         "resultMsg": "执行成功",
         "errorStackTrace": null
     }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/task/stop

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 示例
    taskId int 任务Id 13487

    响应:

    参数名 类型 描述
    code int 响应码
    resultMsg String 响应说明

    删除任务

    功能说明:

    通过调用此接口可以删除任务信息,删除任务后,会释放主叫号码和AI坐席

    入参JSON示例

    {
      "taskId": "13487"
    }
    

    返回对象示例:

    {
        "code": 200,
        "data": null,
        "resultMsg": "删除成功",
        "errorStackTrace": null
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/task/delete

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 示例
    taskId String 删除任务 13487

    响应:

    参数名 类型 描述
    code int 响应码
    resultMsg String 响应说明

    向任务中导入客户接口

    功能说明:

    通过此接口可以向指定的任务导入客户信息,用于拨打电话,同一个任务,电话号码不能重复,重复号码自动去重。
    单次导入最大10000条

    入参JSON示例:

    
    {
        "taskId":10000,
        "companyId":2000,
        "customerInfoList":[
            {
                "name":"测试0",
                "phone":"18311110000",
                "properties":{"还款金额":"888","user_id":"33542"
                }
            },
                {
                "name":"测试0",
                "phone":"18311110000",
                "properties":{"还款金额":"888","user_id":"33542"
                }
            }
        ]
    } 
    
    

    返回对象示例:

     v1b版:
     {
         "code": 200,
         "data": null,
         "resultMsg": "操作成功",
         "errorStackTrace": null
     }
    
     v2版:
     {
         "code":200,
         "data":{
             "msg":"本次导入:3个客户,预计导入成功:3个客户,成功导入:3个客户,重复:0个客户,话术变量错误:0个客户",
             "successNum":3,
             "repeatNum":0,
             "placeFailNum":0
         },
         "resultMsg":"操作成功",
         "errorStackTrace":null,
         "requestId":null
     }
    
    

    请求:

    PS:v1版接口已过期,不推荐使用,请使用v2版接口。

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司id 3212
    taskId int 任务Id 13487
    name String 客户名称 张三
    phone String 客户电话 13998987676
    properties Map 话术变量;自定义信息 {"还款金额":"888","user_id":"33542"}
    forceTransferCustomer Integer 是否强制转移客户 1:是 0:否(默认1) 1

    响应:

    v1版:

    参数名 类型 描述
    code int 响应码
    resultMsg String 响应说明
    data String 响应数据

    v2版:

    参数名 类型 描述
    code int 响应码
    resultMsg String 响应说明
    data object 响应数据
    msg String 结果文字消息
    successNum int 成功条数
    repeatNum int 重复条数
    placeFailNum int 话术变量错误条数

    修改任务

    功能说明:

    通过接口可以更改AI坐席数量,功能同crm端编辑话术时修改外呼号码的AI坐席数

    入参JSON示例

    {
      //公司Id
      "companyId": 123,
      //任务Id
      "taskId":1669,
      //任务名称
      "taskName":"test",
      //任务类型 详见枚举
      "taskType":1,
      //外呼号码列表,当有多个外呼号码时可以用[,]分隔
      "userPhoneIds":1,
      //外呼类型 详见枚举
      "callType":1,
      //并发数(ai坐席数)
      "concurrencyQuota":2,
      //多并发数(专业版及以上,最大100,并发数不能超过坐席的2倍)
      "concurrencyPhone":4,
      //外呼开始日期
      "startDate":"2018-12-12",
      //任务开始时间
      "workingStartTime":"09:00",
      //任务结束实际
      "workingEndTime":"20:00",
      //午休开始时间
      "breakStartTime":"12:00",
      //午休结束时间
      "breakEndTime":"14:00",
      "repeatCall": true,
        "repeatCallRule": [{
                "phoneStatus": 9,
                "times": 1,
                "interval": 5
            },
            {
                "phoneStatus": 10,
                "times": 1,
                "interval": 5
            }
        ]
    }
    
    

    返回对象示例:

    {
        "code": 200,
        "data": null,
        "resultMsg": "修改成功",
        "errorStackTrace": null
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/task/update

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司Id 3212
    taskId int 任务Id 13487
    taskName String 任务名称 test
    taskType int 任务类型 1
    userPhoneIds int 主叫号码Id 1
    callType int 外呼方式,对应主叫号码类型枚举 1
    concurrencyQuota int 坐席数 1
    smsType int 是否发送挂机短信:0-否,1-是
    smsSendLevel List 发送短信的意向等级,固定值:A级(有明确意向)、B级(可能有意向)、C级(明确拒绝)、D级(用户忙)、E级(拨打失败)、F级(无效客户)
    smsTemplateId int 短信模版id
    concurrencyPhone int 并发量 1
    startDate String 开始日期 "2018-12-13"
    workingStartTime String 任务开始时间 "09:00"
    workingEndTime String 任务结束时间 "20:00"
    breakStartClose boolean 是否关闭不拨打时间 true:关闭,false:维持原状态,默认false
    breakStartTime String 暂时停止开始时间,对应百应页面创建任务时的不拨打时段的开始时间,到达这个时间点后,任务将会自动暂停 "12:00"
    breakEndTime String 暂时停止结束时间,对应百应页面创建任务时的不拨打时段的结束时间,到达这个时间点后 任务将会再次启动 "14:00"
    repeatCall boolean 是否开启重拨 默认false 关闭
    repeatCallRule list 重拨详细规则,请看json入参
    openElasticity boolean 是否开启弹性,默认false false

    响应:

    参数名 类型 描述
    code int 响应码
    resultMsg String 响应说明

    根据手机号进行单次电话外呼

    功能说明:

    通过调用此接口可以通过手机号直接进行单次电话外呼,外呼结果会通过回调返回,并且将通话记录增加到公司id对应的crm账号下

    入参JSON示例

    {
      "mobile": "13886871111"
      "companyId": 1,
      "variable": {
        "userName":"张三",
        "age":15
      },
      userName:,"客户姓名",
      "robotDefId": 230,
      "sceneDefId": 10,
      "sceneRecordId": 20
    }
    

    返回对象示例:

    {
        "code": 200,
        "data": null,
        "resultMsg": "外呼成功",
        "errorStackTrace": null
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/task/singleCallByMobile

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 示例
    mobile String 客户手机号 13567889900
    companyId int 公司Id 3212
    variables Map 1.变量(如果话术内设置变量则需要传入)2.不传值情况下需要保留字段名 1
    robotDefId int 机器人Id 34143
    sceneDefId int 场景Id 13442
    sceneRecordId int 场景录音id 12222
    userName String 客户姓名 1

    响应:

    参数名 类型 描述
    code int 响应码
    data int 通话记录Id
    resultMsg String 响应说明

    查询话术变量

    功能说明:

    通过调用此接口可以查询到话术内使用的变量

    返回对象示例:

    {
        "code":200,
        "data":[
            "变量名1",
            "变量名2",
            "变量名3"
        ],
        "resultMsg":"获取成功",
        "errorStackTrace":null
    }
    
    

    请求:

    URL: http://api.byrobot.cn/openapi/v1/task/getSceneVariables

    请求方法:

    GET

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司Id 3421
    sceneDefId int 场景Id 22341

    响应:

    参数名 类型 描述
    code int 响应码
    data list(String) 话术变量集合
    resultMsg String 响应说明

    任务信息查询接口

    获取任务列表接口

    功能说明:

    通过此接口可以获取指定公司的任务列表

    返回对象示例:

    {
        "code": 200,
        "data": {
            "pageNum": 2, 
            "pageSize": 2, 
            "size": 2,
            "total": 46, 
            "pages": 23,
            "list": [
                {
                    "callJobId": 66, 
                    "jobName": "测试任务", 
                    "jobType": 2, 
                    "startDate": "2017-10-25", 
                    "workingStartTime": "09:00:00", 
                    "workingEndTime": "21:00:00", 
                    "status": 2, 
                    "sceneDefId": 1, 
                    "remark": "", 
                    "totalCount": null, 
                    "doneCount": null, 
                    "calledCount": null, 
                    "rejectedCount": null, 
                    "unavailableCount": null,
                    "fromUnavailableCount": null,
                    "callPhones": null 
                },
                {
                    "callJobId": 64,
                    "jobName": "测试任务2",
                    "jobType": 2,
                    "startDate": "2017-10-25",
                    "workingStartTime": "09:00:00",
                    "workingEndTime": "21:00:00",
                    "status": 2,
                    "sceneDefId": 1,
                    "remark": "",
                    "totalCount": null,
                    "doneCount": null,
                    "calledCount": null,
                    "rejectedCount": null,
                    "unavailableCount": null,
                    "fromUnavailableCount": null,
                    "sceneDefName": null,
                    "callPhones": null
                }
            ]
        },
        "resultMsg": "操作成功",
        "errorStackTrace": null
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/task/getTasks

    请求方法:

    GET

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司Id 3811
    taskName String 任务名称 测试API任务
    createDate String 创建时间 "2017-10-19"
    status int 任务状态枚举 1
    needAll boolean true:返回所有Job信息,false:只返回未标记删除的Job信息,默认false false
    pageNum int 第几页,默认1 1
    pageSize int 页面大小,选填,默认10,最大100,建议不要太大 10

    响应:

    参数名 类型 描述
    code int 响应码
    pageNum int 当前分页数
    pageSize int 当前分页数据条数
    total int 数据总条数
    pages int 分页总数
    callJobId int 任务id
    jobName String 任务名称
    jobType int 任务类型,1-定时,2-手动
    startDate String 任务开始时间
    workingStartTime String 可拨打开始时间
    workingEndTime String 可拨打结束时间
    breakStartTime String 暂时停止开始时间,对应百应页面创建任务时的不拨打时段的开始时间,到达这个时间点后 任务将会自动暂停
    breakEndTime String 暂时停止结束时间,对应百应页面创建任务时的不拨打时段的结束时间,到达这个时间点后 任务将会再次启动
    status int 任务状态枚举
    remark String 任务注释
    totalCount int 任务拨打的号码总数
    doneCount int 任务已完成拨打的号码总数
    calledCount int 任务已完成呼通的号码总数
    rejectedCount int 任务呼叫被拒接的号码总数
    unavailableCount int 任务呼叫无法接通的号码总数
    fromUnavailableCount int 任务主叫号码不可用的号码总数
    callPhones List 主叫电话号码列表,格式和getPhones返回结果相同
    resultMsg String 响应说明

    获取任务详情接口

    功能说明:

    通过此接口可以获取指定任务的详细信息

    返回对象示例:

    {
        "code": 200,
        "data": {
            "callJobId": 19, 
            "jobName": "testJob", 
            "jobType": 2, 
            "startDate": "2017-10-19", 
            "workingStartTime": "08:00:00", 
            "workingEndTime": "22:00:00", 
            "status": 2, 
            "sceneDefId": 1, 
            "remark": "testJobx", 
            "totalCount": 2, 
            "doneCount": 2, 
            "calledCount": 0, 
            "rejectedCount": 0, 
            "unavailableCount": 0, 
            "fromUnavailableCount": 2, 
            "robotDefName": "产品电销", 
            "sceneDefName": "金融催缴", 
            "sceneRecordName": "房产电销优化版(张飞)", 
            "durationStat": [
                {
                    "name": "<10s", 
                    "value": 22
                }
            ],
            "chatRoundStat": [
                {
                    "name": "0-9次", 
                    "value": 22
                }
            ],
            "resultDefs": [
                {
                    "name": "催缴结果", 
                    "values": [
                        "成功",
                        "不成功"
                    ]
                }
            ],
            "callPhones": [ 
                {
                    "jobPhoneId": 26,
                    "userPhoneId": 1,
                    "callJobId": 19,
                    "phone": "13333333333",
                    "phoneName": "sim1",
                },
                {
                    "jobPhoneId": 27,
                    "userPhoneId": 2,
                    "callJobId": 19,
                    "phone": "18888888888",
                    "phoneName": "sim2",
                }
            ],
            "extraStat": {
               "客户意向等级": [ 
                   {
                       "name": "较强",
                       "value": 1
                   }
               ],
               "客户关注点": [
                   {
                       "name": "位置",
                       "value": 1
                   },
                   {
                       "name": "其他楼盘",
                       "value": 1
                   },
                   {
                       "name": "商业配套",
                       "value": 1
                   },
                   {
                       "name": "户型",
                       "value": 1
                   },
                   {
                       "name": "环境",
                       "value": 1
                   },
                   {
                       "name": "能否贷款",
                       "value": 1
                   },
                   {
                       "name": "询问价格",
                       "value": 1
                   }
               ]
           }
        },
        "resultMsg": "操作成功",
        "errorStackTrace": null
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/task/getTaskDetail

    请求方法:

    GET

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司Id 3811
    taskId int 任务Id 13487

    响应:

    参数名 类型 描述
    code int 响应码
    callJobId int 任务id
    jobName String 任务名称
    jobType int 任务类型,1-定时,2-手动
    startDate String 任务开始时间
    workingStartTime String 可拨打开始时间
    workingEndTime String 可拨打结束时间
    breakStartTime String 暂时停止开始时间,对应百应页面创建任务时的不拨打时段的开始时间,到达这个时间点后,任务将会自动暂停
    breakEndTime String 暂时停止结束时间,对应百应页面创建任务时的不拨打时段的结束时间,到达这个时间点后 任务将会再次启动
    status int 任务状态枚举
    remark String 任务注释
    totalCount int 任务拨打的号码总数
    doneCount int 任务已完成拨打的号码总数
    calledCount int 任务已完成呼通的号码总数
    rejectedCount int 任务呼叫被拒接的号码总数
    unavailableCount int 任务呼叫无法接通的号码总数
    fromUnavailableCount int 任务主叫号码不可用的号码总数
    robotDefName String 机器人名称
    sceneDefName String 场景名称
    sceneRecordName String 录音名称
    durationStat List 通话时长的统计信息,通话时长统计类型(小于10秒,10-50秒,1分钟-1分59秒,大于等于2分钟)
    chatRoundStat List 通话轮次的统计信息,通话轮次统计类型(0-2次,3-4次,5-6次,7-9次)
    resultDefs List 结果分析的枚举,各种类型的分析枚举(A-F级定义)
    callPhones List 主叫电话号码列表,格式和getPhones返回结果相同
    extraStat List 任务分析结果统计信息
    resultMsg String 响应说明

    durationStat(通话时长的统计信息)

    参数名 类型 描述
    name String 通话时长统计类型 (小于10秒,10-50秒,1分钟-1分59秒,大于等于2分钟)
    value String 统计数量

    chatRoundStat(通话轮次的统计信息)

    参数名 类型 描述
    name String 通话轮次统计类型(0-2次,3-4次,5-6次,7-9次)
    value String 统计数量

    callPhones(通话轮次的统计信息)

    参数名 类型 描述
    jobPhoneId long 外呼任务和主叫号码绑定表主键Id
    userPhoneId long 主叫号码Id(线路Id,对应获取主叫号码列表接口返回的userPhoneId)
    callJobId long 任务Id
    phone String 外呼号码
    phoneName String 外呼号码名

    获取已经完成任务电话号码接口

    功能说明:

    通过此接口可以获取指定任务中所有已经完成的电话号码

    入参JSON示例

    
    {
        "callJobId" : 62, 
        "durationLeft" : 0, 
        "durationRight" : 100, 
        "chatRoundLeft":0, 
        "chatRoundRight":10, 
        "finishStatus" : 1, 
        "pageNum": 1,    
        "pageSize": 10,    
        "resultQueryList" : [ 
            {
                "name" : "客户意向等级",
                "value" : "A级(较强)"
            }
        ]
    }
    
    

    返回对象示例:

     {
         "code": 200,
         "data": {
             "pageNum": 1,
             "pageSize": 2,
             "size": 2,
             "total": 2,
             "pages": 1,
             "list": [
                 {
                     "callInstanceId": 493, 
                     "sceneDefId": 1, 
                     "callJobId": 62, 
                     "customerTelephone": "1008", 
                     "customerName": "测试02",  
                     "status": 2, 
                     "finishStatus": 0,
                     "duration": "27", 
                     "chatRound": 0, 
                     "startTime": "2017-10-25 11:32:54", 
                     "endTime": "2017-10-25 11:33:22", 
                     "callerPhone": "15868457106", 
                     "luyinOssUrl": "https://jingrobot-dev.oss-cn-hangzhou.aliyuncs.com/RobotPhoneCommunicate/493.mp3", 
                     "secondaryCallTime": "1970-01-01 11:18:13", 
                     "secondaryCallTimes": 0, 
                     "jobName": "电话任务", 
                     "resultList": [ 
                         {
                             "name": "催缴结果",
                             "value": "成功"
                         }
                     ]
                 },
                 {
                     "callInstanceId": 489,
                     "sceneDefId": 1,
                     "callJobId": 62,
                     "customerTelephone": "17751279857",
                     "customerName": "不弃",
                     "status": 2,
                     "finishStatus": 0,
                     "duration": "11",
                     "chatRound": 0,
                     "startTime": "2017-10-25 11:17:06",
                     "endTime": "2017-10-25 11:17:18",
                     "callerPhone": "15868457106",
                     "luyinOssUrl": "https://jingrobot-dev.oss-cn-hangzhou.aliyuncs.com/RobotPhoneCommunicate/489.mp3",
                     "secondaryCallTime": "1970-01-01 10:59:23",
                     "secondaryCallTimes": 1,
                     "jobName": "电话任务",
                     "resultList": [
                         {
                             "name": "催缴结果",
                             "value": "成功"
                         }
                     ]
                 }
             ]
         },
         "resultMsg": "操作成功",
         "errorStackTrace": null
     }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/task/queryDoneTaskPhones

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 示例
    callJobId int 任务id 1
    durationLeft int 通话时长左值 0
    durationRight int 通话时长右值 100
    chatRoundLeft int 通话轮次左值 21
    chatRoundRight int 通话时长右值 21
    finishStatus int 已完成通话状态枚举 1
    pageNum int 第几页(默认为1) 1
    pageSize int 显示数量/页(默认为10),取值1-50 10
    resultQueryList List 支持按分析结果作为条件 10

    响应:

    参数名 类型 描述
    code int 响应码
    pageNum int 第几页
    pageSize int 每页页面条数
    total int 数据总条数
    pages int 页面总数
    callInstanceId long 通话记录Id
    sceneDefId int 场景id
    callJobId int 任务id
    customerTelephone String 被叫客户电话号码
    customerName String 被叫客户名称
    status String 通话实例状态枚举
    finishStatus String 已完成通话状态枚举
    duration int 通话时长
    chatRound int 通话轮次
    startTime String 开始拨打时间
    endTime String 结束拨打时间
    callerPhone String 主叫电话
    luyinOssUrl int 通话录音(包含用户录音和Ai语音)
    secondaryCallTime String 二次拨打时间
    secondaryCallTimes int 重试拨打次数
    jobName List 任务名称
    resultList List 通话分析结果信息
    resultMsg String 响应说明

    resultList(通话轮次的统计信息)

    参数名 类型 描述
    name String 客户意向等级,客户标签等
    value String A级(有明确意向) 等

    获取任务未开始的电话列表

    功能说明:

    通过此接口可以获取任务中还未开始外呼的外呼数据 查询限制:此查询接口每页不能超过50条

    入参JSON示例

    
    {
        "pageNum" : 1, 
        "pageSize" : 20,
        "taskId" : 21767
    }
    
    

    返回对象示例:

     {
         "code": 200,
         "data": {
             "pageNum": 1,
             "pageSize": 50,
             "list": [
                 {
                     "callInstanceId": 493, 
                     "customerName": 测试公司客户1, 
                     "customerTelephone": 1590000xxxx, 
                     "status": 0, 
                     "startTime": 2018-01-01 15:34:20,  
                     "callerPhone": 测试主叫, 
                     "corpName": 测试公司,
                     "calledTimes": 1
    
                 },
                 {
                     "callInstanceId": 494, 
                     "customerName": 测试公司客户2, 
                     "customerTelephone": 15900000xxxx, 
                     "status": 1, 
                     "startTime": 2018-01-01 15:34:20,  
                     "callerPhone": 测试主叫, 
                     "corpName": 测试公司,
                     "calledTimes":2 
                 }
             ]
         },
         "resultMsg": "操作成功",
         "errorStackTrace": null
     }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/task/notDialedCustomerList

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 示例
    pageNum int 第几页(默认为1) 1
    pageSize int 显示数量/页(默认为10)单页最大支持50 10
    taskId int 任务Id 10

    响应:

    参数名 类型 描述
    code int 响应码
    pageNum int 第几页
    pageSize int 每页页面条数
    total int 数据总条数
    pages int 页面总数
    callInstanceId long 通话记录Id(每个被叫电话为一个通话实例)
    customerName int 客户名称
    customerTelephone int 被叫客户电话
    status String 通话实例状态枚举
    startTime String 开始时间
    callerPhone String 主叫号码
    corpName String 公司名
    calledTimes int 已拨打次数
    resultMsg String 响应说明
    errorStackTrace String 错误信息

    获取一个通话的详情接口

    功能说明:

    通过此接口可以获取指定通话的详细信息

    返回对象示例:

     {
        "code": 200,
         "data": {
            "phoneLog": {
                "phoneLogs": [ 
                    {
                        "sceneInstanceLogId": 1321,
                        "sceneInstanceId": 540, 
                        "speaker": "AI", 
                        "content": "哎,您好,等待2s 哎,您好,拱墅区 中大银泰城边上有个首付50万左右的精装公寓你考虑吗?", 
                        "userMean": null,
                        "userMeanDetail": null,
                        "aiUnknown": 1,
                        "startTime": 0,
                        "endTime": 0
                    },
                    {
                        "sceneInstanceLogId": 1322,
                        "sceneInstanceId": 540,
                        "speaker": "ME",
                        "content": "喂你好",
                        "userMean": "~",
                        "userMeanDetail": null,
                        "aiUnknown": 0,
                        "startTime": 300,
                        "endTime": 1145
                    },
                    {
                        "sceneInstanceLogId": 1323,
                        "sceneInstanceId": 540,
                        "speaker": "ME",
                        "content": "哦你好",
                        "userMean": "~",
                        "userMeanDetail": null,
                        "aiUnknown": 0,
                        "startTime": 2330,
                        "endTime": 3565
                    }],
              "luyinOssUrl": "https://byrobot-test.oss-cn-hangzhou.aliyuncs.com/RobotPhoneCommunicate/540/JYSYDCCHVFYYTMGJKKHJAMHARNNBWEJQ.wav" 
             },
             "sceneInstance": {
                 "callInstanceId": 540, 
                 "companyId": 1, 
                 "callJobId": 31, 
                 "customerId": 55, 
                 "customerTelephone": "17751279857", 
                 "customerName": "不弃", 
                 "status": 2, 
                 "finishStatus": 0,
                 "duration": 87, 
                 "chatRound": 18, 
                 "startTime": "2018-01-24 20:51:53", 
                 "endTime": "2018-01-24 20:53:28", 
                 "callerPhone": "18072749353", 
                 "luyinOssUrl": "https://byrobot-test.oss-cn-hangzhou.aliyuncs.com/RobotPhoneCommunicate/540/JYSYDCCHVFYYTMGJKKHJAMHARNNBWEJQ.wav",
                 "userLuyinOssUrl": "https://byrobot-test.oss-cn-hangzhou.aliyuncs.com/RobotPhoneCommunicate/540_user.wav",
                 "properties": "{}",
                 "handlePerson": "房产电销优化版",
                 "callType": 1,
                 "readStatus": 1,
                 "jobName": "buqi新的测试任务",
                "robotDefId": 6,
                 "sceneDefId": 11,
                 "sceneRecordId": 1,
                 "trackResult": null,
                 "hangUp": 0,
                 "secondaryCallTime": "1970-01-01 13:00:00",
                 "secondaryCallTimes": 2
             },
             "taskResult": [ 
                 {
                     "sceneInstanceResultId": 188,
                     "companyId": 1,
                     "sceneInstanceId": 540,
                     "resultName": "预约时间",
                     "resultValue": "2018-01-25 08:00",
                     "resultDesc": null
                 },
                 {
                     "sceneInstanceResultId": 189,
                     "companyId": 1,
                     "sceneInstanceId": 540,
                     "resultName": "客户意向等级",
                     "resultValue": "A级(较强)",
                     "resultDesc": "该客户在通话过程中主动询问了产品细节,有进一步了解产品的意愿。"
                 }
             ]
         },
         "resultMsg": "获取成功",
         "errorStackTrace": null
     }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/task/phoneLogInfo

    请求方法:

    GET

    请求参数:

    参数名 类型 是否必须 描述 示例
    callInstanceId long 通话记录Id 1

    响应:

    参数名 类型 描述
    code int 响应码
    phoneLog String 对话内容总称
    phoneLogs List 对话内容
    sceneInstanceId long 通话记录Id,callInstanceId
    speaker String 角色
    content String 内容
    userMean String 用户说话语义,客户说话内容命中的话术节点分支或知识库问题
    userMeanDetail String 用户说话语义详情,客户说话内容命中详情(包括命中的用户说话内容和话术节点分支或知识库分支问题)
    aiUnknown int 是否是ai无法应答的问题,1-是,0-否
    luyinOssUrl String 通话录音
    sceneInstance List 通话信息
    callInstanceId long 通话记录Id
    companyId int 公司id
    callJobId int 任务id
    customerId int 客户id,当前通话记录对应的客户
    customerTelephone String 客户手机
    customerName String 客户名称
    finishStatus String 已完成通话状态枚举
    status int 通话实例状态枚举
    duration int 通话时长
    chatRound int 通话轮次,AI说话次数
    startTime String 开始拨打时间
    endTime String 结束拨打时间
    callerPhone String 主叫电话
    luyinOssUrl String 通话录音(包含Ai和客户)
    userLuyinOssUrl String 通话录音(只包含客户)
    properties String 通话记录携带的参数(json字符串),包含话术变量和自定义参数,用户可以传入自己的变量,百应回调会传回给用户
    handlePerson String 处理人(一般是话术的话术名)
    callType int 外呼方式,对应主叫号码(线路)类型枚举
    readStatus int 是否已读,产品中的通话记录已读未读状态 0:未读 1:已读
    robotDefId String 机器人id
    sceneDefId String 场景ID
    sceneRecordId int 场景录音id
    jobName String 任务名称
    hangUp Integer 挂机人, 0: AI 1: 用户
    taskResult List 任务结果分析
    sceneInstanceResultId Long 通话结果记录id
    companyId Integer 公司Id
    sceneInstanceId Long 通话记录Id
    resultName String 分析结果名(客户意向等级,客户标签)
    resultValue String 分析结果,A级(有明确意向)
    resultDesc String 分析结果描述

    信息回调接口

    回调说明

    通话记录回调与任务完成回调使用不同回调地址,请提前配置。

    回调服务器IP

    回调类型dateType 描述
    通话记录回调 CALL_INSTANCE_RESULT
    任务完成详情回调 JOB_INFO_RESULT
    手动修改意向等级回调 CALL_INSTANCE_RESULT
    呼入回调 INBOUND_CALL_INSTANCE_RESULT

    回调时间

    最多回调27次,回调总时常共26小时46分,前16次回调间隔时间如下,超过16次,每次重试间隔2小时。

    第几次重试 与上次重试的间隔时间 第几次重试 与上次重试的间隔时间
    1 10 秒 9 7 分钟
    2 30 秒 10 8 分钟
    3 1 分钟 11 9 分钟
    4 2 分钟 12 10 分钟
    5 3 分钟 13 20 分钟
    6 4 分钟 14 30 分钟
    7 5 分钟 15 1 小时
    8 6 分钟 16 2 小时

    回调返回

    回调成功后,处理方应当返回字符串success在返回的body体中,百应才会认为回调成功,否则认为回调失败。

    通话记录回调接口

    功能说明:

    当一次通话完成后,百应机器人会自动调用回调程序向用户配置的回调地址,发送本次通话详情。

    请求对象示例:

    {
        "code": 200,
        "data": {
            "dataType": "CALL_INSTANCE_RESULT",
            "data": {
                "sceneInstance": {
                    "callInstanceId": 1,
                    "companyId": 1,
                    "callUserId": 1,
                    "callJobId": 1,
                    "customerId": 1,
                    "customerTelephone": "137xxxxxxxx",
                    "customerName": "2989",
                    "status": 2,
                    "finishStatus": 0,
                    "duration": 35,
                    "chatRound": 3,
                    "startTime": "2019-01-12 16:09:32",
                    "endTime": "2019-01-12 16:10:11",
                    "callerPhone": "测试线路",
                    "luyinOssUrl": "https://byrobot-prod.oss-cn-hangzhou.aliyuncs.com/RobotPhoneCommunicate/11/xxx.wav",
                    "userLuyinOssUrl": "https://byrobot-prod.oss-cn-hangzhou.aliyuncs.com/RobotPhoneCommunicate/11.wav",
                    "properties": "{\"duration\":20,\"failReason\":\"失败了就是失败了\",\"finishTime\":1546506273268,\"seatGroupId\":1,\"seatGroupName\":\"测试失败\",\"startTime\":1546506263268,\"succTime\":1546506283268,\"success\":false,\"transferMobile\":false,\"useEavesdrop\":false}",
                    "handlePerson": "测试线路",
                    "callType": 1,
                    "callIndex": 0,
                    "readStatus": 0,
                    "jobName": "GG0112-YX NEW1",
                    "robotDefId": 180,
                    "sceneDefId": 192,
                    "sceneRecordId": 192,
                    "industry": "1540384412_151_1",
                    "trackResult": "C级(很少)",
                    "hangUp": 1,
                    "secondaryCallTime": "1970-01-01 09:00:00",
                    "secondaryCallTimes": 0,
                    "cost": 0,
                    "callbacked": 0,
                    "gmtCreate": "2019-01-12 16:09:44",
            "gmtModified": "2019-01-12 16:09:44"
                },
                "taskResult": [{
                    "sceneInstanceResultId": 1117274388,
                    "companyId": 151,
                    "callJobId": 362574,
                    "sceneInstanceId": 1540384412,
                    "resultName": "客户意向等级",
                    "resultValue": "C级(很少)",
                    "artificialResultValue": "C级(很少)",
                    "artificialChanged": null,
                    "resultDesc": "命中业务问题 <= 0次 并且 肯定次数 <= 0次",
                    "resultValueAlias": "C",
                    "resultLabels": null,
                    "resultValueNew": "C级(明确拒绝)",
                    "gmtCreate": "2019-01-12 16:09:44",
            "gmtModified": "2019-01-12 16:09:44"
                }, {
                    "sceneInstanceResultId": 922147427,
                    "companyId": 4880,
                    "sceneInstanceId": 1223552173,
                    "resultName": "客户标签",
                    "resultValue": "[1]",
                    "artificialResultValue": null,
                    "artificialChanged": null,
                    "resultDesc": null,
                    "resultValueAlias": "",
                    "resultLabels": [{
                        "key": 200,
                        "value": "无效用户"
                    }],
                    "resultValueNew": ""
                }],
                "phoneLog": {
                    "phoneLogs": [{
                        "sceneInstanceLogId": 1156248612,
                        "sceneInstanceId": 1540384412,
                        "companyId": 151,
                        "robotDefId": 180,
                        "decisionId": 10638,
                        "speaker": "AI",
                        "content": "喂,您好,这里是用户测试电话",
                        "userMean": "",
                        "userMeanDetail": null,
                        "aiUnknown": false,
                        "answerStatus": null,
                        "studyStatus": null,
                        "startTime": 0,
                        "endTime": 0,
                        "knowledgeBaseId": null,
                        "correctionContent": null,
                        "gmtCreate": "2019-01-12 16:09:44",
              "gmtModified": "2019-01-12 16:09:44"
                    }, {
                        "sceneInstanceLogId": 1156249713,
                        "sceneInstanceId": 1540384412,
                        "companyId": 151,
                        "robotDefId": 180,
                        "decisionId": 10638,
                        "speaker": "ME",
                        "content": "有什么游戏呀?",
                        "userMean": "游戏",
                        "userMeanDetail": "[{\"score\":-1,\"answer\":\"游戏\",\"ask\":\"什么游戏\",\"knowledgeBaseId\":5061}]",
                        "aiUnknown": false,
                        "answerStatus": 1,
                        "studyStatus": null,
                        "startTime": 8350,
                        "endTime": 10570,
                        "knowledgeBaseId": null,
                        "correctionContent": null,
                        "gmtCreate": "2019-01-12 16:09:44",
              "gmtModified": "2019-01-12 16:09:44"
                    }],
                    "luyinOssUrl": "https://byrobot-prod.oss-cn-hangzhou.aliyuncs.com/RobotPhoneCommunicate/1540384412/20190112-161011_13733105333.wav"
                },
                "jobFinished": false,
                "sign": null,
                "dateTime": "Thu Oct 16 07:13:48 GMT 2014"
            }
        },
        "resultMsg": "成功",
        "errorStackTrace": null
    }
    
    

    请求方法:

    公有云:

    HttpMethod : post
    Content-Type : application/json;charset=utf-8

    私有云:

    HttpMethod : post
    Content-Type : text/plain;charset=utf-8

    请求参数:

    参数名 类型 描述
    code String 回调类型
    callInstanceId long 通话记录Id
    companyId int 公司ID
    callUserId int 主叫用户ID
    callJobId int 任务Id
    customerId int 客户Id
    customerTelephone String 客户手机号
    customerName String 客户名称
    status int 通话实例状态枚举
    finishStatus int 已完成通话状态枚举
    duration int 通话时长
    chatRound int 通话轮次
    startTime Date 通话开始时间
    endTime Date 通话结束时间
    callerPhone String 主叫号码
    luyinOssUrl String 通话录音(包含Ai和客户)
    userLuyinOssUrl String 通话录音(只包含客户)
    properties String 通话记录携带的参数(json字符串),包含话术变量和自定义参数,用户可以传入自己的变量,百应回调会传回给用户
    handlePerson String 话术名
    callType int 外呼方式,对应主叫号码(线路)类型枚举
    callIndex int 通话实例索引
    readStatus int 是否已读,产品中的通话记录已读未读状态 0:未读 1:已读
    jobName String 电话任务名称
    robotDefId int 机器人Id
    sceneDefId int 场景Id
    sceneRecordId int 场景录音id
    industry String 所属行业
    trackResult String bug追踪结果
    hangUp int 挂机人 0:AI 1:用户
    secondaryCallTime Date 二次拨打时间
    secondaryCallTimes int 二次拨打次数 为0后不进行外呼
    cost int 通话费用,单位(分)
    callbacked int 是否回调完成 0:未回调 1:已回调
    gmtCreate Date 创建时间
    gmtModified Date 修改时间
    taskResult List 任务结果分析
    sceneInstanceResultId long 通话记录结果Id
    companyId int 公司Id
    sceneInstanceId long 通话记录Id(对应callInstanceId)
    resultName String 通话记录结果类型名
    resultValue String 通话记录结果值
    artificialResultValue String 通话结果人工标注值(一般指人工标注意向等级)
    artificialChanged int 是否进行过人工标注修改 0:没有 1:有
    resultDesc String 结果描述
    resultValueAlias String 分析结果别名(resultName为【客户意向等级】时标注值为意向级别 A,B,C,D,E,F)
    resultLabels List IntegerStringBO对象中存储一个int类型参数,一个String类型参数,resultName为【客户标签】时存储客户标签
    resultValueNew String 客户意向等级的表述(文案与crm对应)
    phoneLog String 对话内容总称
    phoneLogs List 对话详情
    sceneInstanceLogId Long 通话记录日志Id
    sceneInstanceId Long 通话记录Id(对应callInstanceId)
    companyId int 公司Id
    robotDefId int 机器人Id
    decisionId int 对应决策Id,话术的节点Id
    speaker String 说话人 ME:用户 AI:机器人
    content String 说话内容
    userMean String 用户说话语义,客户说话内容命中的话术节点分支或知识库问题
    userMeanDetail String 用户说话语义详情,客户说话内容命中详情(包括命中的用户说话内容和话术节点分支或知识库分支问题)
    aiUnknown boolean 是否是ai无法应答的问题,true-是,false-否
    answerStatus int 回答问题状态:0-分支,1-问题,2-忽略
    studyStatus int 学习状态:0-未学习,1-已学习
    startTime Date 说话的开始时间
    endTime Date 说话的结束时间
    gmtCreate Date 创建时间
    gmtModified Date 修改时间
    knowledgeBaseId int 知识点ID
    correctionContent String 通话记录纠错内容
    luyinOssUrl String 通话记录录音
    jobFinished boolean 任务是否已完成
    sign String 回调签名(需联系开通)
    dateTime String GMT格式日期(签名计算-需联系开通)

    响应:

    success

    任务状态回调

    功能说明:

    任务运行中动态状态变更回调,包含如下状态:手动暂停,自动暂停 ,线路欠费 ,短信欠费 ,任务完成 需另外开通和配置

    请求对象示例:

     {
        "code": 200,
        "data": {
            "dataType": "JOB_INFO_RESULT",
            "data": {
                "callJobId": 535,
                "companyId": 243,
                "jobName": "测试-问题学习",
                "jobType": 2,
                "startDate": "2018-04-25",
                "endDate": "2018-04-25",
                "workingStartTime": "09:00:00",
                "workingEndTime": "20:00:00",
                "breakStartTime": null,
                "breakEndTime": null,
                "status": 2,
                "callType": 1,
                "robotDefId": 278,
                "sceneDefId": 283,
                "sceneRecordId": 280,
                "remark": "",
                "smsType": 0,
                "smsCondition": null,
                "smsTemplateId": null,
                "userId": 241,
                "userName": "步婉",
            }
        },
        "resultMsg": "执行成功",
        "errorStackTrace": null
     }
    
    

    请求方法:

    公有云:

    HttpMethod : post
    Content-Type : application/json;charset=utf-8

    私有云:

    HttpMethod : post
    Content-Type : text/plain;charset=utf-8

    请求参数:

    参数名 类型 描述
    dataType String 回调数据类型
    callJobId long 外呼任务Id
    companyId int 公司id
    jobName String 任务名称
    jobType int 任务类型:1-定时,2-手动
    startDate String 任务开始时间
    endDate String 任务结束时间
    workingStartTime String 可拨打起始时间
    workingEndTime String 可拨打结束时间
    breakStartTime int 暂时停止开始时间,对应百应页面创建任务时的不拨打时段的开始时间,到达这个时间点后,任务将会自动暂停
    breakEndTime int 暂时停止结束时间,对应百应页面创建任务时的不拨打时段的结束时间,到达这个时间点后 任务将会再次启动
    status String 任务状态枚举
    callType int 主叫号码类型:0-手机号,1-固话,2-无主叫
    robotDefId int 机器人id
    sceneDefId int 场景id
    sceneRecordId int 场景录音id
    remark String 备注
    smsType int 是否发送挂机短信:0-否,1-是
    smsCondition String 发送挂机短信条件,json格式
    smsTemplateId long 发送挂机短信的模板
    userId int 创建人id
    userName String 创建人名称

    响应:

    success

    手动修改客户意向等级回调接口

    功能说明:

    当在crm端手动修改客户意向等级后,百应会自动调用回调程序向用户配置的回调地址,发送本次通话详情。

    请求对象示例:

    {
        "code": 200,
        "data": {
            "dataType": "CALL_INSTANCE_RESULT",
            "data": {
                "taskResult": [{
                    "companyId": 241,
                    "sceneInstanceId": 2016,
                    "resultName": "客户意向等级",
                    "resultValue": "B"
                }]
            }
        },
        "resultMsg": "成功",
        "errorStackTrace": null
    }
    
    

    请求方法:

    公有云:

    HttpMethod : post
    Content-Type : application/json;charset=utf-8

    私有云:

    HttpMethod : post
    Content-Type : text/plain;charset=utf-8

    请求参数:

    参数名 类型 描述
    dataType String 回调类型
    sceneInstanceId long 任务实例id
    taskResult String 任务结果分析
    resultName String 客户意向等级名
    resultValue String 客户意向等级值

    响应:

    success

    呼入回调接口

    功能说明:

    当一次通话完成后,百应机器人会自动调用回调程序向用户配置的回调地址,发送本次通话详情。 呼入回调数据格式与外呼格式保持高度一致,仅个别字段名称有所变更

    请求对象示例:

     {
         "code": 200,
         "data": {
             "dataType": "INBOUND_CALL_INSTANCE_RESULT",
             "data": {
                 "sceneInstance": {
                     "inboundInstanceId": 1091,
                     "companyId": 1,
                     "callJobId": 98,
                     "customerId": 22142595,
                     "customerTelephone": "1010",
                     "customerName": "未知呼入客户",
                     "status": 2,
                     "finishStatus": 0,
                     "duration": 27,
                     "chatRound": 3,
                     "startTime": "2019-01-24 15:27:39",
                     "endTime": "2019-01-24 15:28:09",
                     "calleePhone": "057126881788",
                     "luyinOssUrl": "https://byrobot-test.oss-cn-hangzhou.aliyuncs.com/InboundRobotCommunicate/1091/20190124-152809_1010.wav",
                     "userLuyinOssUrl": "https://byrobot-test.oss-cn-hangzhou.aliyuncs.com/InboundRobotCommunicate/1091_user.wav",
                     "properties": "{}",
                     "readStatus": null,
                     "robotDefId": 1155,
                     "sceneDefId": 1165,
                     "sceneRecordId": 1149,
                     "transferStatus": null,
                     "transferInfo": null,
                     "userLevel": null,
                     "hangUp": 1,
                     "callbacked": null,
                     "propertiesMap": {
                         "客户名称": "未知呼入客户",
                         "联系方式": "1010"
                     }
                 },
                 "taskResult": [
                     {
                         "sceneInstanceResultId": 459,
                         "companyId": 1,
                         "callJobId": null,
                         "sceneInstanceId": 1091,
                         "resultName": "客户意向等级",
                         "resultValue": "B级(一般)",
                         "artificialResultValue": "B级(一般)",
                         "artificialChanged": false,
                         "resultDesc": "拒绝次数 <= 1 次 并且 命中业务问题 >= 1",
                         "resultValueAlias": "B",
                         "resultLabels": null,
                         "resultValueNew": "B级(可能有意向)"
                     },
                     {
                         "sceneInstanceResultId": 460,
                         "companyId": 1,
                         "callJobId": null,
                         "sceneInstanceId": 1091,
                         "resultName": "客户关注点",
                         "resultValue": "位置",
                         "artificialResultValue": "位置",
                         "artificialChanged": false,
                         "resultDesc": null,
                         "resultValueAlias": null,
                         "resultLabels": null,
                         "resultValueNew": null
                     },
                     {
                         "sceneInstanceResultId": 461,
                         "companyId": 1,
                         "callJobId": null,
                         "sceneInstanceId": 1091,
                         "resultName": "客户标签",
                         "resultValue": "[7,8,9]",
                         "artificialResultValue": null,
                         "artificialChanged": false,
                         "resultDesc": null,
                         "resultValueAlias": null,
                         "resultLabels": [],
                         "resultValueNew": null
                     }
                 ],
                 "phoneLog": {
                     "phoneLogs": [
                         {
                             "sceneInstanceLogId": 1693,
                             "sceneInstanceId": 1091,
                             "companyId": 1,
                             "robotDefId": 1155,
                             "decisionId": 502993,
                             "speaker": "AI",
                             "content": "哎,您好,拱墅区 中大银泰城边上有个首付50万左右的精装公寓你考虑吗?",
                             "userMean": "",
                             "userMeanDetail": null,
                             "aiUnknown": false,
                             "answerStatus": null,
                             "studyStatus": null,
                             "startTime": 0,
                             "endTime": 0,
                             "knowledgeBaseId": null,
                             "correctionContent": null
                         },
                         {
                             "sceneInstanceLogId": 1694,
                             "sceneInstanceId": 1091,
                             "companyId": 1,
                             "robotDefId": 1155,
                             "decisionId": 502993,
                             "speaker": "ME",
                             "content": "呃,不考虑",
                             "userMean": "拒绝",
                             "userMeanDetail": "[{\"score\":-1,\"answer\":\"拒绝\",\"ask\":\"不考虑\",\"knowledgeBaseId\":33230}]",
                             "aiUnknown": false,
                             "answerStatus": 1,
                             "studyStatus": null,
                             "startTime": 6830,
                             "endTime": 7950,
                             "knowledgeBaseId": null,
                             "correctionContent": null
                         }
                     ],
                     "luyinOssUrl": "https://byrobot-test.oss-cn-hangzhou.aliyuncs.com/InboundRobotCommunicate/1091/20190124-152809_1010.wav"
                 },
                 "sign": null,
                 "dateTime": "Thu, 24 Jan 2019 07:28:09 GMT"
             }
         },
         "resultMsg": "成功",
         "errorStackTrace": null
     }
    

    请求方法:

    公有云:

    HttpMethod : post
    Content-Type : application/json;charset=utf-8

    私有云:

    HttpMethod : post
    Content-Type : text/plain;charset=utf-8

    请求参数:

    1.dataType: "INBOUND_CALL_INSTANCE_RESULT" (固定,标识是呼入回调), 2.sceneInstance: (通话记录相关元数据)

    参数名 类型 描述
    inboundInstanceId long 通话记录id
    companyId int 公司ID
    customerId long 客户Id
    customerTelephone String 客户手机号
    customerName String 客户名称
    status int 电话实例状态 0:未开始 1:进行中 2:已完成
    finishStatus int 已完成通话状态枚举
    duration int 通话时长
    chatRound int 通话轮次
    startTime Date 通话开始时间
    endTime Date 通话结束时间
    calleePhone String 被叫号码
    luyinOssUrl String 通话录音(包含Ai和客户)
    userLuyinOssUrl String 通话录音(只包含客户)
    properties String 通话记录携带的参数(json字符串),包含话术变量和自定义参数,用户可以传入自己的变量,百应回调会传回给用户
    readStatus int 是否已读,产品中的通话记录已读未读状态 0:未读 1:已读
    robotDefId int 机器人Id
    sceneDefId int 场景Id
    sceneRecordId int 场景录音id
    transferStatus int 转人工状态:0-无转接,1-成功,2-失败
    transferInfo String 转人工详情
    callbacked int 是否回调
    hangUp int 挂机人 0:AI 1:用户

    3.taskResult(通话分析的结果)

    参数名 类型 描述
    sceneInstanceResultId long 通话记录结果Id
    sceneInstanceId long 通话记录Id(对应inboundInstanceId)
    callJobId int 任务ID
    resultName String 通话记录结果类型名
    resultValue String 通话记录结果值
    artificialResultValue String 通话结果人工标注值(一般指人工标注意向等级)
    artificialChanged boolean 是否进行过人工标注修改
    resultDesc String 结果描述
    resultValueAlias String 分析结果别名(resultName为【客户意向等级】时标注值为意向级别 A,B,C,D,E,F)
    resultLabels List IntegerStringBO对象中存储一个int类型参数,一个String类型参数,resultName为【客户标签】时存储客户标签
    resultValueNew String 客户意向等级的表述(文案与crm对应)

    4.phoneLog(对话详情)

    参数名 类型 描述
    sceneInstanceLogId long 通话记录日志Id
    sceneInstanceId Long 通话记录Id(对应callInstanceId)
    companyId int 公司ID
    robotDefId int 机器人Id
    decisionId int 对应决策Id
    speaker String 说话人 ME:用户 AI:机器人
    content String 说话内容
    userMean String 用户说话语义,客户说话内容命中的话术节点分支或知识库问题
    userMeanDetail String 用户说话语义详情,客户说话内容命中详情(包括命中的用户说话内容和话术节点分支或知识库分支问题)
    aiUnknown int 是否是ai无法应答的问题,1-是,0-否
    answerStatus int 回答问题状态:0-分支,1-问题,2-忽略,表示命中流程分支或者知识库问题
    studyStatus int 学习状态:0-未学习,1-已学习,在问题学习板块里面的问题学习状态(默认为空)
    startTime Date 说话的开始时间,本句话在录音中的开始时间
    endTime Date 说话的结束时间,本句话在录音中的结束时间
    correctionContent String 通话记录纠错内容,通话记录中的人工纠错功能的纠错内容
    luyinOssUrl String 通话记录录音
    sign String 回调签名(需联系开通)
    dateTime String GMT格式日期

    响应:

    success

    查询回调失败记录

    功能说明:

    通过接口可以查询时间段内调用用户回调接口失败的记录

    返回对象示例:

    {
        "code":200,
        "data":{
            "pageNum":1,
            "pageSize":1000,
            "total":5,
            "pages":1,
            "list":[
                {
                    "customerTelephone":"13777482716",
                    "callInstanceId":13,
                    "callJobId":9,
                    "callerTime":"2019-03-20 11:22:33"
                },
                {
                    "customerTelephone":"13777482716",
                    "callInstanceId":12,
                    "callJobId":9,
                    "callerTime":"2019-03-20 11:22:33"
                },
                {
                    "customerTelephone":"13777482716",
                    "callInstanceId":11,
                    "callJobId":9,
                    "callerTime":"2019-03-20 11:22:33"
                },
                {
                    "customerTelephone":"18767114326",
                    "callInstanceId":101705174,
                    "callJobId":29463,
                    "callerTime":"2019-03-20 17:20:58"
                },
                {
                    "customerTelephone":"18767114326",
                    "callInstanceId":101705181,
                    "callJobId":29465,
                    "callerTime":"2019-03-20 17:28:57"
                }
            ]
        },
        "resultMsg":"查询成功",
        "errorStackTrace":null,
        "requestId":null
    }
    
    

    请求:

    URL:http://api.byrobot.cn/openapi/v1/callBack/queryUnCallBack

    请求方法:

    GET

    请求参数:

    参数名 类型 是否必须 描述 示例
    companyId int 公司Id 1
    callJobId int 任务ID,如果不传该字段查询该公司下所有回调失败的记录 1
    dataType int 回调类型, 0:呼出结果回调,1:呼入结果回调 0
    startDate Date 查询开始时间 "2017-10-19"
    endDate Date 查询结束时间 "2017-10-19"
    pageNum int 第几页,默认1 1
    pageSize int 页面大小,选填,默认100,取值范围1-500 10

    响应:

    参数名 类型 描述
    code int 响应码
    pageNum int 当前分页数
    pageSize int 当前分页数据条数
    total int 数据总条数
    pages int 分页总数
    list list 查询结果集
    callJobId int 任务id
    customerTelephone String 客户手机号
    callInstanceId long 通话记录ID
    callerTime time 拨打时间

    响应:

    success