Иногда возникает потребность автоматизировать обратный звонок клиенту с вашего сайта. Сценарий примерно таков: клиент заинтересовался вашей услугой и хочет пообщаться. Он вводит свой номер телефона в форму на сайте и нажимает OK. После этого вызов клиенту инициируется с доп. номера (Extension) сотрудника, ответственного за общение с клиентами. На столе сотрудника звонит телефон, сотрудник снимает трубку и слышит примерно следующее: “Ожидайте соединения с клиентом”. У клиента тоже звонит телефон, клиент снимает трубку и связь устанавливается.
Схема довольно непростая в реализации на первый взгляд. Но с помощью 3CX HTTP API и нескольких строк PHP кода она реализуется элементарно!
Вначале определим переменные.
config.php
<?php // Имя сервера 3CX. Используйте IP адрес или имя DNS имя. $host = 'http://localhost'; // Номер порта IVR. Должен быть открыть на файерфоле, если сайт хостится снаружи. $port = ':5484'; // Extension с которого будет выполнятся вызов $ext = '1000'; // PIN этого Extension $ext_pin = '1000'; // Префикс линии, если он используется для выхода "наружу" $prefix = '9'; ?>
Теперь реализуем вызов с помощью 3CX HTTP API. См. http://wiki.3cx.com/api/http-api
call.php
<?php require ('config.php'); $number = $_POST["number"]; $url = "$host$port/PbxAPI.aspx?func=make_call&from=$ext&pin=$ext_pin&to=$number"; $handle = fopen("$url", "r"); $contents = ''; while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle); ?>
А это страничка, в которой клиент будет вводит свой номер. Конечно, она сильно упрощена, зато наглядна.
index.php
<html> <body> <form action="call.php" method="post"> Number: <input type="text" name="number" /> <input type="submit" /> </form> </body> </html>
Напоследок хочу порекомендовать обдумать какой-либо способ защиты от “шутников”, желающих вводить номера просто так. Возможно, это должна быть некая предварительная авторизация на сайте или CAPTCHA…
Хороших вам продаж!