Я использую маршрутизатор задач с Twilio. Я добавил трех рабочих (пользователей), например USER_A, USER_B и USER_C. У каждого пользователя есть атрибуты с именем и компанией. USER_A и USER_B принадлежат одной компании, допустим, Company_A, а USER_C принадлежит другой компании, скажем, COMPANY_C.
Я добавил здесь код для своего URL-адреса голосового обратного вызова, например //example.com/routing.php:
<?php
header('Content-Type: application/xml');
echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
?>
<Response>
<Gather action="enqueue-call.php" numDigits="1" timeout="10">
<Say>Press One for Company A</Say>
<Say>Press Two For Company C</Say>
</Gather>
</Response>
А вот мой enqueue-call.php:
<?php
$digit_pressed = $_REQUEST['Digits'];
if ($digit_pressed == '1') {
$company = "company_a";
} else {
$company = "company_c";
}
header('Content-Type: application/xml');
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<Response>
<Enqueue workflowSid="xxxxxxxxxxxxxxxxxxxxx">
<Task>{"selected_company": "<?php echo $company ?>"}</Task>
</Enqueue>
</Response>
Здесь все полностью работает.
В моем случае требование состоит в том, что я хочу позвонить выбранному работнику в браузере, а не на его мобильном телефоне. Согласно этому руководству: https://www.twilio.com/docs/quickstart/php/taskrouter/twiml-dequeue-call Звонят на мобильный номер работника.
Я добавил экран агента для каждого рабочего, следуя этому руководству: https://www.twilio.com/docs/quickstart/php/taskrouter/agent-ui-add-project Я добавил этот код в свой файл agent.php.
Таким образом, требуется передать входящий звонок для выбранного работника на моем agent.php.
Это мой URL обратного вызова назначения exapmle.com/assignment.php:
<?php
$assignment_instruction = [
'instruction' => 'dequeue',
'post_work_activity_sid' => '{WA0123401234...}',
'from' => '+15556667777' // a verified phone number from your twilio account
];
header('Content-Type: application/json');
echo json_encode($assignment_instruction);
Какой код мне нужно добавить сюда, чтобы вызвать выбранного работника, который доступен?