# 预测试外呼接口文档

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

#### 接口说明

创建一个预测试外呼任务。注：单个任务的号码数不要超过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 | 无效数据 |

# 预测式外呼 - 呼叫状态参数回调说明

#### 接口说明

**预测试外呼任务开始之后，系统会根据创建任务时传入的参数，呼叫对应号码，当目标号码接通之后，系统会根据任务所属任务组中的坐席闲忙状态，将用户分配给任务组中的空闲坐席分机中，对应的分机会响铃（此时会向后台配置的分机状态回调地址发送分机响铃状态回调数据），当客服人员接听（此时会向后台配置的分机状态回调地址发送分机接听状态回调数据）然后挂断（此时会向后台配置的分机状态回调地址发送分机挂断状态回调数据）之后，系统会向后台配置的话单推送回调地址发送话单回调数据。**

#### 回调方式
由客户提供一个可以接收json数据的接口地址，由我们配置或客户自行在后台配置都可以

#### 分机状态回调数据示例

    {
        "buuid":"9c6f2092-6aad-11eb-a1b9-5107cdf1d50a",
        "callee":"89683227899",
        "caller":"20280005",
        "companycode":"2028",
        "direction":"callout",
        "disnumber":"2120280001",
        "extnumber":"20280005",
        "isbleg":"true",
        "method":"2",
        "starttime":"1612857945",
        "status":"ring",
        "type":"call",
        "uuid":"9c568ac8-6aad-11eb-a1b3-5107cdf1d50a"
    }
    

#### 字段说明

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| buuid | string | B侧唯一id |
| callee | string | 被叫号码（用户号码） |
| caller | string | 呼叫号码（分机号） |
| companycode | string | 公司码 |
| direction | string | 呼叫方向 callin 呼入、callout 呼出 |
| disnumber | string | 显示号码 |
| extnumber | string | 分机号 |
| isbleg | string | 是否B侧 |
| method | string | 呼叫方式、1分机、2手动、3接口、4双呼、5预测 |
| starttime | string | 呼叫开始时间 |
| status | string | 分机状态 ring 响铃 answer 接听 hangup 挂断 |
| type | string | 呼叫 |
| uuid | string | 通话唯一id |

#### 话单回调数据示例

    {
        "type":"callout",
        "callmethod":6,
        "starttime":"2021-02-09 10:00:03",
        "answertime":"",
        "endtime":"2021-02-09 10:00:15",
        "duration":12,
        "billsec":0,
        "crmid":"0",
        "memberid":"0",
        "chengshudu":"0",
        "disnumber":"211040260001",
        "destnumber":"81211623586",
        "extnumber":"000000",
        "recordfilename":"",
        "downloadip":"",
        "hangupdirection":10040,
        "hangupcause":10020,
        "companycode":"104026",
        "uuid":"863ff91e-6a7a-11eb-acf1-5107cdf1d50a",
        "userkey":"",
        "customuuid":"110001475"
    }
    

#### 字段说明

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| type | string | 呼叫方式 |
| callmethod | int | 呼叫方式 |
| starttime | string | 呼叫时间 |
| answertime | string | 接听时间 |
| endtime | string | 挂机时间 |
| duration | int | 等待接听时长 |
| billsec | int | 通话时长 |
| crmid | string | 坐席id |
| memberid | string | 自定义参数 |
| chengshudu | string | 自定义参数 |
| disnumber | string | 主叫号码 |
| destnumber | string | 目标号码 |
| extnumber | string | 分机号 |
| recordfilename | string | 通话文件名 |
| downloadip | string | 下载ip |
| hangupdirection | int | 挂断方向 |
| hangupcause | int | 挂断原因 |
| companycode | string | 公司码 |
| uuid | string | 通话唯一id |
| userkey | string | 用户按键 |
| customuuid | string | 自定义参数 |

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

#### 接口说明

获取预测式外呼客户详情信息

#### 请求参数

| 参数名 | 类型 | 是否必须 | 说明 |
| --- | --- | --- | --- |
| service | string | 是 | App.Sip\_Customer.GetTaskDetailInfo|
| token | string | 是 | 通过授权接口获取的token |
| taskid | string | 是 | 任务ID |
| currentpage | int | 否 | 当前页 |
| itemsperpage | int | 否 | 每页显示 |
#### 接口请求示例（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": {
            "totalitems": 1,
            "currentpage": 1,
            "itemsperpage": 10,
            "result": [
            	{
                 "taskid": "20250117190748084244",
                 "telphone": "081381300209",
                 "telname": "阿三2",
                 "sex": "男",
                 "age": "18",
                 "chengshudu": "",
                 "mark": "2222",
                 "taskname": "test6"
                }
           ],
        },
            "reqtime": 1581496504,
            "rsptime": 1581496504
        },
        "msg": ""
    }
    

#### 返回参数说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| result | object | 返回结果 |

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

#### 接口说明

设置预测试外呼任务的状态。

#### 请求参数

| 参数名 | 类型 | 是否必须 | 说明 |
| --- | --- | --- | --- |
| 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": ""
    }
    

#### 返回参数说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| desc | string | 返回描述 |

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

#### 预测式外呼接入流程
[![3986542d676f7ddfd0fdcd85e171010d.jpg](https://document.infin8linx.com/uploads/images/gallery/2025-08/scaled-1680-/3986542d676f7ddfd0fdcd85e171010d.jpg)](https://document.infin8linx.com/uploads/images/gallery/2025-08/3986542d676f7ddfd0fdcd85e171010d.jpg)

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

#### 预测试外呼任务号码追加接口
##### 接口说明

已创建的预测式任务中，通过此接口可对任务中的号码进行增加，单次追加号码不要超过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 | 无效数据 |

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

#### 接口说明

此接口主要用于返回预测式任务的状态，由客户提供一个可以接收json数据的接口地址，由我们配置即可。

#### 预测式任务状态回调数据格式

    {
        "taskid":"20210222110030244314",
        "companycode":"9027",
        "status":3
    }
    

#### 预测式任务状态回调参数说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| taskid | string | 对应预测式任务ID |
| companycode | string | 对应账号的公司编号 |
| status | string | 任务完成标识，只返回3 |

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

#### 接口说明

**获取任务列表**

#### 请求参数

| 参数名 | 类型 | 是否必须 | 说明 |
| --- | --- | --- | --- |
| 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 | 否 | 当前页
| itemsperpage | int | 否 | 每页显示
#### 接口请求示例（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 | 否 | 当前页 |
| itemsperpage | int | 否 | 每页显示 |
#### 接口请求示例（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": 10,
            "result": [
            	{
                    "taskid": "20250110232019949748",
                    "telphone": "18112345678",
                    "userid": "",
                    "memberid": "",
                    "chengshudu": "",
                    "customuuid": "",
                    "status": 1036,      # 是否呼叫  1036 已呼叫  1035 未呼叫
                    "extnumber": null,  # 坐席号
                    "answered": null,   # 否接通，1 表示接通，0 表示未接通
                    "answertype": null, # 接通类型 caller 坐席未接，callee 被叫未接通，connected 呼叫接听
                    "calltime": null,   # 呼叫时间
                    "duration": 0,   # 等待时间
                    "billsec": 0,      # 通话时间
                    "createtime": "2025-01-10 22:20:20",
					"mark": "sssssssss"  //备注
                }
        ],
        },
            "reqtime": 1581496504,
            "rsptime": 1581496504
        },
        "msg": ""
    }
    

#### 返回参数说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| result | object | 返回结果 |

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

#### 接口说明

删除预测试外呼任务中的号码。

#### 请求参数

| 参数名 | 类型 | 是否必须 | 说明 |
| --- | --- | --- | --- |
| 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 | 返回描述 |

# 预测式外呼 - 获取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 | 否 | 当前页 |
| itemsperpage | int | 否 | 每页显示 |
#### 接口请求示例（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.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 | 否 | 当前页 |
| itemsperpage | int | 否 | 每页显示 |
#### 接口请求示例（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 | 否 | 当前页 |
| itemsperpage | int | 否 | 每页显示 |
#### 接口请求示例（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 | 返回结果 |