# 设置频道回调接收地址

### 接口URL

```
http://api.polyv.net/live/v3/user/set-channel-callback
```

### 接口说明

```
1.设置频道回调地址；用于频道增加、删除、修改（包括基本信息设置、讲师设置、嘉宾设置、直播状态的修改）的通知回调url设置
2.接口支持https
```

### 请求方式

```
POST
```

### 请求参数

| 参数名       | 必选   | 类型及范围  | 说明                                                                                                                                                                                                        |
| --------- | ---- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| sign      | true | String | 签名，为32位大写的MD5值,`生成签名的appSecret密钥作为通信数据安全的关键信息，严禁保存在客户端直接使用，所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据`【详见[签名生成规则](https://git.polyv.net/help-center/document-center/-/blob/master/live/api/buildSign/README.md)】 |
| appId     | true | string | 开发者账号下的appId                                                                                                                                                                                              |
| timestamp | true | string | 13位当前时间的时间戳                                                                                                                                                                                               |
| url       | true | string | 回调地址，需要带上协议(http、https)；传空即关闭回调服务；不得超过255个字符                                                                                                                                                              |

### 返回错误结果JSON示例

```json
签名错误：
{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}
时间戳错误：
{
    "code": 400,
    "status": "error",
    "message": "invalid timestamp.",
    "data": ""
}
appId错误
{
    "code": 400,
    "status": "error",
    "message": "appId is required.",
    "data": ""
}
应用找不到
{
    "code": 400,
    "status": "error",
    "message": "application not found.",
    "data": ""
}
回调url不合法
{
    "code": 400,
    "status": "error",
    "message": "url is illegal",
    "data": ""
}
```

### 返回正确结果JSON示例

```json
{
    "code": 200,
    "status": "success",
    "message": "",
    "data": "success"
}
```

### 字段说明

| 字段      | 类型及范围  | 说明                   |
| ------- | ------ | -------------------- |
| code    | int    | 接口请求状态码，200表示成功      |
| status  | string | 接口请求状态，"success"表示成功 |
| message | string | 请求失败时返回的错误信息         |
| data    | string |                      |

### PHP请求示例

```php
<?php

//引用config.php
include 'config.php';

$url = "https://api.polyv.net/live/channelCallbackTest";
$params = array(
        'appId'=>$appId,
        'url'=>$url,
        'timestamp'=>$timestamp
    );

//生成sign
$sign = getSign($params); //详细查看config.php文件
$params['sign'] = $sign;

$url="http://api.polyv.net/live/v3/channel/bookings-and-likes?".http_build_query($params);

$ch = curl_init() or die ( curl_error() );
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
$response = curl_exec ( $ch );
curl_close ( $ch );
echo $response;
?>

```
