No
artigo anterior, implementamos a geração e verificação da presença do coockie usado para substituir o número na página e também adicionamos o log dos números exibidos com referência à fonte de transição. Este artigo discutirá o processo de criação de uma interface para exibição de informações sobre chamadas.
Mas primeiro, nas funções
getNumberFirstTime e
generateuser_id , criaremos um coockie para o domínio site-with-ct-code.ru com uma indicação do caminho relativo para que o código com o mesmo nome não seja criado em várias páginas do site com o coockie.
function getNumberFirstTime() {
Registro de chamadas
Agora vamos ao log de chamadas. Esse é o núcleo de nossa funcionalidade: de acordo com a comparação de chamadas recebidas e a exibição de números, serão criados eventos no GA, geração de leads no CRM, envio de cartas para e-mail, gráficos, etc.
Entende-se que temos acesso a informações sobre chamadas do PBX, ou o log ocorre sincronizando o log de chamadas nos telefones móveis dos gerentes com um banco de dados externo; nesse caso, será necessário um aplicativo para baixar o log de chamadas.
Vamos nos debruçar sobre a opção em que recebemos prontamente um registro de chamadas atualizado dos números usados por nós para exibição no site e os colocamos no formato usado por nós ao criar a tabela de
números no
artigo anterior .
Nós refletimos esses dados na tabela
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;
Dados de registro de chamadas correspondentes
Puxe os dados da tabela de
números por número de telefone e período de tempo em que o número foi exibido no site e uma ligação foi feita.
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
Agora exibimos os dados recebidos em uma placa. Para fazer isso, crie o arquivo
ct-server.ru/info.php , no qual solicitamos.
<?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; ?>
Como resultado, obtivemos uma tabela na qual você pode determinar qual número foi exibido no site no momento da chamada.
