في
المقالة السابقة ، قمنا بتطبيق إنشاء والتحقق من وجود coockie المستخدم لاستبدال الرقم الموجود على الصفحة ، بالإضافة إلى إضافة تسجيل الأرقام المعروضة مع الإشارة إلى مصدر الانتقال. تناقش هذه المقالة عملية إنشاء واجهة لعرض معلومات حول المكالمات.
ولكن أولاً ، في
الدالتين getNumberFirstTime و
generuser_id ، سننشئ coockie إلى المجال site-with-ct-code.ru مع الإشارة إلى المسار النسبي بحيث لا يتم إنشاء رمز يحمل نفس الاسم في عدة صفحات من الموقع مع coockie.
function getNumberFirstTime() {
سجل المكالمات
الآن دعنا ننتقل إلى سجل المكالمات. هذا هو جوهر وظائفنا ، ووفقًا لمقارنة المكالمات الواردة وعرض الأرقام ، سيتم إنشاء الأحداث في GA ، وتوليد العملاء في CRM ، وإرسال الرسائل إلى البريد الإلكتروني ، والرسوم البيانية ، إلخ.
من المعلوم أن لدينا إمكانية الوصول إلى المعلومات المتعلقة بالمكالمات من PBX ، أو أن التسجيل يحدث من خلال مزامنة سجل المكالمات على الهواتف المحمولة للمديرين مع قاعدة بيانات خارجية ، وفي هذه الحالة سيكون هناك حاجة لتطبيق لتنزيل سجل المكالمات.
دعونا نلقي الضوء على الخيار الذي نتلقى فيه على الفور سجل مكالمات حديثًا للأرقام التي نستخدمها لعرضها على الموقع ونقلها إلى التنسيق المستخدم من قبلنا عند إنشاء جدول
الأرقام في
المقالة السابقة .
نعكس هذه البيانات في جدول
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;
مطابقة بيانات سجل المكالمات
اسحب البيانات من جدول
الأرقام حسب رقم الهاتف والفترة الزمنية التي تم فيها عرض الرقم على الموقع وتم إجراء مكالمة.
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
الآن نعرض البيانات المستلمة في لوحة. للقيام بذلك ، قم بإنشاء الملف
ct-server.ru/info.php ، حيث نضع طلبنا.
<?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; ?>
نتيجة لذلك ، حصلنا على جدول يمكنك من خلاله تحديد الرقم الذي تم عرضه على الموقع في وقت الاتصال.
