Здравствуйте, уважаемые коллеги.
Возникла проблема при работе с методом telephony.externalcall.finish.
Сложность заключается в том, что мне никак не удается подгрузить аудиозапись разговора в Битрикс24.
Вот пример кода с передаваемыми параметрами:
[B]$queryUrl = '[URL=https://web_address/telephony.externalcall.finish.json]https://web_address/telephony.externalcall.finish.json[/URL]';
$queryData = http_build_query(array(
"CALL_ID" => "externalCall.c56fc0ce3f3acb86cdf628d30a2e9630.1510320719",
"USER_ID" => 1,
"DURATION" => "120",
"RECORD_URL" => "[URL=http://server_ip/430338734.mp3]http://server_ip/430338734.mp3[/URL]",
));
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, 1);
var_dump($result);
if (array_key_exists('error', $result)) echo "Error: " . $result['error_description'];
[/B]
Вот ответ, который я получаю от сервера Битрикс24:
[B]array(1) { ["result"]=> array(20) { ["CALL_ID"]=> string(56) "externalCall.c56fc0ce3f3acb86cdf628d30a2e9630.1510320719" ["PORTAL_USER_ID"]=> int(1) ["PHONE_NUMBER"]=> string(10) "0443695575" ["PORTAL_NUMBER"]=> string(9) "REST_APP:" ["INCOMING"]=> string(1) "2" ["CALL_DURATION"]=> int(120) ["CALL_START_DATE"]=> array(0) { } ["CALL_STATUS"]=> int(1) ["CALL_VOTE"]=> int(0) ["COST"]=> int(0) ["COST_CURRENCY"]=> string(0) "" ["CALL_FAILED_CODE"]=> string(3) "200" ["CALL_FAILED_REASON"]=> string(0) "" ["REST_APP_ID"]=> NULL ["REST_APP_NAME"]=> bool(false) ["CRM_ACTIVITY_ID"]=> string(3) "152" ["COMMENT"]=> NULL ["CRM_ENTITY_TYPE"]=> string(4) "LEAD" ["CRM_ENTITY_ID"]=> string(2) "12" ["ID"]=> int(36) } }
[/B]
Подскажите, пожалуйста, что я делаю не так?
Спасибо.
Возникла проблема при работе с методом telephony.externalcall.finish.
Сложность заключается в том, что мне никак не удается подгрузить аудиозапись разговора в Битрикс24.
Вот пример кода с передаваемыми параметрами:
[B]$queryUrl = '[URL=https://web_address/telephony.externalcall.finish.json]https://web_address/telephony.externalcall.finish.json[/URL]';
$queryData = http_build_query(array(
"CALL_ID" => "externalCall.c56fc0ce3f3acb86cdf628d30a2e9630.1510320719",
"USER_ID" => 1,
"DURATION" => "120",
"RECORD_URL" => "[URL=http://server_ip/430338734.mp3]http://server_ip/430338734.mp3[/URL]",
));
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, 1);
var_dump($result);
if (array_key_exists('error', $result)) echo "Error: " . $result['error_description'];
[/B]
Вот ответ, который я получаю от сервера Битрикс24:
[B]array(1) { ["result"]=> array(20) { ["CALL_ID"]=> string(56) "externalCall.c56fc0ce3f3acb86cdf628d30a2e9630.1510320719" ["PORTAL_USER_ID"]=> int(1) ["PHONE_NUMBER"]=> string(10) "0443695575" ["PORTAL_NUMBER"]=> string(9) "REST_APP:" ["INCOMING"]=> string(1) "2" ["CALL_DURATION"]=> int(120) ["CALL_START_DATE"]=> array(0) { } ["CALL_STATUS"]=> int(1) ["CALL_VOTE"]=> int(0) ["COST"]=> int(0) ["COST_CURRENCY"]=> string(0) "" ["CALL_FAILED_CODE"]=> string(3) "200" ["CALL_FAILED_REASON"]=> string(0) "" ["REST_APP_ID"]=> NULL ["REST_APP_NAME"]=> bool(false) ["CRM_ACTIVITY_ID"]=> string(3) "152" ["COMMENT"]=> NULL ["CRM_ENTITY_TYPE"]=> string(4) "LEAD" ["CRM_ENTITY_ID"]=> string(2) "12" ["ID"]=> int(36) } }
[/B]
Подскажите, пожалуйста, что я делаю не так?
Спасибо.