Joywork/cron/beeline_call.php

785 lines
37 KiB
PHP
Raw Permalink Normal View History

2026-05-22 20:21:54 +02:00
<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
//Функция для записи звонков в базу
function read_phone($beeline, $p, $agency_id, $type, $main_user_id, $funnel_telephony){
$pdopg = new MysqlPdo(hstpg, ndbpg, userpg, passpg, false, '5432', true);
//поиск пользователя
$user_id = $beeline -> find_user($p->user_find_number);
//echo $user_id.'<br>';
$new_client = false;
if($user_id == 0) $user_id = $main_user_id;
//echo $user_id.'<br>';
$phone_em = $beeline->ver_phone($p->client_find_number);
$user_em = $beeline -> find_user($phone_em);
if($agency_id == 9588 && ($user_em > 0 || strlen($phone_em) < 12)){
$user_id = 0;
}
if($agency_id == 18631){
$user_id = 21699;
}
/*if($agency_id == 19111){
$user_id = 0;
}*/
if($user_id != 0){
$funnel_id = 0;
if(!empty($funnel_telephony)){
foreach($funnel_telephony as $funnel_t){
if($funnel_t['phone'] == $beeline->ver_phone($p->user_find_number)){
if((int)$funnel_t['funnel_id'] > 0){
$funnel_id = (int)$funnel_t['funnel_id'];
$funnel_id_req = (int)$funnel_t['funnel_id'];
}
}
}
}
if($funnel_id == 0 && $agency_id == 10732){
if($type == 'beelineAbonentAnswer' || $type == 'beelineAbonentNoAnswer'){
$funnel_id = 440;
} else {
$funnel_id = 441;
}
} else if($agency_id == 10387){
$funnel_id = 484;
} else if($agency_id == 8435){
$funnel_id = 503;
} else if($agency_id == 17328){
$funnel_id = 1183;
} else if($agency_id == 19895){
$funnel_id = 0;
} else if($agency_id == 18631){
$funnel_id = 1350;
} else if($agency_id == 22604){
$funnel_id = 2184;
}
//Поиск клиента
$client_id = $beeline -> find_client($p->client_find_number);
$source = 0;
$date = floor($p->date/1000);
/* if($agency_id == 19111 && $beeline->ver_phone($p->user_find_number) == '+79623070552'){
/****/
// } else {
if($client_id == 0){
if(($agency_id == 7864 || $agency_id == 9836 || $agency_id == 9588 || $agency_id == 10732 || $agency_id == 19895 || $agency_id == 20382 || $agency_id == 22311 || $agency_id == 22604) && ($type == 'beelineAbonentAnswer' || $type == 'beelineAbonentNoAnswer')){
/****/
} else if(($agency_id == 11456 && $beeline->ver_phone($p->user_find_number) != '+79678597840') && ($type == 'abonentBeelineAnswer' || $type == 'abonentBeelineNoAnswer')){
/****/
} else if(($agency_id == 22983 && ($beeline->ver_phone($p->user_find_number) != '+79039518295' && $beeline->ver_phone($p->user_find_number) != '+79138757515')) && ($type == 'beelineAbonentAnswer' || $type == 'beelineAbonentAnswer')){
/** */
}
else {
$fio = "Клиент ".$beeline->ver_phone($p->client_find_number);
$new_client = true;
if($agency_id == 7384){
$sql_cl_mango = "INSERT INTO `clients` (fio, phone, opis, id_agent, date_add, who_work, confirm, stage, funnel_id, source) " .
" VALUES ('{$fio}', '".$beeline->ver_phone($p->client_find_number)."', '".$p->comment."', {$user_id}, '".date('Y-m-d H:i:s',$date)."', {$user_id}, '1', '1', 75, '{$source}')";
} else if($agency_id == 7478){
$sql_cl_mango = "INSERT INTO `clients` (fio, phone, opis, id_agent, date_add, who_work, confirm, stage, funnel_id, source) " .
" VALUES ('{$fio}', '".$beeline->ver_phone($p->client_find_number)."', '".$p->comment."', {$user_id}, '".date('Y-m-d H:i:s', $date)."', {$user_id}, '1', '1', 80, '{$source}')";
} else if($agency_id == 9588){
$sql_cl_mango = "INSERT INTO `clients` (fio, phone, opis, id_agent, date_add, who_work, confirm, stage, funnel_id) " .
" VALUES ('{$fio}', '".$beeline->ver_phone($p->client_find_number)."', '".$p->comment."', {$user_id}, '".date('Y-m-d H:i:s', $date)."', {$user_id}, '1', '1', 340)";
} else if($funnel_id>0){
$sql_cl_mango = "INSERT INTO `clients` (fio, phone, opis, id_agent, date_add, who_work, confirm, stage, funnel_id) " .
" VALUES ('{$fio}', '".$beeline->ver_phone($p->client_find_number)."', '".$p->comment."', {$user_id}, '".date('Y-m-d H:i:s', $date)."', {$user_id}, '1', '1', {$funnel_id})";
} else {
$sql_cl_mango = "INSERT INTO `clients` (fio, phone, opis, id_agent, date_add, who_work, confirm, stage) " .
" VALUES ('{$fio}', '".$beeline->ver_phone($p->client_find_number)."', '".$p->comment."', {$user_id}, '".date('Y-m-d H:i:s', $date)."', {$user_id}, '1', '1')";
}
mysql_query($sql_cl_mango);
$client_id = mysql_insert_id();
if($agency_id == 7384){
$client = new Clients;
$client->get_class_etap($client_id, 75);
} else if($agency_id == 7478){
$client = new Clients;
$client->get_class_etap($client_id, 80);
} else if($agency_id == 9588){
$client = new Clients;
$client->get_class_etap($client_id, 340);
}
if($client_id > 0 && $funnel_id > 0){
$client = new Clients;
$client->get_class_etap($client_id, $funnel_id);
}
}
}
if($client_id != 0){
// добовление client_id в mango_calls start:
$in = "UPDATE mango_calls SET client_id='" . $client_id . "' WHERE uuid = '".$p->id."'";
mysql_query($in);
// добовление client_id в mango_cals finish.
$pdopg->query($in);
if($agency_id == 7384 && ($source == 498 || $source == 677)){
$new_client = true;
$sql_s = "SELECT id FROM clients WHERE phone = '".$beeline->ver_phone($p->client_find_number)."' and date_add = '".date('Y-m-d H:i:s', $date)."' and funnel_id = 75";
//echo $sql_s.'<br>';
$q_s = mysql_query($sql_s);
if(mysql_num_rows($q_s) == 0){
$hot = 0;
if($user_id == 20566){
$hot = 1;
}
$sql_cl_mango = "INSERT INTO `clients` (fio, phone, hot, opis, id_agent, date_add, who_work, confirm, stage, funnel_id, source) " .
" VALUES ('Клиент Билайн', '".$beeline->ver_phone($p->client_find_number)."', {$hot}, '".$p->comment."', {$user_id}, '".date('Y-m-d H:i:s', $date)."', {$user_id}, '1', '1', 75, '{$source}')";
mysql_query($sql_cl_mango);
$client_id = mysql_insert_id();
$client = new Clients;
$client->get_class_etap($client_id, 75);
if($user_id == 20566){
$sql_a = "INSERT INTO `clients_activities` (`activity_id`, `client_id`) VALUES (3039, {$client_id})";
mysql_query($sql_a);
}
}
} else if($type == 'abonentBeelineAnswer'){
$cl_stage = $beeline -> get_client_stage();
//Перевод клиента в стадию "Новый", если он был закрыт
if($cl_stage == 8 || $cl_stage == 10){
$up_client = "UPDATE `clients` SET `stage`='1', `who_work`='{$user_id}', `deleted` = 0 WHERE `id`={$client_id}";
mysql_query($up_client);
$dop_text = "c &laquo;Закрыт&raquo; на &laquo;Новый&raquo; (По входящему звонку Билайн)";
$in_ev = "INSERT INTO `events_clients` (`user_id`, `client_id`, `event`, `dop_text`, `read`) VALUES ('{$user_id}', '{$client_id}', 'stageedit', '{$dop_text}', 1)";
mysql_query($in_ev);
}
}
$sql_m = "SELECT id FROM user_client_events WHERE client_id = {$client_id} AND create_date = '".date('Y-m-d H:i:s',$date)."'".
" AND `type` = 'call' AND beeline = 1 AND tracking = 0";
$q_m = mysql_query($sql_m);
$record = '';
$isRecord = false;
if(mysql_num_rows($q_m) == 0){
if(isset($p->externalId)){
$record = $beeline->recordSave($p);
$isRecord = true;
} else {
$record = json_encode([]);
}
//Поиск чей клиент
$sql_who = "SELECT who_work FROM clients WHERE id = {$client_id}";
$q_who = mysql_query($sql_who);
$r_who = mysql_fetch_assoc($q_who);
$who_work = $user_id;
if($r_who['who_work'] != 0){
$who_work = $r_who['who_work'];
}
if($type == 'abonentBeelineAnswer' && $agency_id != 19895){
if(!$new_client && $who_work != $user_id){
$tg_notif = "INSERT INTO telephony_notifications (user_id, who_work, from_mes, to_mes, client_id, type_phone) ".
"VALUES ({$user_id},{$who_work},0,1,{$client_id}, 2),".
"({$who_work},{$user_id},1,0,{$client_id}, 2)";
mysql_query($tg_notif);
}
}
//Поиск отслеживаемого звонка
$sql_t = "SELECT * FROM user_client_events WHERE client_id = {$client_id} AND user_id={$who_work} AND `type` = 'call' AND tracking = 1 AND calendar_view = 0";
$q_t = mysql_query($sql_t);
if(mysql_num_rows($q_t) > 0){
$r_t = mysql_fetch_assoc($q_t);
mysql_query("UPDATE user_client_events SET calendar_view = 1, record='".$record."' WHERE id = ".$r_t['id']);
if($type == 'beelineAbonentAnswer'){
$sql_in_ev = "INSERT INTO user_client_events (user_id, client_id, create_date, schedule_date_to, schedule_date, `type`, comment, calendar_view, from_id, beeline) ".
"VALUES (".$r_t['user_id'].", {$client_id}, '".date('Y-m-d H:i:s', $date)."', '".date('Y-m-d H:i:s')."', '".date('Y-m-d H:i:s', time()+3600)."', 'call', '".$r_t['comment'].' '.$p->comment_in."', 0, ".$r_t['from_id'].", 1)";
mysql_query($sql_in_ev);
}
} else {
$sql_in_ev = "INSERT INTO user_client_events (user_id, client_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, beeline, record) ".
"VALUES ({$who_work}, {$client_id}, '".date('Y-m-d H:i:s', $date)."', '".date('Y-m-d H:i:s', $date)."', 'call', '".$p->comment_in."', 1, {$user_id}, 1, '".$record."')";
// echo $sql_in_ev."\n";
mysql_query($sql_in_ev);
}
}
//Поиск заявки по клиенту
if($agency_id != 13934){
if(!$isRecord){
if(isset($p->externalId)){
$record = $beeline->recordSave($p);
$isRecord = true;
} else {
$record = json_encode([]);
}
}
if($agency_id == 14134 || $agency_id == 19895){
$isRecord = true;
}
$is_delete_req = false;
if($isRecord){
$res_s = "SELECT id, user_id, who_work, deleted, cancel FROM requisitions WHERE call_id='".$p->id."'";
$res_q = mysql_query($res_s);
if(mysql_num_rows($res_q) > 0){
$res_r = mysql_fetch_assoc($res_q);
$is_delete_req = true;
}
if($is_delete_req === false){
if($agency_id == 19895){ // Для агентства Домрил ищем заявку которая была закрыта менее часа назад
/** */
$date_update_between = "BETWEEN '". date('Y-m-d H:i:d', ($date - 10*60)) . "' AND '".date('Y-m-d H:i:d', ($date+60*60))."'";
$req_s = "SELECT id, user_id, who_work, created_at, deleted FROM requisitions WHERE
client_id=$client_id
AND (who_work = {$user_id} OR (SELECT user_id FROM requisition_doers WHERE requisitions.id = requisition_doers.requisition_id AND user_id={$user_id} AND confirm=1 LIMIT 1) ={$user_id})
and cancel=0 and deleted=1
AND (SELECT date_update FROM `events_clients` where `req_id` = requisitions.id AND `event` = 'delete'AND date_update $date_update_between ORDER BY id DESC LIMIT 1) is not null";
//echo $req_s."\n";
$q_s = mysql_query($req_s);
if(mysql_num_rows($q_s) > 0){
$is_delete_req = true;
//$req_q = mysql_query($req_s);
$req = mysql_fetch_assoc($q_s);
$sql_m = "SELECT id FROM user_client_events WHERE req_id = $req[id] AND user_id = {$user_id} AND create_date = '".date('Y-m-d H:i:s',$date)."'".
" AND `type` = 'call' AND beeline = 1 AND tracking = 0";
$q_m = mysql_query($sql_m);
if(mysql_num_rows($q_m) == 0){
$sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, beeline, record) ".
"VALUES ($user_id, $req[id], '".date('Y-m-d H:i:s', $date)."', '".date('Y-m-d H:i:s', $date)."', 'call', '".$p->comment_in."', 1, {$user_id}, 1, '".$record."')";
mysql_query($sql_in_ev);
}
} else {
$req_s = "SELECT id, user_id, who_work, created_at, deleted FROM requisitions WHERE
client_id=$client_id
AND (who_work = {$user_id} OR (SELECT user_id FROM requisition_doers WHERE requisitions.id = requisition_doers.requisition_id AND user_id={$user_id} AND confirm=1 LIMIT 1) ={$user_id})
and cancel=0";
$q_s = mysql_query($req_s);
if(mysql_num_rows($q_s) > 0){
$is_delete_req = true;
$req_q = mysql_query($req_s);
$req = mysql_fetch_assoc($req_q);
$sql_m = "SELECT id FROM user_client_events WHERE req_id = $req[id] AND user_id = $user_id AND create_date = '".date('Y-m-d H:i:s',$date)."'".
" AND `type` = 'call' AND beeline = 1 AND tracking = 0";
$q_m = mysql_query($sql_m);
if(mysql_num_rows($q_m) == 0){
$sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, beeline, record) ".
"VALUES ($user_id, $req[id], '".date('Y-m-d H:i:s', $date)."', '".date('Y-m-d H:i:s', $date)."', 'call', '".$p->comment_in."', 1, {$user_id}, 1, '".$record."')";
mysql_query($sql_in_ev);
}
if($req['deleted'] > 0 && !isset($_SESSION['id'])){
$up_client = "UPDATE `requisitions` SET `stage`='1', `who_work`='{$user_id}', `deleted` = 0, confirm=1, call_id='".$p->id."' WHERE `id`=$req[id]";
mysql_query($up_client);
$dop_text = "Переведена в активные по звонку ".date('Y-m-d H:i:s', $date);
$in_ev = "INSERT INTO `events_clients` (`user_id`, `req_id`, `event`, `dop_text`, `read`) VALUES ('{$user_id}', '$req[id]', 'update', '{$dop_text}', 1)";
mysql_query($in_ev);
}
}
}
}
}
if($is_delete_req === false){
$req_s = "SELECT id, user_id, who_work FROM requisitions WHERE client_id=$client_id
AND (who_work = {$user_id} OR (SELECT user_id FROM requisition_doers WHERE requisitions.id = requisition_doers.requisition_id AND user_id={$user_id} AND confirm=1 LIMIT 1) ={$user_id})
AND cancel=0 and deleted=0";
$req_q = mysql_query($req_s);
$req_rows = mysql_num_rows($req_q);
//echo $req_rows;
if($req_rows > 0){
if($req_rows == 1){
$req = mysql_fetch_assoc($req_q);
$sql_m = "SELECT id FROM user_client_events WHERE req_id = $req[id] AND user_id={$user_id} AND create_date = '".date('Y-m-d H:i:s',$date)."'".
" AND `type` = 'call' AND beeline = 1 AND tracking = 0";
$q_m = mysql_query($sql_m);
if(mysql_num_rows($q_m) == 0){
$sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, beeline, record) ".
"VALUES ($user_id, $req[id], '".date('Y-m-d H:i:s', $date)."', '".date('Y-m-d H:i:s', $date)."', 'call', '".$p->comment_in."', 1, {$user_id}, 1, '".$record."')";
mysql_query($sql_in_ev);
}
} else if ($req_rows > 1){
while($req = mysql_fetch_assoc($req_q)){
if($user_id == $req['who_work']){
$sql_m = "SELECT id FROM user_client_events WHERE req_id = $req[id] AND create_date = '".date('Y-m-d H:i:s',$date)."'".
" AND `type` = 'call' AND beeline = 1 AND tracking = 0 AND user_id=$req[who_work]";
$q_m = mysql_query($sql_m);
if(mysql_num_rows($q_m) == 0){
$sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, beeline, record) ".
"VALUES ($user_id, $req[id], '".date('Y-m-d H:i:s', $date)."', '".date('Y-m-d H:i:s', $date)."', 'call', '".$p->comment_in."', 1, {$user_id}, 1, '".$record."')";
mysql_query($sql_in_ev);
}
}
}
}
} else {
$req_comm = str_replace(["Клиент","записан"], ["Заявка","записана"], $p->comment);
$nameReq = 'Заявка Билайн';
$funnel_id = 0;
if($agency_id == 10387){
$funnel_id = 482;
} else if ($agency_id == 19895){
$funnel_id = 1513;
if(isset($funnel_id_req) && $funnel_id_req > 0){
$funnel_id = $funnel_id_req;
}
} else if($agency_id == 20553){
$funnel_id = 1897;
}
else if($agency_id == 22311){
$funnel_id = 2106;
} else if($agency_id == 22604){
$funnel_id = 2184;
} else if($agency_id == 22983){
$funnel_id = 2175;
} else if($agency_id == 23156){
if($type == 'abonentBeelineAnswer' || $type == 'abonentBeelineNoAnswer'){
$funnel_id = 2299;
} else {
$funnel_id = 2300;
}
}
$sql_cl = "SELECT fio FROM clients WHERE id={$client_id}";
$q_cl = mysql_query($sql_cl);
$r_cl = mysql_fetch_assoc($q_cl);
if(isset($r_cl['fio'])){
$nameReq = "Подбор объекта для ".$r_cl['fio'];
if($agency_id == 19895){
$nameReq = $r_cl['fio'];
}
}
$req_id = 0;
$hot = 0;
if($user_id == 20566){
$hot = 1;
}
$sql_req = "INSERT INTO `requisitions` SET name='{$nameReq}', hot='{$hot}', integration=1, user_id={$user_id}, client_id={$client_id}, stage=1, type_id=1, who_work={$user_id}, description='{$req_comm}', call_id='".$p->id."'";
if($funnel_id > 0) {
$sql_req .= ", funnel_id={$funnel_id}";
$reqClass = new Requisitions();
}
if(($agency_id == 22983 && $beeline->ver_phone($p->user_find_number) != '+79039518295' && $beeline->ver_phone($p->user_find_number) != '+79138757515') && ($type == 'beelineAbonentAnswer' || $type == 'beelineAbonentAnswer')){
/** */
} else
if($agency_id == 14134 || $agency_id == 19895 || $agency_id == 20923 || $agency_id == 22311 || $agency_id == 22604){
if($type == 'abonentBeelineAnswer' || $type == 'abonentBeelineNoAnswer'){
mysql_query($sql_req);
$req_id = mysql_insert_id();
$sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, beeline, record) ".
"VALUES ($user_id, $req_id, '".date('Y-m-d H:i:s', $date)."', '".date('Y-m-d H:i:s', $date)."', 'call', '".$p->comment_in."', 1, {$user_id}, 1, '".$record."')";
mysql_query($sql_in_ev);
if($user_id == 20566){
$sql_a = "INSERT INTO `requisitions_activities` (`activity_id`, `req_id`) VALUES (3039, {$req_id})";
mysql_query($sql_a);
}
}
} else if($agency_id != 11417 && $agency_id != 17328 && $agency_id != 19111 && $agency_id != 20382 && $agency_id != 18631 && $agency_id != 23065 && $agency_id != 23065) {
mysql_query($sql_req);
$req_id = mysql_insert_id();
$sql_in_ev = "INSERT INTO user_client_events (user_id, req_id, create_date, schedule_date, `type`, comment, calendar_view, from_id, beeline, record) ".
"VALUES ($user_id, $req_id, '".date('Y-m-d H:i:s', $date)."', '".date('Y-m-d H:i:s', $date)."', 'call', '".$p->comment_in."', 1, {$user_id}, 1, '".$record."')";
mysql_query($sql_in_ev);
}
if($req_id > 0 && $funnel_id > 0){
$reqClass->get_class_etap($req_id, $funnel_id);
}
}
}
}
}
}
// }
}
}
header('Content-Type: application/json');
$sql_tel = "SELECT * FROM agency_mango WHERE `type` = 'beeline'";
//echo $sql_tel;
if($_SESSION['id']){
$sql_tel = "SELECT * FROM agency_mango WHERE `type` = 'beeline' and agency_id = 22983";
}
$q_tel = mysql_query($sql_tel);
while($r_tel = mysql_fetch_assoc($q_tel)){
$api_key = $r_tel['api_key'];
$last_date = $r_tel['last_date'];
$agency_id =$r_tel['agency_id'];
$main_user_id = $r_tel['main_user'];
$lost_update = $r_tel['lost_update'];
$gmt = (int)$r_tel['gmt'];
$last_time_call = $r_tel['last_time_call'];
$last_id = $r_tel['last_id'];
$beeline = new BeelineApiClass($api_key);
// var_dump($beeline->validate_agency($agency_id));
if($beeline->validate_agency($agency_id)){
$funnel_telephony = array();
$sql_f_t = "SELECT * FROM funnel_telephony WHERE agency_id = {$agency_id}";
$q_f_t = mysql_query($sql_f_t);
while($r_f_t = mysql_fetch_assoc($q_f_t)){
$funnel_telephony[] = $r_f_t;
}
$usersBeeline = array();
// if((time() - $lost_update) >= 86400){
$usersCall=json_decode($beeline->getUsers());
var_dump($usersCall);
foreach($usersCall as $userB){
$phone = $beeline->saveUser($userB, $agency_id);
//echo $phone.'<br>';
if(!empty($phone)){
$user_id = $userB->userId;
$part_user = explode('@', $userB->userId);
if(isset($part_user[0])){
$user_id = $part_user[0];
}
$usersBeeline[$user_id] = $phone;
//$usersBeeline[str_replace('@smr.vo.ims.mnc099.mcc250.3gppnetwork.org','@ip.beeline.ru',$userB->userId)] = $phone;
}
//if((time() - $lost_update) >= 86400){
//}
if((time() - $lost_update) >= 86400){
$sql_up_tel = "UPDATE agency_mango SET lost_update = '".time()."' WHERE id = ".$r_tel['id'];
mysql_query($sql_up_tel);
}
}
//$last_date = '2020-11-02 16:00:00';
//$end_dat = '2020-11-02 17:00:00';
$start_date = date('Y-m-d',(strtotime($last_date) - 5*60*60)).'T'.date('H:i:s', (strtotime($last_date) - 5*60*60)).'Z';
if($agency_id == 19895 && $last_time_call > 0){
$start_date = date('Y-m-d',(strtotime('-3 hours', $last_time_call)-(60*10))).'T'.date('H:i:s', (strtotime('-3 hours', $last_time_call)-(60*10))).'Z';
}
/* if($_SESSION['id']){
$start_date = '2026-04-13T00:00:00Z';
echo $start_date."\n";
$last_id=0;
}*/
// echo $start_date."\n";
$usersIds = array();
$w = new WebHookIn();
$usersIds = $w->getAllUserAgency($agency_id);
//var_dump($usersIds);
$beeline->set_users($usersIds);
// var_dump($telphin->users);
//echo $start_date."\n";
/*if(isset($_SESSION['id'])){
$start_date = '2026-01-20T10:30:58Z';
}*/
$phones_type=array();
/* if(isset($_SESSION['id'])){
$calls = json_decode($beeline->stat_records(rawurlencode($start_date)));
}else*/
if($last_id > 0){
$calls = json_decode($beeline->stat_records(rawurlencode($start_date), $last_id));
} else {
$calls = json_decode($beeline->stat_records(rawurlencode($start_date)));
}
$star_date = date('Y-m-d',(strtotime($last_date) - 5*60*60)).'T'.date('H:i:s', (strtotime($last_date) - 5*60*60)).'Z';
// if(!isset($_SESSION['id'])){
$phones = json_decode($beeline->calls(rawurlencode($star_date)));
// var_dump($calls);
// }
if(!empty($_SESSION['id'])){
$phones = json_decode('[]');
}
// var_dump($calls);
//die();
if(!isset($phones->errorCode)){
foreach ($phones as $call) {
$rec = true;
if($agency_id != 7920 && $agency_id != 7911 && $agency_id != 8271 && $agency_id != 8285 && $agency_id != 11325){
if($call->status != 'MISSED'){
$rec = false;
}
if($call->status == 'PLACED' && $call->duration == 0){
$rec = true;
}
}
if($agency_id == 19895){
$beeline->checkRoute($call, $agency_id);
}
if($rec){
$typearr = json_decode($beeline->get_phone_type($call));
$type = $typearr->type;
$call->date = floor($call->startDate/1000)+($gmt*60*60)-(3*60*60);
/* if($agency_id == 19895){
echo date('d.m.Y H:i:s', $call->date).'<br>';
var_dump($call);
}*/
$call->date = $call->date*1000;
// $id_call = $beeline->stat($call, $agency_id);
$calls_ids = $beeline->stat($call, $agency_id);
$id_call = $calls_ids['id'];
$call_id_pg = $calls_ids['idpg'];
$call->id = $calls_ids['call_id'];
$user_find_number = $typearr->find_user;
if(isset($usersBeeline[$typearr->find_user])){
$user_find_number = $usersBeeline[$typearr->find_user];
}
// echo date('d.m.Y H:i:s', $call->date)."\n";
// var_dump($call);
/* echo $user_find_number."\n";
echo $typearr->find_user."\n";*/
// $beeline->save_user_call($id_call, $user_find_number, $main_user_id);
$beeline->save_user_call_pg($call_id_pg, $user_find_number, $main_user_id, $agency_id);
//echo '<br>';
//var_dump($typearr);
if($agency_id != 13337) {
switch ($type){
case 'beelineAbonentAnswer': {
$call->comment = 'Клиент записан по исходящему звонку в Билайн';
$call->comment_in = 'Исходящий звонок в Билайн';
$call->user_find_number = $typearr->find_user;
if(isset($usersBeeline[$typearr->find_user])){
$call->user_find_number = $usersBeeline[$typearr->find_user];
}
//$call->source_find = $call->from_username;
$call->client_find_number = $call->phone;
$call->comment_in .= ' '.$beeline->find_user_comment($call, 'from');
$phones_type['beelineAbonentAnswer'][] = $call;
break;
}
case 'abonentBeelineAnswer': {
$call->comment = 'Клиент записан по входящему звонку в Билайн';
$call->comment_in = 'Входящий звонок в Билайн';
$call->user_find_number = $typearr->find_user;
if(isset($usersBeeline[$typearr->find_user])){
$call->user_find_number = $usersBeeline[$typearr->find_user];
}
//$call->source_find = $call->to_username;
$call->client_find_number = $call->phone;
$call->comment_in .= ' '.$beeline->find_user_comment($call, 'to');
$phones_type['abonentBeelineAnswer'][] = $call;
break;
}
case 'beelineAbonentNoAnswer': {
$call->comment = 'Клиент записан по исходящему звонку в Билайн';
$call->comment_in = 'Исходящий звонок в Билайн.<br>Абонент не ответил';
$call->user_find_number = $typearr->find_user;
if(isset($usersBeeline[$typearr->find_user])){
$call->user_find_number = $usersBeeline[$typearr->find_user];
}
//$call->source_find = $call->from_username;
$call->client_find_number = $call->phone;
$call->comment_in .= ' '.$beeline->find_user_comment($call, 'from');
$phones_type['beelineAbonentNoAnswer'][] = $call;
break;
}
case 'abonentBeelineNoAnswer':{
$call->comment = 'Клиент записан по входящему звонку в Билайн';
$call->comment_in = 'Пропущеный входящий звонок в Билайн';
$call->user_find_number = $typearr->find_user;
if(isset($usersBeeline[$typearr->find_user])){
$call->user_find_number = $usersBeeline[$typearr->find_user];
}
//$call->source_find = $call->to_username;
$call->client_find_number = $call->phone;
$call->comment_in .= ' '.$beeline->find_user_comment($call, 'to');
$phones_type['abonentBeelineNoAnswer'][] = $call;
break;
}
}
}
}
}
// if($_SESSION['id'] > 0) die();
//var_dump($phones_type['abonentBeelineNoAnswer']);
//die();
//echo $telphin->ver_phone('6766907');
//var_dump($calls);
// var_dump($calls);
foreach ($calls as $call) {
$last_time_call = floor($call->date/1000);
$last_id = $call->id;
//echo date('d.m.Y H:i:s', $last_time_call)."\n";
$call->date = floor($call->date/1000)+($gmt*60*60)-(3*60*60);
$call->date = $call->date*1000;
/*echo $last_id."\n";
echo date('d.m.Y H:i:s', $call->date/1000)."\n";
var_dump($call);*/
//echo date('d.m.Y H:i:s', $call->date/1000).'<br>';
/*if($agency_id == 7911){
echo date('d.m.Y H:i:s', $call->date/1000).'<br>';
var_dump($call);
}*/
//var_dump($call);
//$id_call = $beeline->stat($call, $agency_id);
$typearr = json_decode($beeline->get_phone_type($call));
//echo $typearr->find_user."\n";
//var_dump($typearr);
$type = $typearr->type;
$user_find_number = $typearr->find_user;
if(isset($usersBeeline[$typearr->find_user])){
$user_find_number = $usersBeeline[$typearr->find_user];
}
$calls_ids = $beeline->stat($call, $agency_id);
$id_call = $calls_ids['id'];
$call_id_pg = $calls_ids['idpg'];
$call->id = $calls_ids['call_id'];
// var_dump($call);
// echo $user_find_number."\n";
//$beeline->save_user_call($id_call, $user_find_number, $main_user_id);
$beeline->save_user_call_pg($call_id_pg, $user_find_number, $main_user_id, $agency_id);
// echo $typearr->find_user.'<br>';
if($agency_id != 13337) {
switch ($type){
case 'beelineAbonentAnswer': {
$call->comment = 'Клиент записан по исходящему звонку в Билайн';
$call->comment_in = 'Исходящий звонок в Билайн';
$call->user_find_number = $typearr->find_user;
if(isset($usersBeeline[$typearr->find_user])){
$call->user_find_number = $usersBeeline[$typearr->find_user];
}
//$call->source_find = $call->from_username;
$call->client_find_number = $call->phone;
$call->comment_in .= ' '.$beeline->find_user_comment($call, 'from');
$phones_type['beelineAbonentAnswer'][] = $call;
break;
}
case 'abonentBeelineAnswer': {
$call->comment = 'Клиент записан по входящему звонку в Билайн';
$call->comment_in = 'Входящий звонок в Билайн';
$call->user_find_number = $typearr->find_user;
if(isset($usersBeeline[$typearr->find_user])){
$call->user_find_number = $usersBeeline[$typearr->find_user];
}
//$call->source_find = $call->to_username;
$call->client_find_number = $call->phone;
$call->comment_in .= ' '.$beeline->find_user_comment($call, 'to');
$phones_type['abonentBeelineAnswer'][] = $call;
break;
}
case 'beelineAbonentNoAnswer': {
$call->comment = 'Клиент записан по исходящему звонку в Билайн';
$call->comment_in = 'Исходящий звонок в Билайн.<br>Абонент не ответил';
$call->user_find_number = $typearr->find_user;
if(isset($usersBeeline[$typearr->find_user])){
$call->user_find_number = $usersBeeline[$typearr->find_user];
}
$call->source_find = $call->from_username;
$call->client_find_number = $call->phone;
$call->comment_in .= ' '.$beeline->find_user_comment($call, 'from');
$phones_type['beelineAbonentNoAnswer'][] = $call;
break;
}
case 'abonentBeelineNoAnswer':{
$call->comment = 'Клиент записан по входящему звонку в Билайн';
$call->comment_in = 'Пропущеный входящий звонок в Билайн';
$call->user_find_number = $typearr->find_user;
if(isset($usersBeeline[$typearr->find_user])){
$call->user_find_number = $usersBeeline[$typearr->find_user];
}
$call->source_find = $call->to_username;
$call->client_find_number = $call->phone;
$call->comment_in .= ' '.$beeline->find_user_comment($call, 'to');
$phones_type['abonentBeelineNoAnswer'][] = $call;
break;
}
}
}
}
}
//print_r($phones_type);
if(isset($phones_type['beelineAbonentAnswer'])){
foreach ($phones_type['beelineAbonentAnswer'] as $p) {
read_phone($beeline, $p, $agency_id, 'beelineAbonentAnswer', $main_user_id, $funnel_telephony);
}
}
if(isset($phones_type['abonentBeelineAnswer'])){
foreach ($phones_type['abonentBeelineAnswer'] as $p) {
read_phone($beeline, $p, $agency_id, 'abonentBeelineAnswer', $main_user_id, $funnel_telephony);
}
}
if(isset($phones_type['beelineAbonentNoAnswer'])){
foreach ($phones_type['beelineAbonentNoAnswer'] as $p) {
read_phone($beeline, $p, $agency_id, 'beelineAbonentNoAnswer', $main_user_id, $funnel_telephony);
}
}
if(isset($phones_type['abonentBeelineNoAnswer'])){
foreach ($phones_type['abonentBeelineNoAnswer'] as $p) {
read_phone($beeline, $p, $agency_id, 'abonentBeelineNoAnswer', $main_user_id, $funnel_telephony);
}
}
echo date('d.m.Y H:i:s', $last_time_call)."\n";
$sql_up_tel = "UPDATE agency_mango SET last_date = '".date('Y-m-d H:i:s')."', last_time_call = {$last_time_call}, last_id = {$last_id} WHERE id = ".$r_tel['id'];
//echo $
mysql_query($sql_up_tel);
}
}