Это краткая демонстрация того, как создать приложение 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».
Нажмите ссылку «Component» на левой панели и снова нажмите кнопку «New», чтобы создать второй компонент. Установите метку и имя как «TwilioIncorrectPinComponent» и вставьте следующий код в текстовое поле, затем нажмите кнопку «Save».
Выберите ссылку «Pages» на левой панели и нажмите кнопку «New», чтобы создать новую страницу. Установите метку и имя как «TwilioStartCall» и вставьте следующий код в текстовое поле, затем нажмите кнопку «Save».
Нажмите ссылку «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