Номер доступа дружеское имя от студии Twilio

Мы создаем IVR и имеем несколько номеров на город для различных кампаний. Например: Метро, ​​Автобус, Google, Facebook, Веб-сайт и т. Д.

Когда поступает звонок, мы создаем запрос на Salesforce с номером, но мы пропускаем кампанию.

Имея доступ к номеру CallFrom {{trigger.call.From}} и номеру CallTo {{trigger.call.To}}, мы хотели бы также получить доступ к дружественному имени номера.

Это Дружественное имя номера содержит кампанию, есть ли способ получить к нему доступ, чтобы оно было отправлено вместе с остальной информацией?

Спасибо

1 ответ

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

Когда вы получаете входящий звонок от Twilio, вам отправляются только параметры запроса в документации, которые не включают понятное имя вашего номера.

Вы можете получить это число, используя функцию Twilio как часть вашего потока Studio. Вам нужно будет передать значение from в качестве аргумента функции, установив его в качестве параметра в настройках виджета, например так:

Установите параметр функции с именем trigger.call.To который является номером входящего телефона.

Тогда ваша функция будет выглядеть примерно так:

exports.handler = function(context, event, callback) {
  const phoneNumber = event.To;
  const client = context.getTwilioClient();

  client.incomingPhoneNumbers.list(
    {
      phoneNumber: phoneNumber
    },
    (err, data) => {
      if (err) {
        return callback(err);
      }
      const response = { FriendlyName: data.incomingPhoneNumbers[0].friendlyName };
      callback(null, response);
    }
  );
};

Это вернет данные в ваш поток, и вы сможете получить к ним доступ позже в потоке как {{widgets.MY_WIDGET_NAME.parsed.FriendlyName}},

Дайте мне знать, если это поможет.

Немного старого поста, на всякий случай это может кому-то помочь...

Прежде всего, спасибо, Фил, за то, что показал мне дорогу. Мне пришлось немного изменить ваш код, чтобы он работал с 3.x Twilio Client API, и я добавил сам phoneNumber в качестве запасного значения. Эта версия "хорошо известна" и работает для меня на дату этого поста:

exports.handler = function(context, event, callback) {
  const phoneNumber = event.To;
  const client = context.getTwilioClient();

  client.incomingPhoneNumbers.list(
    {
      phoneNumber: phoneNumber
    },
    (err, data) => {
      if (err) {
        return callback(err);
      }
      console.log("data = " + data);
      var fName;
      if (data.length) {
          fName = data[0].friendlyName;
      }
      else {
          fName = phoneNumber;
      }
      const response = { FriendlyName: fName };
      callback(null, response);
    }
  );
};
Другие вопросы по тегам