**基于官方开放平台提供的PHP Demo进行钉钉业务事件回调接口注册时常见问题及解决:**
**1、注册业务事件回调接口请求参数配置说明**
```php
call_back_tag:需要监听的事件类型,如:["bpms_task_change", "bpms_instance_change"]
token:加解密需要用到的token,自定义
aes_key:数据加密密钥。用于回调数据的加密,长度固定为43个字符,从a-z, A-Z, 0-9共62个字符中选取,可以随机生成
url:接收事件回调的url,必须是公网可以访问的url地址
```
**2、接收事件回调的url页面加解密配置说明-测试回调URL**
```php
//企业内部应用开发可以忽略该项
define("CREATE_SUITE_KEY", "suite4xxxxxxxxxxxxxxx");
//套件key。企业内部应用开发请填写corpid
define("SUITE_KEY", "dingxxxxxxxxxxxxxxxx");
//企业内部应用开发可以忽略该项
define("SUITE_SECRET", "");
//加解密需要用到的token,自定义,保持和注册业务事件回调接口register_call_back传递的token值相同即可
define("TOKEN", "123456");
//企业内部应用可以忽略该项
define("APPID", "");
//数据加密密钥。自定义,用于回调数据的加密,长度固定为43个字符,从a-z, A-Z, 0-9共62个字符中选取,可以随机生成。保持和注册业务事件回调接口register_call_back传递的AES_KEY值相同即可
define("ENCODING_AES_KEY", "6g5j67qlyl3zvetqxz9jiocdr586fn2zvjp78zls3il");
```
**3、post请求头(不是json格式)/请使用json格式上传数据**
```php
public function curl_post_json($url, $jsonStr){
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charset=utf-8',
'Content-Length: '