Pada
artikel sebelumnya, kami menerapkan pembuatan dan verifikasi keberadaan coockie yang digunakan untuk menggantikan nomor pada halaman, serta menambahkan pencatatan nomor yang ditampilkan dengan mengacu pada sumber transisi. Artikel ini akan membahas proses membuat antarmuka untuk menampilkan informasi tentang panggilan.
Tapi pertama-tama, di
getNumberFirstTime dan fungsi-
fungsiuseruser ,
kita akan membuat coockie ke domain situs-dengan-ct-code.ru dengan indikasi jalur relatif sehingga kode dengan nama yang sama tidak dibuat pada beberapa halaman situs dengan coockie.
function getNumberFirstTime() {
Log Panggilan
Sekarang mari kita beralih ke log panggilan. Ini adalah inti dari fungsionalitas kami, sesuai dengan perbandingan panggilan masuk dan tampilan angka, acara akan dibuat di GA, pembuatan lead di CRM, mengirim surat ke email, grafik, dll.
Dapat dipahami bahwa kami memiliki akses ke informasi tentang panggilan dari PBX, atau pencatatan terjadi dengan menyinkronkan log panggilan pada ponsel manajer dengan basis data eksternal, dalam hal ini diperlukan aplikasi untuk mengunduh log panggilan.
Mari kita memikirkan opsi di mana kami segera menerima log panggilan terbaru untuk nomor yang digunakan oleh kami untuk ditampilkan di situs dan membawanya ke dalam format yang digunakan oleh kami saat membuat tabel
angka di
artikel sebelumnya .
Kami mencerminkan data ini dalam tabel
incoming_calls .
CREATE TABLE `incoming_calls` ( `id` int(11) NOT NULL, `client_number` varchar(200) NOT NULL, `phone_number` varchar(200) NOT NULL, `time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `end_call` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `incoming_calls` (`id`, `client_number`, `phone_number`, `time`, `end_call`) VALUES (1, '78123456789', '78000000005', '2019-11-01 17:33:10', '2019-11-01 17:43:32'), (4, '79876543210', '78000000004', '2019-11-05 11:52:54', '2019-11-05 11:53:40'), (5, '78888888888', '78000000005', '2019-11-01 18:37:44', '2019-11-01 18:38:43'); ALTER TABLE `incoming_calls` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `id` (`id`); ALTER TABLE `incoming_calls` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;COMMIT;
Mencocokkan Data Log Panggilan
Tarik data dari tabel
nomor dengan nomor telepon dan periode waktu ketika nomor itu ditampilkan di situs dan panggilan dibuat.
SELECT numbers.id, incoming_calls.time AS time_when_call_start, incoming_calls.end_call AS time_when_call_end, numbers.time AS time_when_phone_show, numbers.phone AS number FROM numbers INNER JOIN incoming_calls ON numbers.phone = incoming_calls.phone_number WHERE numbers.time BETWEEN incoming_calls.time AND incoming_calls.end_call GROUP by time_when_call_start
Sekarang kami menampilkan data yang diterima dalam piring. Untuk melakukan ini, buat file
ct-server.ru/info.php , di mana kami menempatkan permintaan kami.
<?php $pdo = new PDO('mysql:host=localhost;dbname=calltracking', 'root', ''); $sql = "SELECT numbers.id, incoming_calls.time AS time_when_call_start, incoming_calls.end_call AS time_when_call_end, numbers.time AS time_when_phone_show, numbers.phone AS number FROM numbers INNER JOIN incoming_calls ON numbers.phone = incoming_calls.phone_number WHERE numbers.time BETWEEN incoming_calls.time AND incoming_calls.end_call"; $st = $pdo->prepare($sql); $st->execute(); $result = $st->fetchAll(PDO::FETCH_NUM); echo "<table border = '1'><tr><th>time_when_call_start</th><th>time_when_call_end</th><th>time_when_phone_show</th><th>number</th></tr>"; foreach($result as $row){ echo "<tr><td>{$row[1]}</td><td>{$row[2]}</td><td>{$row[3]}</td><td>{$row[4]}</td></tr>"; } echo "</table>"; $pdo = null; ?>
Sebagai hasilnya, kami mendapat tabel di mana Anda dapat menentukan nomor mana yang ditampilkan di situs pada saat panggilan berlangsung.
