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

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