Estoy usando el enrutador de tareas con twilio. He agregado tres trabajadores (usuarios), por ejemplo, USER_A, USER_B y USER_C. Cada usuario tiene atributos que tiene nombre y empresa. USER_A y USER_B pertenecen a la misma empresa, digamos Company_A y USER_C pertenecen a otra empresa, digamos COMPANY_C.
He agregado código para mi URL de devolución de llamada de voz aquí como en //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>Y aquí está mi 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>Todo aquí está completamente funcionando.
El requisito en mi caso es que quiero llamar al trabajador seleccionado en el navegador, no en el móvil del trabajador. Según este tutorial: https://www.twilio.com/docs/quickstart/php/taskrouter/twiml-dequeue-call Están llamando al número de móvil del trabajador.
También agregué la pantalla del agente a cada uno de mis trabajadores siguiendo este tutorial: https://www.twilio.com/docs/quickstart/php/taskrouter/agent-ui-add-project He agregado este código en mi agente archivo .php.
Entonces, el requisito es transferir la llamada entrante para el trabajador seleccionado en mi agent.php
Esta es mi URL de devolución de llamada de asignación 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);¿Cuál debería ser el código que debo agregar aquí para llamar al trabajador seleccionado que está disponible?
Desarrollador evangelista de Twilio aquí.
Si está eliminando la cola y llama al número de móvil del trabajador, entonces debe haber configurado contact_uri del trabajador como el número.
Para que llame al trabajador en su navegador desde una acción de eliminación de la cola, debe configurar ese contact_uri en su nombre de cliente , como este client:USER_A .