预测试外呼接口文档


预测式外呼 - 预测式外呼接入流程

预测式外呼接入流程

3986542d676f7ddfd0fdcd85e171010d.jpg

预测式外呼 - 任务状态参数回调说明

接口说明

任务结束就会推送

回调方式

由客户提供一个可以接收json数据的接口地址,由我们配置或客户自行在后台配置都可以

分机状态回调数据示例

{
	"taskid": "20260828142910757770",
	"companycode": "3562829",
	"status": 3,
	"round": 1,
	"endtype": "over"
}

字段说明

字段 类型 说明
taskid string 任务id
companycode string 公司编码
status string 任务结束 3
round string 轮次
endtype string 结束类型 over 正常结束, timeout 任务截止结束

预测式外呼 - 创建预测试外呼任务接口

接口说明

创建一个预测试外呼任务。注:单个任务的号码数不要超过10000个,如果需要再增加号码,请通过追加接口提交。

请求参数

参数名 类型 是否必须 说明
service string App.Sip_Yccall.TaskCreat
token string 通过授权接口获取的token
assigntype int 分配类型 1:分机 3:分机组
assignagent string 设置为分机,直接填写分机;设置为群组,填写群组名称
telphone string(JSON) 手机号码、预设呼叫时间(时间戳)(默认当前时间戳,大于此时间则不呼)等。示例:[{“phone”:18012345678,”time”:1500000000,”userid”:””,”memberid”:””,”chengshudu”:””,”customuuid”:””}]
taskscale string 空闲坐席呼叫比 格式 1:1
concurrent string 任务并发 默认100
scheduledtime string 任务计划执行时间,任务开启状态下有效 格式:yyyy-mm-dd hh:mm:ss
pausedtime string 任务运行截止时间,任务开启状态下有效 格式:yyyy-mm-dd hh:mm:ss
isscale string 是否固定呼叫比例 auto:动态计算,manual:手动指定
disnumber string 主叫号码(用户手机上显示的来电号码),必须使用系统配置的主叫号码,否则呼叫失败,多个号码用逗号隔开(为空则系统随机选取主叫号码)
taskname string 任务名
status string 任务是否开启 0不开启、1开启、默认是0
customtaskid string 自定义任务id
is_multi_call int 是否开启多轮呼叫 (0:关闭, 1:开启) 默认0
multi_call_type int 重呼类型 (1:全量重呼, 2:未接通重呼) 默认2
multi_call_max_rounds int 最大重呼次数(包含首轮呼叫)
multi_call_interval int 多轮呼叫间隔时间 秒, 默认值3600秒 否

接口请求示例(PHP)

<?php
    $apiUrl = 'http://127.0.0.1:8080';
    foreach ($phoneArr as $phone){
        $telphoneArr[] = [
            'phone' => trim($phone),
            'time'  => $start_time,
            'memberid'  => '',
            'chengshudu'  => '',
            'customuuid'  => '',
            ];
    }
    $postFields = [
        'service'   => 'App.Sip_Yccall.TaskCreat',
        'token'     => 'ABCDEFG',
        'assigntype'    => 2,
        'assignagent'   => 'queue-1',
        'telphone'      => json_encode($telphoneArr),
        'taskscale'     => '1:1',
        'disnumber'     => ''
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

返回数据结构示例

{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "创建成功",
        "result": {
            "taskid": "20200212163504393460",
            "invaliddata": []
        },
        "reqtime": 1581496504,
        "rsptime": 1581496504
    },
    "msg": ""
}

返回参数说明

参数名 类型 说明
result object 返回结果
taskid string 任务唯一id
invaliddata array 无效数据

预测式外呼 - 设置预测试外呼任务状态接口

接口说明

设置预测试外呼任务的状态。

请求参数

参数名 类型 是否必须 说明
service string App.Sip_Yccall.TaskSet
token string 通过授权接口获取的token
taskid string 创建任务时返回的唯一id
taskstatus int 设置任务状态 1:开启、2:暂停、3:结束

接口请求示例(PHP)

<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Yccall.TaskSet',
        'token'     => 'ABCDEFG',
        'taskid'    => 'ABCDEFG',
        'taskstatus' => 1,
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

成功返回数据结构示例

{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "设置成功",
        "reqtime": 1581496800,
        "rsptime": 1581496800
    },
    "msg": ""
}

失败返回数据结构示例

{
    "ret": 200,
    "data": {
        "status": 1,
        "desc": "失败",
        "errors": {
            "code": 1002,
            "codemsg": "非进行中的任务无法暂停,当前任务状态(暂停)"
        },
        "reqtime": 1784876669,
        "rsptime": 1784876669
    },
    "msg": ""
}

返回参数说明

参数名 类型 说明
desc string 返回描述

预测式外呼 - 预测试外呼任务号码追加接口

预测试外呼任务号码追加接口

接口说明

已创建的预测式任务中,通过此接口可对任务中的号码进行增加,单次追加号码不要超过10000个。 只有未开始、进行中或已暂停的任务才能追加号码

请求参数
参数名 类型 是否必须 说明
service string App.Sip_Yccall.TaskAdd
token string 通过授权接口获取的token
taskid string 预测式任务ID
customtaskid string 自定义任务id
telphone string(JSON) 手机号码、预设呼叫时间(时间戳)(默认当前时间戳,大于此时间则不呼)等。示例:[{“phone”:18012345678,”time”:1500000000,”userid”:””,”memberid”:””,”chengshudu”:””,”customuuid”:””}]
请求接口示例(PHP)
<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Yccall.TaskAdd',
        'token'     => 'ABCDEFG',
        'taskid'    => 'ADSFNIDJN',
        'telphone'  => '[{"phone":18012345678,"time":1500000000,"userid":"","memberid":"","chengshudu":"","customuuid":""}]'
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>
返回数据结构示例
{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "追加成功",
        "result": {
            "success": 7,
            "invaliddata": []
        },
        "reqtime": 1613962979,
        "rsptime": 1613962979
    },
    "msg": ""
}
返回参数说明
参数名 类型 说明
result object 返回结果
success int 追加成功的号码
invaliddata array 无效数据

预测式外呼 - 删除预测任务中的号码

接口说明

删除预测试外呼任务中的号码。

请求参数

参数名 类型 是否必须 说明
service string App.Sip_Yccall.taskDelPhone
token string 通过授权接口获取的token
taskid string 创建任务时返回的唯一id
telphone string 号码,多个号码用英文逗号隔开

接口请求示例(PHP)

<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Yccall.taskDelPhone',
        'token'     => 'ABCDEFG',
        'taskid'    => 'ABCDEFG',
        'telphone' => 1,
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

返回数据结构示例

{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "删除成功",
        "reqtime": 1581496800,
        "rsptime": 1581496800
    },
    "msg": ""
}

返回参数说明

参数名 类型 说明
desc string 返回描述

预测式外呼 - 预测外呼任务列表

接口说明

获取任务列表

请求参数

参数名 类型 是否必须 说明
service string App.Sip_Yccall.TaskList
token string 通过授权接口获取的token
createtime datetime 任务创建时间,格式:yyyy-mm-dd hh:mm:ss
endtime datetime 结束时间,格式:yyyy-mm-dd hh:mm:ss
taskid string 任务ID
taskname string 任务名称
status string 任务状态 0:未开始、1:进行中、2:暂停、3:结束
tasktype string 接听类型 transfer:分机、groups:群组
taskobject string 群组或坐席
currentpage int 页数,默认:1
itemsperpage int 每页数量,默认:10,最小:1;最大:1000

接口请求示例(PHP)

<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Yccall.TaskList',
        'token'     => 'ABCDEFG',
        'taskid'     => ''
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

返回数据结构示例

{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "获取成功",
        "result": {
          "totalitems": 1,
          "currentpage": 1,
          "itemsperpage": 10,
          "task": [
              {
                  "taskid": "20250106150501420056", #任务id
                  "taskname": "20250106150501420056",  # 任务名称
                  "taskassign": "700000",  # 任务坐席
				"starttime": "2021-08-21 00:11:22",  # 启动时间
                  "taskscale": "1:2",  # 外呼比例
                  "nowscale": "", # 当前呼叫比例
                  "disnumber": "17328347742",  # 主叫号码
                  "status": 1025,  # 任务状态:1025=未开始,1026=进行中,1027=暂停,1028=已结束
                  "createtime": "2025-01-06 15:05:01",  # 创建时间
                  "total": 2,  # 任务总数
                  "called": 0,  # 已呼叫个数
                  "nocall": 2  # 未呼叫个数
              }
          ]
      },
      "reqtime": 1581496504,
      "rsptime": 1581496504
    },
    "msg": ""
}

返回参数说明

参数名 类型 说明
result object 返回结果

预测式外呼 - 预测外呼任务号码列表

接口说明

获取预测式外呼任务呼叫详情数据

请求参数

参数名 类型 是否必须 说明
service string App.Sip_Yccall.TaskInfo
token string 通过授权接口获取的token
taskid string 任务ID
currentpage int 页数,默认:1
itemsperpage int 每页数量,默认:10,最小:1;最大:1000

接口请求示例(PHP)

<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Yccall.TaskInfo',
        'token'     => 'ABCDEFG',
        'taskid'     => 'taskid'
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

返回数据结构示例

{
  "ret": 200,
  "data": {
      "status": 0,
      "desc": "成功",
      "result": {
          "totalitems": 1,
          "currentpage": 1,
          "itemsperpage": 1000,
          "task": [{
              "taskid": "20260917111445955230",
              "taskname": "20260917111445955230",
              "taskassign": "kefu01",
              "taskscale": "1:2",
              "nowscale": null,
              "concurrent": 200,
              "currentconcurrent": 0,
              "disnumber": "0",
              "status": 1025,
              "customtaskid": "8888723019",
              "createtime": "2026-09-17 10:14:48",
              "starttime": null,
              "endtime": null,
              "scheduledtime": null,
              "pausedtime": null,
              "round": 1,
              "isscale": "auto",
              "is_multi_call": 1,
              "multi_call_type": 2,
              "multi_call_interval": 60,
              "multi_call_max_rounds": 1,
              "message": "未开始",
              "runtime": "00:00:00",
              "total": 2,
              "called": 0,
              "nocall": 2,
              "answer": 0,
              "noanswer": 0,
              "losscall": 0
          }]
      },
      "reqtime": 1789614969,
      "rsptime": 1789614969
  },
  "msg": ""
} 

返回参数说明

参数名 类型 说明
result object 返回结果

预测式外呼 - 获取预测任务客户详情信息

接口说明

获取预测式外呼客户详情信息

请求参数

参数名 类型 是否必须 说明
service string App.Sip_Customer.GetTaskDetailInfo
token string 通过授权接口获取的token
taskid string 任务ID
telphone string 客户号码

接口请求示例(PHP)

<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Customer.GetTaskDetailInfo',
        'token'     => 'ABCDEFG',
        'taskid'     => 'taskid',
		'telphone' =>'121212121',
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

返回数据结构示例

{
  "ret": 200,
  "data": {
      "status": 0,
      "desc": "成功",
      "result": [
          {
              "taskid": "20260917115229487138",
              "telphone": "15988739244",
              "telname": "阿三",
              "sex": "男",
              "age": "18",
              "ext": "{\"type\":\"robot\",\"level\":4}",
              "mark": null,
              "taskname": "20260917115229487138"
          }
      ],
      "reqtime": 1789627594,
      "rsptime": 1789627594
  },
  "msg": ""
}

返回参数说明

参数名 类型 说明
result object 返回结果

预测式外呼 - 获取agent接通情况

接口说明

获取坐席接通情况

请求参数

参数名 类型 是否必须 说明
service string App.Sip_Yccall.TaskAgentCall
token string 通过授权接口获取的token
createtime string 任务创建开始时间, 格式 2025-09-01 00:00:00
endtime string 任务创建结束时间,格式 2025-09-05 00:00:00
taskid string 任务ID 多个任务id用,分隔
agent string agent 名称
customtaskid string 自定义任务id
currentpage int 页数,默认:1
itemsperpage int 每页数量,默认:10,最小:1;最大:1000

接口请求示例(PHP)

<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Yccall.TaskAgentCall',
        'token'     => 'ABCDEFG',
        'taskid'     => 'taskid',
        'agent'   => 'agent',
        'customtaskid' =>'customtaskid'
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

返回数据结构示例

{
"ret": 200,
"data": {
    "status": 0,
    "desc": "获取成功",
    "result": {
        "totalitems": 3,
        "currentpage": 1,
        "itemsperpage": 10,
        "task": [
            {
                "agent": "测试1",  #agent名称
                "total_calls": 168,   #呼叫总数
                "connected_calls": 0,  #接通数
                "fail_calls": 168,    #未接数
                "connect_rate_percent": "0.00"  #接通率
            }
        ]
    },
    "reqtime": 1756961582,
    "rsptime": 1756961582
},
"msg": ""

}

返回参数说明

参数名 类型 说明
result object 返回结果

预测式外呼 - 获取agent转接情况

接口说明

获取坐席转接情况

请求参数

参数名 类型 是否必须 说明
service string App.Sip_Yccall.TaskAgentTta
token string 通过授权接口获取的token
createtime string 任务创建开始时间, 格式 2025-09-01 00:00:00
endtime string 任务创建结束时间,格式 2025-09-05 00:00:00
taskid string 任务ID 多个任务id用,分隔
agent string agent 名称
customtaskid string 自定义任务id
currentpage int 页数,默认:1
itemsperpage int 每页数量,默认:10,最小:1;最大:1000

接口请求示例(PHP)

<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Yccall.TaskAgentTta',
        'token'     => 'ABCDEFG',
        'taskid'     => 'taskid'
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

返回数据结构示例

{
"ret": 200,
"data": {
    "status": 0,
    "desc": "获取成功",
    "result": {
        "totalitems": 3,
        "currentpage": 1,
        "itemsperpage": 10,
        "task": [
            {
                "agent": "测试1",  #agent名称
                "total_tta": 168,   #转接到坐席数
                "success_tta": 0,  #转接到坐席接通
                "fail_tta": 168,    #转接坐席未接
                "tta_rate_percent": "0.00"  #成功转接率
            }
        ]
    },
    "reqtime": 1756961582,
    "rsptime": 1756961582
},
"msg": ""

}

返回参数说明

参数名 类型 说明
result object 返回结果

预测式外呼 - 获取agent正在呼叫情况

接口说明

获取坐席正在通话情况

请求参数

参数名 类型 是否必须 说明
service string App.Sip_Yccall.TaskAgentCalling
token string 通过授权接口获取的token
createtime string 任务创建开始时间, 格式 2025-09-01 00:00:00
endtime string 任务创建结束时间,格式 2025-09-05 00:00:00
taskid string 任务ID 多个任务id用,分隔
agent string agent名称
customtaskid string 自定义任务id
currentpage int 页数,默认:1
itemsperpage int 每页数量,默认:10,最小:1;最大:1000

接口请求示例(PHP)

<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Yccall.TaskAgentCalling',
        'token'     => 'ABCDEFG',
        'taskid'     => 'taskid'
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

返回数据结构示例

{
"ret": 200,
"data": {
    "status": 0,
    "desc": "获取成功",
    "result": {
        "totalitems": 3,
        "currentpage": 1,
        "itemsperpage": 10,
        "task": [
            {
                "agent": "测试1",  #agent名称
                "total_calls": 168,   #呼叫数
            }
        ]
    },
    "reqtime": 1756961582,
    "rsptime": 1756961582
},
"msg": ""

}

返回参数说明

参数名 类型 说明
result object 返回结果