После перевода разговора теряется источник

В некоторых случаях, после перевода звонка на АТС, в CDR создаются отдельные записи на первый и второй разговоры. При этом, во втором разговоре теряется did, что не позволяет верно определить источник создания лида.


Для решения этой проблемы необходимо добавить, или заменить метод в файле bx24asterisk_parser.php:

    public function convertHistoryEntryToCall(array $entry)    {
    if((empty($entry["did"]))||(!isset($entry["did"]))) {
        $sql = "SELECT did FROM `cdr` WHERE uniqueid='".$entry["uniqueid"]."' AND did>''";
        $statement = DB::getPdo()->prepare($sql);
        $statement->execute();
        
        $rows = $statement->fetchAll(PDO::FETCH_ASSOC);
        $entry["did"] = $rows["did"];
    }


        $call = parent::convertHistoryEntryToCall($entry);
        return $call;
    }

Данный метод сработает в том случае, если uniqueid итоговой записи совпадает с uniqueid первичной, и хотя бы одна из записей содержит did транка.

Эта статья была полезна для 1 человека. Эта статья помогла вам?

Сервис поддержки клиентов работает на платформе UserEcho