Маршрутизатор задач Twilio

Я использую маршрутизатор задач с 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);

Какой код мне нужно добавить сюда, чтобы вызвать выбранного работника, который доступен?


person Aneeb Ryan    schedule 28.04.2017    source источник


Ответы (1)


Проповедник разработчиков Twilio здесь.

Если вы выполняете удаление из очереди, и он вызывает номер мобильного телефона сотрудника, то вы должны установить contact_uri сотрудника в качестве номера.

Чтобы заставить его вызвать воркера в своем браузере из dequeue, вам нужно установить это contact_uri на имя клиента, как это client:USER_A.

person philnash    schedule 02.05.2017