NAV Navbar
  • 介绍
  • 开发引导
  • 最近更新日志
  • 公司信息接口
  • 任务操作接口
  • 任务信息查询接口
  • 信息回调接口
  • 介绍

    百应机器人API文档

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

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

    公司官网地址 :www.byrobot.cn/

    开发引导

    调用说明

    调用方式说明:

    第一种方式:主动调用 这种调用方式是客户主动调用接口获取数据或实现功能;

    主动调用需要传入APP_KEY和APP_SECRET用于权限校验;

    注意:请在开发对接程序前联系百应技术支持进行注册,如果你还未签约,请先签约开通账户。

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

    注意:请在开发前自主配置好回调地址。

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

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

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

    调用方式分为两种:主动调用和方法回调。

    认证

    认证密钥样例

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

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

    目前已有完成JAVA版的样例,具体实现请下载SDK查阅。

    请在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

    JAVA SDK DEMO 下载

    本页面提供Java的SDK下载。

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

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

    语言 GitHub地址
    JAVA GitHub地址

    最佳实践流程图:

    Oms3

    常见问题解答

    1. 定时任务和手动任务的异同
    2. A:
    3. 异: 定时任务在设定好启动时间和结束时间时会在到达指定时间时自动启动 手动任务则需要导入客户之后手动启动任务 同: 任务到达12-14点或指定暂停时间会自动暂停,并且会占用AI并发量

    4. isv账号能否操作多个crm账号下的任务

    5. A:一个appKey和appSecret可以通过api接口操作多个crm账号,获取公司信息和任务信息,需要提供您的子公司的公司名 给百应的api负责同学,百应这边为您保定之后就可以通过openApi操作子公司下的任务了

    流程说明

    第一部分:

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

    这里一共三个接口分别查询到: 1.公司Id

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

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

    1)机器人话术id

    2) 机器人话术场景id

    3) 机器人话术录音id

    第二部分:

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

    1.创建任务

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

    2.任务启动和暂停

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

    3.停止任务

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

    第三部分:

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

    第四部分:

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

    枚举类型说明

    电话卡类型枚举

    code desc
    0 手机
    1 阿里云固话
    2 无主叫固话

    任务类型枚举

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

    外呼类型枚举

    code desc
    0 sim卡(默认)
    1 固话
    2 无主叫

    是否发送短信枚举

    code desc
    0
    1

    任务状态枚举

    code desc
    0 未开始
    1 进行中
    2 已完成
    3 可运行
    4 用户暂停
    5 系统暂停
    6 已终止
    7 排队中
    8 AI到期

    任务实例状态枚举

    code desc
    0 未开始
    1 进行中
    2 已完成
    3 二次拨打调度中

    任务实例已完成状态枚举

    code desc
    0 已接听
    1 拒接
    2 无法接通
    3 主叫号码不可用
    4 空号
    5 关机
    6 占线
    7 停机
    8 未接
    9 主叫欠费

    呼叫类型枚举

    code desc
    0 免费试用
    1 任务
    2 用户单独拨打
    3 收费试用
    4 Ope后台拨打
    5 大屏试用
    100 客服人工拨打

    错误码信息

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

    最近更新日志

    2018年7月23日

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

    更新说明:

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

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

    公司信息接口

    获取公司列表接口

    功能说明:

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

    JSON响应实例:

    {
        "code": 200,
        "data": [
            {
                "companyName": "阿里巴巴", 
                "companyId": 1 
            },
            {
                "companyName": "网易", 
                "companyId": 2
            }
        ],
        "resultMsg": "获取成功",
        "errorStackTrace": null 
    }
    
    

    请求:

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

    请求方法:

    GET

    请求参数:

    响应:

    参数名 类型 描述
    code integer 响应码
    companyName String 公司名称
    companyId integer 公司Id
    resultMsg String 响应说明

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

    功能说明:

    通过接口可以获取指定公司的所有主叫电话的列表

    JSON响应实例:

    {
        "code": 200,
        "data": [
            {
                "userPhoneId": 0, 
                "phone": "17706421111", 
                "phoneName": "可用卡1", 
                "phoneType": 0, 
                "available": false, 
                "totalConcurrencyQuota" : 1, 
                "usedConcurrencyQuota" : 1 
            },
            {
                "userPhoneId": 13,
                "phone": "18072741111",
                "phoneName": "可用卡2",
                "phoneType": 0,
                "available": true,
                "totalConcurrencyQuota" : 1, 
                "usedConcurrencyQuota" : 0 
            }
        ],
        "resultMsg": "获取成功",
        "errorStackTrace": null
    }
    
    

    请求:

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

    请求方法:

    GET

    请求参数:

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

    响应:

    参数名 类型 描述
    code integer 响应码
    userPhoneId Integer 电话id
    phone String 电话号码
    phoneName String 电话号码名称
    phoneType Integer 手机(0, "手机"),阿里云固话(1, "阿里云固话"),无主叫固话(2, "无主叫固话"),
    available Boolean 是否可用
    totalConcurrencyQuota Integer 总并发数
    usedConcurrencyQuota Integer 已经使用并发数
    resultMsg String 响应说明

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

    功能说明:

    通过接口可以获取指定公司的所有配置完成的机器人话术

    JSON响应实例:

    {
        "code": 200,
        "data": [
            {
                "robotDefId": 6, 
                "robotName": "产品电销", 
                "sceneDefId": 11, 
                "sceneRecords": [
                    {
                        "sceneRecordId": 25, 
                        "sceneRecordName": "房产电销女声版(佑琪)" 
                    }
                ]
            },
            {
                "robotDefId": 11,
                "robotName": "金融销售机器人_默认",
                "sceneDefId": 24,
                "sceneRecords": [
                    {
                        "sceneRecordId": 20,
                        "sceneRecordName": "金融销售默认话术"
                    }
                ]
            }
        ],
        "resultMsg": "获取成功",
        "errorStackTrace": null
    }
    
    

    请求:

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

    请求方法:

    GET

    请求参数:

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

    响应:

    参数名 类型 描述
    code integer 响应码
    robotDefId Integer 机器人话术id
    robotName String 机器人话术名称
    sceneDefId Integer 机器人话术场景id
    sceneRecordId Integer 机器人话术录音id
    sceneRecordName String 机器人录音名称
    resultMsg String 响应说明

    任务操作接口

    创建任务接口

    功能说明:

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

    更新说明:

    创建任务,支持使用多个无主叫固话,只需设置总并发数,由系统自动分配每个线路的并发。

    入参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, 
        "sceneDefId" : 1, 
        "sceneRecordId" : 7, 
        "concurrencyQuota":1,
        "smsType":1,
        "remark" : "创建任务" 
    }
    

    JSON响应实例:

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

    请求:

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

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 实例
    companyId Integer 公司Id 1
    taskName String 任务名称 测试API任务
    taskType Integer 任务类型, 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 Integer 主叫电话号码id列表,详见获取公司的主叫电话列表(getPhones)接口 [1,2]
    sceneDefId Integer 场景id 1
    robotDefId Integer 机器人id 1
    sceneRecordId Integer 机器人话术录音id 1
    callType Integer 外呼类型,0-sim卡,1-固话(默认), 2-无主叫 1
    concurrencyQuota Integer 并发数,默认1 1
    smsType Integer 是否发送短信:1-是,0-否(默认) 1
    remark String 备注 测试

    响应:

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

    启动任务接口

    功能说明:

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

    JSON响应实例:

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

    请求:

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

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 实例
    taskId Integer 任务Id 1

    响应:

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

    暂停任务接口

    功能说明:

    通过此接口可以暂停指定的任务

    JSON响应实例:

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

    请求:

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

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 实例
    taskId Integer 任务Id 1

    响应:

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

    停止任务接口

    功能说明:

    通过此接口可以停止 指定的任务

    JSON响应实例:

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

    请求:

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

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 实例
    taskId Integer 任务Id 1

    响应:

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

    删除任务

    功能说明:

    通过调用此接口可以删除任务信息

    入参JSON实例

    {
      "taskId": "1"
    }
    

    JSON响应实例:

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

    请求:

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

    请求方法:

    POST

    请求参数:

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

    响应:

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

    向任务中导入客户接口

    功能说明:

    通过此接口可以向指定的任务导入客户信息,用于拨打电话

    入参JSON实例:

    
    {
        "taskId":10000,
        "companyId":2000,
        "customerInfoList":[
            {
                "name":"测试0",
                "phone":"18311110000",
                "properties":{  //客户额外信息,如果话术中包含变量,则需要在properties中加上对应字段,map的key和话术中的变量保持一致。如果话术没有变量,则不要properties
                    "real_name":"real"
                }
            },
            {
                "name":"测试1",
                "phone":"18311112222",
                "properties":{  //客户额外信息,如果话术中包含变量,则需要在properties中加上对应字段,map的key和话术中的变量保持一致。如果话术没有变量,则不要properties
                    "real_name":"real"
                }
            }
        ]
    } 
    
    

    JSON响应实例:

     {
         "code": 200,
         "data": null,
         "resultMsg": "操作成功",
         "errorStackTrace": null
     }
    
    

    请求:

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

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 实例
    companyId Integer 公司id 1
    taskId Integer 任务Id 1
    name String 客户名称 张三
    phone String 客户电话 13998987676
    properties Map 客户额外信息 请看json入参

    响应:

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

    修改任务并发数(AI坐席数量)

    功能说明:

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

    入参JSON实例

    {
      //公司Id
      "companyId": 123,
      //任务Id
      "taskId":1669,
      //任务名称
      "taskName":"test",
      //任务类型 详见枚举
      "taskType":1,
      //外呼号码列表,当有多个外呼号码时可以用[,]分隔
      "userPhoneIds":"255,244",
      //外呼类型 详见枚举
      "callType":1,
      //并发数
      "concurrencyQuota":2
    }
    
    

    JSON响应实例:

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

    请求:

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

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 实例
    companyId Integer 公司Id 1
    taskId Integer 任务Id 1
    taskName String 任务名称 1
    taskType Integer 任务类型 1
    userPhoneIds String 外呼号码 1
    callType Integer 外呼类型 1
    concurrencyQuota Integer 公司Id 1

    响应:

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

    单次电话外呼

    功能说明:

    通过调用此接口可以进行单次电话外呼

    入参JSON实例

    {
      "customerId": 1
      "mobile": 13886871111
      "companyId": 1
      "variable": {
        "userName":"张三",
        "age":15
      }
      "sceneDefId": 255
      "sceneRecordId": 256
      "robotDefId": 230
    }
    

    JSON响应实例:

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

    请求:

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

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 实例
    customerId Integer 客户Id 1
    mobile Integer 客户手机号 1
    companyId Integer 公司Id 1
    variables Map 变量(如果话术内设置变量则需要传入) 1
    sceneDefId Integer 机器人话术场景Id 1
    sceneRecordId Integer 机器人话术录音Id 1
    robotDefId Integer 机器人话术Id 1

    响应:

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

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

    功能说明:

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

    入参JSON实例

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

    JSON响应实例:

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

    请求:

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

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 实例
    mobile String 客户手机号 1
    companyId Integer 公司Id 1
    variables Map 变量(如果话术内设置变量则需要传入) 1
    sceneDefId Integer 机器人话术场景Id 1
    sceneRecordId Integer 机器人话术录音Id 1
    robotDefId Integer 机器人话术Id 1
    userName String 客户姓名 1

    响应:

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

    任务信息查询接口

    获取任务列表接口

    功能说明:

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

    JSON响应实例:

    {
        "code": 200,
        "data": {
            "pageNum": 2, 
            "pageSize": 2, 
            "size": 2,
            "orderBy": null,
            "startRow": 3,
            "endRow": 4,
            "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": "心热大师傅",
                    "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 Integer 公司Id 1
    taskName String 任务名称 测试API任务
    createDate String "2017-10-19"
    status Integer 任务状态,选填 - 0:未开始,1:进行中,2:已完成,3:调度中,4:手动暂停,5:自动暂停,6:已终止,7:排队中,8:AI到期,9:账户欠费 1
    pageNum Integer 第几页,默认1 1
    pageSize Integer 页面大小,选填,默认10 10

    响应:

    参数名 类型 描述
    code integer 响应码
    pageNum Integer 第几页
    pageSize Integer 每页页面条数
    total Integer 数据总条数
    pages Integer 页面总数
    callJobId Integer 任务id
    jobName String 任务名称
    jobType Integer 任务类型,1-定时,2-手动
    startDate String 任务开始时间
    workingStartTime String 可拨打开始时间
    workingEndTime String 可拨打结束时间
    breakStartTime String 暂时停止开始时间
    breakEndTime String 暂时停止结束时间
    status Integer 任务状态, 0:未开始,1:进行中,2:已完成,3:调度中,4:手动暂停,5:自动暂停,6:已终止,7:排队中,8:AI到期,9:账户欠费
    remark String 任务注释
    totalCount Integer 任务拨打的号码总数
    doneCount Integer 任务已完成拨打的号码总数
    calledCount Integer 任务已完成呼通的号码总数
    rejectedCount Integer 任务呼叫被拒接的号码总数
    unavailableCount Integer 任务呼叫无法接通的号码总数
    fromUnavailableCount Integer 任务主叫号码不可用的号码总数
    callPhones List 主叫电话号码列表,格式和getPhones返回结果相同
    resultMsg String 响应说明

    获取任务详情接口

    功能说明:

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

    JSON响应实例:

    {
        "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",
                    "gmtCreate": "2017-10-19 17:33:06",
                    "gmtModified": "2017-10-19 17:33:06"
                },
                {
                    "jobPhoneId": 27,
                    "userPhoneId": 2,
                    "callJobId": 19,
                    "phone": "18888888888",
                    "phoneName": "sim2",
                    "gmtCreate": "2017-10-19 17:33:06",
                    "gmtModified": "2017-10-19 17:33:06"
                }
            ],
            "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 Integer 公司Id 1
    taskId Integer 任务Id 21

    响应:

    参数名 类型 描述
    code integer 响应码
    callJobId Integer 任务id
    jobName String 任务名称
    jobType Integer 任务类型,1-定时,2-手动
    startDate String 任务开始时间
    workingStartTime String 可拨打开始时间
    workingEndTime String 可拨打结束时间
    breakStartTime String 暂时停止开始时间
    breakEndTime String 暂时停止结束时间
    status Integer 任务状态, 0:未开始,1:进行中,2:已完成,3:调度中,4:手动暂停,5:自动暂停,6:已终止,7:排队中,8:AI到期,9:账户欠费
    remark String 任务注释
    totalCount Integer 任务拨打的号码总数
    doneCount Integer 任务已完成拨打的号码总数
    calledCount Integer 任务已完成呼通的号码总数
    rejectedCount Integer 任务呼叫被拒接的号码总数
    unavailableCount Integer 任务呼叫无法接通的号码总数
    fromUnavailableCount Integer 任务主叫号码不可用的号码总数
    robotDefName String 机器人名称
    sceneDefName String 场景名称
    sceneRecordName String 录音名称
    durationStat List 通话时长的统计信息
    chatRoundStat List 通话轮次的统计信息
    resultDefs List 结果分析的枚举
    callPhones List 主叫电话号码列表,格式和getPhones返回结果相同
    extraStat List 任务分析结果统计信息
    resultMsg String 响应说明

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

    功能说明:

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

    入参JSON实例

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

    JSON响应实例:

     {
         "code": 200,
         "data": {
             "pageNum": 1,
             "pageSize": 2,
             "size": 2,
             "orderBy": null,
             "startRow": 0,
             "endRow": 1,
             "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", 
                     "callIndex": 10,  
                     "luyinOssUrl": "https://jingrobot-dev.oss-cn-hangzhou.aliyuncs.com/RobotPhoneCommunicate/493.mp3", 
                     "secondaryCallTime": "1970-01-01 11:18:13", 
                     "secondaryCallTimes": 0, 
                     "gmtCreate": "2017-10-25 09:45:32",
                     "gmtModified": "2017-10-25 11:33:22",
                     "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,
                     "gmtCreate": "2017-10-25 09:45:32",
                     "gmtModified": "2017-10-25 11:17:17",
                     "jobName": "电话任务",
                     "resultList": [
                         {
                             "name": "催缴结果",
                             "value": "成功"
                         }
                     ]
                 }
             ]
         },
         "resultMsg": "操作成功",
         "errorStackTrace": null
     }
    
    

    请求:

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

    请求方法:

    POST

    请求参数:

    参数名 类型 是否必须 描述 实例
    callJobId Integer 任务id 1
    durationLeft Integer 通话时长左值 0
    durationRight Integer 通话时长右值 100
    chatRoundLeft Integer 通话轮次左值 21
    chatRoundRight Integer 通话时长右值 21
    finishStatus Integer 0:已接, 1:拒接, 2:无法接通, 3:主叫号码不可用, 4:空号, 5:关机, 6:占线, 7:停机, 8:未接, 9:主叫欠费 1
    index Integer 已经获取过任务结果的最大的index(第一次的时候传入-1,默认不传也是-1),index是指任务中电话结束顺序 21
    pageNum Integer 第几页(默认为1) 1
    pageSize Integer 显示数量/页(默认为10) 10
    resultQueryList List 支持按分析结果作为条件 10

    响应:

    参数名 类型 描述
    code integer 响应码
    pageNum Integer 第几页
    pageSize Integer 每页页面条数
    total Integer 数据总条数
    pages Integer 页面总数
    callInstanceId Integer 任务实例id(每个被叫电话为一个实例)
    sceneDefId Integer 场景id
    callJobId Integer 任务id
    customerTelephone String 被叫客户电话号码
    customerName String 被叫客户名称
    status String 任务实例状态, 0: 未开始,1: 进行中,2: 已完成,3: 二次拨打调度中
    finishStatus String 任务实例已经完成的状态, 0:已接, 1:拒接, 2:无法接通, 3:主叫号码不可用, 4:空号, 5:关机, 6:占线, 7:停机, 8:未接, 9:主叫欠费
    duration Integer 通话时长
    chatRound Integer 通话轮次
    startTime String 开始拨打时间
    endTime String 结束拨打时间
    callerPhone String 主叫电话
    callIndex Integer 电话结束顺序index
    luyinOssUrl Integer 通话录音
    secondaryCallTime List 通话时长的统计信息
    secondaryCallTimes List 重试拨打次数
    jobName List 任务名称
    resultList List 通话分析结果信息
    resultMsg String 响应说明

    获取一个通话的详情接口

    功能说明:

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

    JSON响应实例:

     {
        "code": 200,
         "data": {
            "phoneLog": {
                "phoneLogs": [ 
                    {
                        "sceneInstanceLogId": 1321,
                        "sceneInstanceId": 540, 
                        "speaker": "AI", 
                        "content": "哎,您好,等待2s 哎,您好,拱墅区 中大银泰城边上有个首付50万左右的精装公寓你考虑吗?", 
                        "userMean": null,
                        "userMeanDetail": null,
                        "aiUnknown": 1,
                        "startTime": 0,
                        "endTime": 0,
                        "gmtCreate": "2018-01-24 20:51:53",
                        "gmtModified": "2018-01-24 20:51:53"
                    },
                    {
                        "sceneInstanceLogId": 1322,
                        "sceneInstanceId": 540,
                        "speaker": "ME",
                        "content": "喂你好",
                        "userMean": "~",
                        "userMeanDetail": null,
                        "aiUnknown": 0,
                        "startTime": 300,
                        "endTime": 1145,
                        "gmtCreate": "2018-01-24 20:51:55",
                        "gmtModified": "2018-01-24 20:51:55"
                    },
                    {
                        "sceneInstanceLogId": 1323,
                        "sceneInstanceId": 540,
                        "speaker": "ME",
                        "content": "哦你好",
                        "userMean": "~",
                        "userMeanDetail": null,
                        "aiUnknown": 0,
                        "startTime": 2330,
                        "endTime": 3565,
                        "gmtCreate": "2018-01-24 20:51:57",
                        "gmtModified": "2018-01-24 20:51:57"
                    }
              "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,
                 "gmtCreate": "2018-01-24 20:51:31",
                 "gmtModified": "2018-02-03 18:27:19"
             },
             "taskResult": [ 
                 {
                     "sceneInstanceResultId": 188,
                     "companyId": 1,
                     "sceneInstanceId": 540,
                     "resultName": "预约时间",
                     "resultValue": "2018-01-25 08:00",
                     "resultDesc": null,
                     "analyzeType": null,
                     "gmtCreate": "2018-01-24 20:53:01",
                    "gmtModified": "2018-01-24 20:53:01"
                 },
                 {
                     "sceneInstanceResultId": 189,
                     "companyId": 1,
                     "sceneInstanceId": 540,
                     "resultName": "客户意向等级",
                     "resultValue": "A级(较强)",
                     "resultDesc": "该客户在通话过程中主动询问了产品细节,有进一步了解产品的意愿。",
                     "analyzeType": "BY_ANALYZE_USER_LEVEL",
                     "gmtCreate": "2018-01-24 20:53:28",
                     "gmtModified": "2018-01-31 10:34:55"
                 }
             ]
         },
         "resultMsg": "获取成功",
         "errorStackTrace": null
     }
    
    

    请求:

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

    请求方法:

    GET

    请求参数:

    参数名 类型 是否必须 描述 实例
    callInstanceId Integer 任务实例id 1

    响应:

    参数名 类型 描述
    code integer 响应码
    phoneLogs List 对话内容
    sceneInstanceId Integer 任务实例id
    speaker String 角色
    content String 内容
    aiUnknown Integer 是否是ai无法应答的问题,1-是,0-否
    luyinOssUrl String 通话录音
    callInstanceId Integer 任务实例id(每个被叫电话为一个实例)
    companyId Integer 公司id
    callJobId Integer 任务id
    customerId Integer 客户id
    customerTelephone String 客户手机
    customerName String 客户名称
    finishStatus String 任务实例已经完成的状态, 0:已接, 1:拒接, 2:无法接通, 3:主叫号码不可用, 4:空号, 5:关机, 6:占线, 7:停机, 8:未接, 9:主叫欠费
    status Integer
    duration Integer 通话时长
    chatRound Integer 通话轮次
    startTime String 开始拨打时间
    endTime String 结束拨打时间
    callerPhone String 主叫电话
    luyinOssUrl Integer 通话录音
    callType Integer 拨打类型 0: 免费试用 1: 任务 2: 用户单独拨打
    readStatus Integer 是否已读 0: 未读 1: 已读
    robotDefId String 关联的机器人id
    sceneDefId String 场景ID
    sceneRecordId Integer 关联的录音id
    trackResult List bug追踪结果
    jobName String 任务名称
    hangUp Integer 挂机人, 0: AI 1: 用户
    taskResult String 任务结果分析
    resultMsg String 响应说明

    信息回调接口

    回调地址说明

    通话记录回调与任务完成详情回调使用同一回调地址,请根据回调的数据中的"dataType"字段区分不同的回调。

     通话记录回调dataType:CALL_INSTANCE_RESULT
    
     任务完成详情回调dataType:JOB_INFO_RESULT
    
    

    通话记录回调接口

    功能说明:

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

    如果本次发送由于网络等原因发送失败,机器人会自动发起二次发送。

    最多回调10次,每次回调时长按1分钟,2分钟,4分钟,8分钟间隔依次递增,总回调时长可达24小时。回调成功后,处理方应当返回字符串success在返回的body体中

    入参JSON实例:

     {
       "code":200,
       "data":{
         "dataType":"CALL_INSTANCE_RESULT",
         "data":{
           "sceneInstance":{
             "callInstanceId":5357,
             "companyId":241,
             "callUserId":233,
             "callJobId":281,
             "customerId":1673,
             "customerTelephone":"17751279857",
             "customerName":"一二",
             "status":2,
             "finishStatus":0,
             "duration":5,
             "chatRound":1,
             "startTime":"2018-04-04 15:03:31",
             "endTime":"2018-04-04 15:03:39",
             "callerPhone":"057126881685",
             "luyinOssUrl":"https://byrobot-test.oss-cn-hangzhou.aliyuncs.com/RobotPhoneCommunicate/5357/HNZVBAMHQUGTEWVMJRBNTVMFQWSVFDEL.wav",
             "userLuyinOssUrl":"https://byrobot-test.oss-cn-hangzhou.aliyuncs.com/RobotPhoneCommunicate/5357_user.wav",
             "properties":"{}",
             "handlePerson":"房产电销精品录音(右琪)@20171226@20180105_20_31_18",
             "callType":1,
             "readStatus":0,
             "jobName":"测试",
             "robotDefId":24,
             "sceneDefId":77,
             "sceneRecordId":72,
             "corpName":"",
             "industry":"",
             "trackResult":null,
             "bugType":null,
             "hangUp":1,
             "secondaryCallTime":"1970-01-01 09:00:00",
             "secondaryCallTimes":2,
             "cost":0,
             "callbacked":0,
             "gmtCreate":"2018-04-04 15:01:40",
             "gmtModified":"2018-04-04 15:32:23",
             "propertiesMap":{
               "客户名称":"一二",
               "联系方式":"17751211111"
             }
           },
           "taskResult":[
             {
               "sceneInstanceResultId":955,
               "companyId":241,
               "sceneInstanceId":5357,
               "resultName":"客户意向等级",
               "resultValue":"C级(很少)",
               "resultDesc":"该客户只听取了很少的产品介绍就结束了通话。",
               "analyzeType":"BY_ANALYZE_USER_LEVEL",
               "gmtCreate":"2018-04-04 15:03:39",
               "gmtModified":"2018-04-04 15:03:39"
             }
           ],
           "phoneLog":{
             "phoneLogs":[
               {
                 "sceneInstanceLogId":4762,
                 "sceneInstanceId":5357,
                 "decisionId":455828,
                 "speaker":"AI",
                 "content":"哎,您好,拱墅区 中大银泰城边上有个首付50万左右的精装公寓你考虑吗?",
                 "userMean":null,
                 "userMeanDetail":null,
                 "aiUnknown":false,
                 "startTime":0,
                 "endTime":0,
                 "gmtCreate":"2018-04-04 15:03:31",
                 "gmtModified":"2018-04-04 15:03:31"
               }
             ],
             "luyinOssUrl":"https://byrobot-test.oss-cn-hangzhou.aliyuncs.com/RobotPhoneCommunicate/5357/HNZVBAMHQUGTEWVMJRBNTVMFQWSVFDEL.wav"
           },
              "jobFinished":true
         }
       },
       "resultMsg":"成功",
       "errorStackTrace":null
     }
    
    

    请求方法:

    POST

    请求参数:

    参数名 类型 描述
    dataType String 回调类型
    phoneLogs List 对话内容
    sceneInstanceId Integer 任务实例id
    speaker String 角色
    content String 内容
    aiUnknown Integer 是否是ai无法应答的问题, 1-是, 0-否
    luyinOssUrl String 通话录音
    callInstanceId Integer 任务实例id(每个被叫电话为一个实例)
    companyId Integer 公司id
    callJobId Integer 任务id
    customerId Integer 客户id
    customerTelephone String 客户手机
    customerName String 客户名称
    finishStatus String 任务实例已经完成的状态, 0:已接听, 1:拒接, 2:无法接通, 3:主叫号码不可用, 4:空号, 5:关机, 6:占线, 7:停机, 8:未接, 9:主叫欠费
    breakEndTime String 暂时停止结束时间
    status Integer 任务状态, 0:未开始,1:进行中,2:已完成,3:调度中,4:手动暂停,5:自动暂停,6:已终止,7:排队中,8:AI到期,9:账户欠费
    duration Integer 通话时长
    chatRound Integer 通话轮次
    startTime String 开始拨打时间
    endTime String 结束拨打时间
    callerPhone String 主叫电话
    luyinOssUrl Integer 通话录音
    callType Integer 拨打类型 0: 免费试用 1: 任务 2: 用户单独拨打 3: 收费试用 4:Ope后台拨打 100: 人工拨打
    readStatus Integer 是否已读 0: 未读 1: 已读
    robotDefId String 关联的机器人id
    sceneDefId String 场景ID
    sceneRecordId List 关联的录音id
    trackResult List bug追踪结果
    jobName List 任务名称
    hangUp List 挂机人, 0: AI 1: 用户
    taskResult String 任务结果分析
    jobFinished Boolean 任务是否完成 true:已完成,false:未完成

    响应:

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

    任务完成详情回调接口

    功能说明:

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

    如果本次发送由于网络等原因发送失败,机器人会自动发起二次发送。

    最多回调10次,每次回调时长按1分钟,2分钟,4分钟,8分钟间隔依次递增,总回调时长可达24小时。回调成功后,处理方应当返回字符串success在返回的body体中

    入参JSON实例:

     {
        "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": "步婉",
                "ip": "172.16.67.104",
                "hostName": "byrobot-daily",
                "version": 1,
                "secondaryStartTime": "09:00:00",
                "jobIsDelete": false,
                "gmtCreate": "2018-04-25 11:11:45",
                "gmtModified": "2018-04-25 11:17:19"
            }
        },
        "resultMsg": "执行成功",
        "errorStackTrace": null
     }
    
    

    请求方法:

    POST

    请求参数:

    参数名 类型 描述
    dataType String 回调类型
    callJobId List 任务id
    companyId Integer 公司id
    jobName String 任务名称
    jobType Integer 任务类型:1-定时,2-手动
    startDate String 任务开始时间
    endDate String 任务结束时间
    workingStartTime String 可拨打起始时间
    workingEndTime String 可拨打结束时间
    breakStartTime Integer 午休起始时间
    breakEndTime Integer 午休结束时间
    status String 状态, 0:未开始,1:进行中,2:已完成,3:调度中,4:手动暂停,5:自动暂停,6:已终止,7:排队中,8:AI到期,9:账户欠费
    callType Integer 外呼方式:0-手机号,1-固话,2-无主叫
    robotDefId Integer 关联的机器人id
    sceneDefId Integer 场景id
    sceneRecordId Integer 关联的录音id
    remark String 备注
    smsType Integer 是否发送挂机短信:0-否,1-是
    smsCondition String 发送挂机短信条件,json格式
    smsTemplateId String 发送挂机短信的模板
    userId Integer 创建人id
    userName String 创建人名称
    ip Integer 任务执行IP
    hostName Integer 任务执行主机
    version Integer 锁版本号
    secondaryStartTime String 二次启动job的时间
    jobIsDelete Boolean job是否已经删除 false:没有删除 true:已经删除

    响应:

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

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

    功能说明:

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

    返回JSON实例:

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

    请求方法:

    POST

    请求参数:

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

    响应:

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