Управление звонками Twilio внутри Salesforce с использованием Visualforce Sites

Автор: | 14.07.2026

Это краткая демонстрация того, как создать приложение Twilio полностью с использованием среды разработки Visualforce Sites внутри Salesforce. Если вы ранее не создавали приложения в Salesforce, вы можете зарегистрироваться для получения бесплатной учётной записи разработчика здесь. Бесплатные учётные записи force.com предоставляют доступ к технологиям Visualforce и Sites, однако они ограничены одним «сайтом» и одной страницей TwiML.

Если вы новичок в Visualforce, войдите в developer.force.com и нажмите ссылку «Setup» в верхней части страницы. В разделе «App Setup» на панели слева откройте секцию «Develop». Вы увидите ссылки на Apex Classes, Components, Pages и Sites.

Я не являюсь экспертом в Visualforce, и многие методы в этом посте довольно грубые 🙂 Если у вас есть предложения по улучшению этого руководства, пожалуйста, дайте знать, и я обновлю пост соответствующим образом!

После того как вы вошли в developer.force.com и нажали ссылку «Setup» в верхней части страницы, выберите ссылку «Apex Classes» на левой панели и нажмите кнопку «New», чтобы создать новый контроллер. Вставьте следующий код в текстовое поле и нажмите кнопку «Save».

* *

public class TwilioPinController {

public boolean getIfCorrectPin() {

if (ApexPages.currentPage().getParameters().get(‘Digits’) == ‘1234’)

return true;

return false;

}

public boolean getIfIncorrectPin() {

if (ApexPages.currentPage().getParameters().get(‘Digits’) != ‘1234’)

return true;

return false;

}

}

Система автоматически назовёт контроллер «TwilioPinController» на основе имени класса.

Выберите ссылку «Components» на левой панели и нажмите кнопку «New», чтобы создать новый компонент. Установите метку и имя как «TwilioCorrectPinComponent» и вставьте следующий код в текстовое поле, затем нажмите кнопку «Save».

Вы ввели правильный PIN-код! Спасибо

Нажмите ссылку «Component» на левой панели и снова нажмите кнопку «New», чтобы создать второй компонент. Установите метку и имя как «TwilioIncorrectPinComponent» и вставьте следующий код в текстовое поле, затем нажмите кнопку «Save».

Неверный PIN-код.

Выберите ссылку «Pages» на левой панели и нажмите кнопку «New», чтобы создать новую страницу. Установите метку и имя как «TwilioStartCall» и вставьте следующий код в текстовое поле, затем нажмите кнопку «Save».

Здравствуйте, пожалуйста, введите четырёхзначный PIN-код.

Нажмите ссылку «Pages» на левой панели и снова нажмите кнопку «New», чтобы создать вторую страницу. Установите метку и имя как «TwilioGotPin» и вставьте следующий код в текстовое поле, затем нажмите кнопку «Save».

Теперь финальный шаг! Выберите ссылку «Sites» на левой панели и нажмите кнопку «New», чтобы создать новый сайт. Установите метку сайта и имя сайта как «TwilioStartCall».

— Установите Default Web Address как «index», чтобы полный URL приложения был http://<ваше-приложение>-developer-edition.na7.force.com/index

— Установите Active Site Home Page как «TwilioStartCall»

Теперь нажмите кнопку «Save» и загрузите http://<ваше-приложение>-developer-edition.na7.force.com/index в веб-браузере. Вы должны увидеть TwilioStartCall, то есть сообщение «Здравствуйте…».

Теперь переходим к «хитрому» моменту. Поскольку метод PageReference setRedirect() использует JavaScript для перенаправления браузера на другую страницу (а не HTTP 301/307), Twilio не может использовать стандартный метод setRedirect() для навигации по страницам сайта в TwiML. Вместо этого нам нужно создать отдельный «сайт» для каждого подкомпонента нашего приложения.

Следующий шаг — создать новый сайт для страницы TwilioGotPin. ВАЖНО: бесплатные учётные записи разработчика force.com ограничены одним сайтом 🙁 Нажмите ссылку «Sites» на левой панели и нажмите кнопку «New», чтобы создать новый сайт. Установите метку сайта и имя сайта как «TwilioGotPin».

— Установите Default Web Address как «TwilioGotPin», чтобы полный URL приложения был http://<ваше-приложение>-developer-edition.na7.force.com/gotpin

— Установите Active Site Home Page как «TwilioGotPin»

Теперь нажмите кнопку «Save» и загрузите http://<ваше-приложение>-developer-edition.na7.force.com/gotpin в веб-браузере. Вы должны увидеть TwilioStartCall, то есть сообщение «Неверный PIN-код». Теперь попробуйте http://<ваше-приложение>-developer-edition.na7.force.com/gotpin?Digits=1234, и вы должны увидеть «Вы ввели правильный PIN-код!».

Последний шаг — связать приложение с вашим телефонным номером Twilio. Если вы хотите, чтобы ваши пользователи звонили на телефонный номер и взаимодействовали с вашим приложением, перейдите на страницу Phone Numbers в личном кабинете Twilio и свяжите http://<ваше-приложение>-developer-edition.na7.force.com/index с одним из ваших телефонных номеров Twilio. Если вы хотите, чтобы ваши пользователи получали звонки от вашего приложения Salesforce, установите параметр Url в запросе исходящего звонка через REST API на http://<ваше-приложение>-developer-edition.na7.force.com/index. Мы оставим создание REST API запросов для инициации звонков из Salesforce для другого поста.

Вот и всё. Теперь вы можете создавать приложения для управления звонками внутри Visualforce Sites, которые взаимодействуют с вашими данными в Salesforce. Можно представить множество полезных приложений:

— Создание корпоративной телефонной системы/PBX внутри Salesforce

— Создание телефонных номеров для вашей команды продаж для ввода данных в Salesforce по телефону

— Создание голосового интерфейса для клиентов, чтобы они могли взаимодействовать с вашими данными в Salesforce

— Использование Twilio для реализации функции click-to-call на сайте, которая позволяет записывать звонки с клиентами и автоматически добавлять записи в Salesforce

— Автоматические напоминания о важных событиях в Salesforce