статус — Plivo PHP API 4.0, не удается получить статус вызова или продолжительность (URL-адрес действия не выполняется?)

Я надеюсь, что вы можете помочь мне с проблемой набора телефонных звонков с помощью Plivo PHP (новый SDK 4.0). Сначала я укажу, чего я хочу достичь:
— Клиент на моем веб-сайте хочет поговорить с главным агентом, поэтому он вводит свой номер телефона в форму, выбирает агента и, наконец, когда отправляет запрос, веб-сайт соединяет их обоих, набирая номер (это работает). Но затем, (здесь начинаются мои проблемы), я не могу получить информацию о звонке (статус, продолжительность, начальная и конечная даты звонка и т. Д.) Для выставления счета клиенту в соответствии с некоторыми из этих деталей.

Отредактировано 2018/02/23:

Рамя, ошибка 600 исчезла, и, кажется, все в порядке, как я вижу в журнале отладки Plivo. Ниже мои новые коды (Я думаю, что лучше сделано благодаря вашим инструкциям), и затем я покажу вам журнал Plivo debud (возможно, лучше увидеть его в моем аккаунте, звонок сделан 23 февраля 2018 18:33:15), и наконец я вижу мой журнал ошибок отладки сервера пуст!

Основная проблема в том, что файл dialstatus.php, хотя, кажется, получает параметры, но я не знаю, как получить к ним доступ, потому что dialstatus.php не выполняет отображение данных на моем мониторе (в моем коде, например, эта строка никогда не отображается на экране монитора 🙂

echo "Status = $estado, Aleg UUID = $aleg, Bleg UUID = $bleg";

Поэтому, несмотря на получение параметров, я не могу получить к ним доступ, чтобы манипулировать ими, распечатывать их на экране, выполнять операции с ними и т. Д. Может быть, это проблема с разрешениями файлов? (Эти php-файлы имеют разрешения 6,4,4 на моем сервере, так же, как и другие).

Спасибо!

Код 1: makecall.php

require 'vendor/autoload.php';
use Plivo\RestClient;

$client = new RestClient("**********", "**************************");

$telefono_cliente = "34*******";
$telefono_experto = "34*********";
$duracion = 50;

try {
$response = $client->calls->create(
"3491111111",
[$telefono_experto],
"https://www.ejemplo.com/llamar/response.php?telf=$telefono_cliente",
'POST',

[
'time_limit' => $duracion,
]
);

$id = $response->requestUuid;
echo "<br>Este es el requestUuid: " . $id . "<br><br>";

}
catch (PlivoRestException $ex) {
print_r($ex);
}

?>

Код 2: response.php

require 'vendor/autoload.php';

use Plivo\XML\Response;

$resp = new Response();

$params = array(
'callerId' => '3491111111',
'action' => "https://www.ejemplo.com/llamar/dialstatus.php",
'method' => "POST",
'redirect' => "false");

$body3 = 'Desde ejemplo un cliente desea hablar con usted.';
$params3 = array(
'language' => "es-ES", # Language used to read out the text.
'voice' => "WOMAN" # The tone to be used for reading out the text.
);
$resp->addSpeak($body3,$params3);

$dial = $resp->addDial($params);
//$number = "34**********";
$number = $_GET['telf'];
$dial->addNumber($number);

Header('Content-type: text/xml');
echo($resp->toXML());

/*
Output:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Speak language="es-ES" voice="WOMAN">Desde ejemplo un cliente desea hablar con usted.</Speak>
<Dial redirect="false" method="POST" action="http://www.ejemplo.com/llamar/dialstatus.php" callerId="3491111111">
<Number>34********</Number>
</Dial>
</Response>
*/
?>

Код 3: dialstatus.php

// Print the Dial Details
$estado = $_REQUEST['DialStatus'];
$aleg = $_REQUEST['DialALegUUID'];
$bleg = $_REQUEST['DialBLegUUID'];

echo "Status = $estado, Aleg UUID = $aleg, Bleg UUID = $bleg";

?>

0

Решение

Пливо Инженер по продажам здесь.

  1. Redirect = true используется только в том случае, если вы хотите продолжить вызов, вернув другой XML-код в URL-адресе действия. Для вашего случая использования вам не нужно использовать этот параметр. Даже если для параметра Redirect задано значение false, Plivo отправит запрос на URL-адрес действия со списком параметров. Я посмотрел в свой аккаунт (Вот) и я вижу, как этот запрос отправляется с DialStatus, ALegUUID, BLegUUID вместе с другими параметрами.

  2. URL действия набора номера — лучшее место, чтобы узнать DialStatus и DialHangupCause.

Вы можете найти продолжительность звонка и сумму счета в Запрос URL для зависания также. Этот URL для зависания можно настроить при первом вызове API (эксперту). По умолчанию для URL-адреса зависания установлено значение «Ответить по URL».

Пожалуйста, поднимите билет поддержки с нами для дальнейшей помощи.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]