Идентификатор исходящего звонка Twilio

1

Пожалуйста, мне нужна помощь.

Я читал об этом API Twilio, потому что мне нужно решить какой-то код, который я не делал.

И он работает на странице в PHP, чтобы звонить клиентам. Существует процесс, который выполняется каждый раз и проверяет журнал или cvs и вставляет запись в базу данных с информацией Twilio.

В идеале, если в конце исходящего вызова он может знать уникальный идентификатор вызова и сохранять его вместе с некоторыми комментариями.

Как я могу использовать параметры клиентского вызова? или есть другой путь? (длительность, Сид, до и т.д.)

Я уже читал это, но я этого не понимаю

Благодарю!!

https://www.twilio.com/docs/api/rest/making-calls

https://www.twilio.com/docs/api/rest/call

<?php 
require_once('Services/Twilio.php'); // Loads the library
$API_VERSION = '2010-04-01';
$accountSid = 'AC7d3444f83611xxxxxxxxxxxxxxxx';
$authToken  = 'd72d5f036e96abexxxxxxxxxxxxxx';

$capability = new Services_Twilio_Capability($accountSid, $authToken);
$capability->allowClientOutgoing('AP29cb5d9e0dcxxxxxxxxxxxxxxxxxx');
$capability->allowClientIncoming('name');
$token = $capability->generateToken();
//error_log("token is $token");
?>

<script type="text/javascript">     
      Twilio.Device.setup("<?php echo $token; ?>");     
      function call() {         
      params = {"PhoneNumber": $("#number_no").val(), "callerid": $("#callerid").val(), "agent_id": $("#agent_id").val(), "lead_id": $("#lead_id").val()};
      Twilio.Device.connect(params);
      }     
      function hangup() {           
        Twilio.Device.disconnectAll();
        //Twilio.Device.disconnect();
      }       
  </script>

Этот код вызывается, когда вы что-то обновляете

<script>
$(document).ready(function() {

    $('.call_status').change(function()
    {
        var status = $(this).val();
        var rec_val = $(this).parent().find('.rec_val').val();
        var pledge_amt = $('#pledge_amt'+rec_val).val();
        hangup();
    $.ajax({
    url: '<?php echo site_url('agent/agent_status/'); ?>',
    type: 'post',
    data: {'rec_val': rec_val, 'status': status, 'pledge_amt': pledge_amt},
    success:function(resp)
    {
        if(resp)
        {
            window.location.href="<?php echo site_url('agent/call_leads/'); ?>";
            //$('.msg').html("Status Updated Successfully!").fadeOut(5000);

        } else 
            {
             alert('Please check your selected data');
            }
    },
    error:function(resp)
    {
        alert(resp);
    }
    });

    });
    jQuery('.status_update').fadeOut(5000);
});
</script>
  • 0
    Здравствуйте, Дайте мне знать, если вы впервые используете twilio. возможно, я могу помочь тебе . Также я хотел бы проверить ваш текущий код
  • 0
    Это мой первый раз с Twilio, я просто пытаюсь решить проблему в чужом коде.
Показать ещё 3 комментария
Теги:
twilio

1 ответ

0
Лучший ответ

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

Когда вы создаете вызов, вы получаете объект соединения. Объект соединения содержит все параметры, о которых вы читали в документации REST API, касающуюся совершения вызовов. Таким образом вы можете получить идентификатор вызова (уникальный идентификатор). В приведенном ниже коде я использую объект connection созданный при размещении вызова для выхода из параметров вызова:

<script type="text/javascript">     
      Twilio.Device.setup("<?php echo $token; ?>");     
      function call() {         
          params = {"PhoneNumber": $("#number_no").val(), "callerid": $("#callerid").val(), "agent_id": $("#agent_id").val(), "lead_id": $("#lead_id").val()};
          var connection = Twilio.Device.connect(params);
          console.log(connection.parameters);
      }     
  </script>

Позвольте мне знать, если это помогает!

Редактировать:

Чтобы использовать это соединение в функции зависания, вам нужно сохранить объект соединения вне области функции вызова. Вы могли бы это сделать, currentConnection как переменную за пределами двух функций, а затем установив и используя ее при действии. См. Обновленный код ниже (ознакомьтесь с комментариями для получения дополнительной информации):

<script type="text/javascript">     
      Twilio.Device.setup("<?php echo $token; ?>");
      // define currentConnection here, but don't set it to anything.
      var currentConnection = null;

      function call() {         
          params = {"PhoneNumber": $("#number_no").val(), "callerid": $("#callerid").val(), "agent_id": $("#agent_id").val(), "lead_id": $("#lead_id").val()};
          // create and set the currentConnection
          currentConnection = Twilio.Device.connect(params);
          console.log(currentConnection.parameters);
      }

      function hangup() {
        console.log("Do stuff with parameters");
        console.log(currentConnection.parameters)
        Twilio.Device.disconnectAll();

        // reset currentConnection until the next call is made
        currentConnection = null;
      } 
</script>
  • 0
    Спасибо @philnash, но как я нуб в JS, как я могу принять это значение в функции Hangup ()
  • 0
    Я отредактировал ответ с некоторыми подробностями. Надеюсь, это поможет.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню