CURL Отправка JSON через POST-запрос PHP
Есть API, формирую запрос, но что то не срабатывает, ругается что нет каких то параметров в json. Авторизацию проходит, но вот на параметры ругается. Хотя в массив пишу все, что требует сервис. Помогите понять пожалуйста, может я не так делаю?
Вот пример запроса сервиса:
curl https://api.ucaller.ru/v1.0/initCall \
-X "POST" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <Секретный ключ вашего сервиса>.<Идентификатор сервиса>"
-d '{"phone":79001000010, "code":1000, "client":"nickname", "unique":"f32d7ab0-2695-44ee-a20c-a34262a06b90", "voice":true}'
Делаю так:
$data = array(
"phone" => 79001000010,
"code" => 1000,
"client" => "nickname",
"unique" => "112d7ab0-2695-44ee-a20c-a34262a06b93",
"voice" => true
);
$ch = curl_init('https://api.ucaller.ru/v1.0/initCall');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer {$api_key}.{$service_id}"));
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data, JSON_UNESCAPED_UNICODE));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$res = curl_exec($ch);
curl_close($ch);
$res = json_encode($res, JSON_UNESCAPED_UNICODE);
print_r($res);