· 6 years ago · Jun 27, 2019, 05:36 PM
1define('CLIENT_ID', 'local.5cdc29c540daa0.46732928');
2define('CLIENT_SECRET', '4Qph6yfsgS9MzqQlgEGB2sJ5V1kCTaCSoeAUIqhugon8CxPJWH');
3define('PATH', '/cadastro-dinamize/');
4define('REDIRECT_URI', 'https://lojadohojeemdia.com.br' . PATH);
5define('BITRIX_URL' , 'hubseller.bitrix24.com.br');
6define('SCOPE', 'crm,user');
7define('PROTOCOL', "https");
8
9function redirect($url)
10{
11 Header("HTTP 302 Found");
12 Header("Location: ".$url);
13 die();
14}
15function query($method, $url, $data = null)
16{
17 $query_data = "";
18 $curlOptions = array(
19 CURLOPT_RETURNTRANSFER => true
20 );
21 if($method == "POST")
22 {
23 $curlOptions[CURLOPT_POST] = true;
24 $curlOptions[CURLOPT_POSTFIELDS] = http_build_query($data);
25 }
26 elseif(!empty($data))
27 {
28 $url .= strpos($url, "?") > 0 ? "&" : "?";
29 $url .= http_build_query($data);
30 }
31
32 $curl = curl_init($url);
33 curl_setopt_array($curl, $curlOptions);
34 $result = curl_exec($curl);
35 return json_decode($result, 1);
36}
37function call($method, $params)
38{
39 return query("GET", PROTOCOL."://".BITRIX_URL."/rest/".$method, $params);
40}
41
42function renew_token($token_refresh){
43
44 global $wpdb;
45
46 $params = array(
47 "grant_type" => "refresh_token",
48 "client_id" => CLIENT_ID,
49 "client_secret" => CLIENT_SECRET,
50 "redirect_uri" => REDIRECT_URI,
51 "refresh_token" => $token_refresh,
52 );
53
54 $token_new = '';
55
56 $path = "/oauth/token/";
57 $query_data = query("GET", PROTOCOL."://".BITRIX_URL.$path, $params);
58
59 if(isset($query_data["access_token"])) {
60 $token_new = $query_data["access_token"];
61 $token_refresh = $query_data["refresh_token"];
62 $expires = $query_data["expires"];
63 $result = $wpdb->update('wp_token_bitrix', array('token_atual'=>$token_new, 'token_refresh'=>$token_refresh, 'expires'=>$expires), array('idwp_token_bitrix'=>1));
64 }
65
66 return $token_new;
67}
68
69function get_token_bitrix(){
70
71 global $wpdb;
72
73 $results = $wpdb->get_results( "SELECT * FROM wp_token_bitrix");
74 $token_atual = '';
75 if(!empty($results))
76 {
77 $token_refresh = '';
78 $expires = '';
79
80 foreach($results as $row){
81 $token_atual = $row->token_atual;
82 $token_refresh = $row->token_refresh;
83 $expires = $row->expires;
84 }
85
86 $expires = date("Y-m-d H:i:s", $expires);
87 if($expires < date("Y-m-d H:i:s")){
88 $token_atual = renew_token($token_refresh);
89 }
90 }
91 return $token_atual;
92}
93
94function atualiza_deal_bitrix($deal_ID, $funil_nome, $probabilidade){
95 $token_bitrix = get_token_bitrix();
96 $data_deal = '';
97 if($token_bitrix){
98 $company_arr =
99 array(
100 'auth' => $token_bitrix,
101 'id' => $deal_ID,
102 'fields' => array(
103 "STAGE_ID" => $funil_nome,
104 "PROBABILITY" => $probabilidade
105 ),
106 );
107
108 $data_deal = call("crm.deal.update", $company_arr);
109
110 }
111 return $data_deal;
112}