Psyduck - 可達鴨 之 鴨力山大 v0.1
Current File : /home/irplbiz/public_html/suite_crm/db_crm_synch.php |
<?php
function insert_enquiry ($arrParam) {
if ($arrParam['phone']!="" && $arrParam['email']!="" && $arrParam['last_name']!="" ) {
//print_r($arrParam); die;
// insert into Suite CRM
suite_insert($arrParam);
} else {
echo "Mandatory fields not specified!";
}
}
function check_suite_duplicate($phone, $email) {
//duplicate checking ends
$curl = curl_init();
$sendarr = array(
'oAuth_json' => '{
"sKey": "dfgfd4566541cvxcv^$#f8",
"aKey": "rgre6765sfdsf12df54$@"
}
',
'jsonParam' => '{
"phone_no": "' . $phone . '",
"lead_email": "' . $email . '"
}
'
);
//print_obj($arr);die;
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://orionedutech.co.in/suite/admin/api/getleaddetails',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $sendarr,
));
$dup_response = curl_exec($curl);
curl_close($curl);
//print_r($dup_response);die;
$dup_response = json_decode($dup_response);
//echo "Status: " . $dup_response->success . "<br>";
//print_r($dup_response);die;
//duplicate checking ends
return $dup_response;
}
function call($method, $parameters, $url)
{
ob_start();
$curl_request = curl_init();
curl_setopt($curl_request, CURLOPT_URL, $url);
curl_setopt($curl_request, CURLOPT_POST, 1);
curl_setopt($curl_request, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($curl_request, CURLOPT_HEADER, 1);
curl_setopt($curl_request, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl_request, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_request, CURLOPT_FOLLOWLOCATION, 0);
$jsonEncodedData = json_encode($parameters);
$post = array(
"method" => $method,
"input_type" => "JSON",
"response_type" => "JSON",
"rest_data" => $jsonEncodedData
);
curl_setopt($curl_request, CURLOPT_POSTFIELDS, $post);
$result = curl_exec($curl_request);
curl_close($curl_request);
$result = explode("\r\n\r\n", $result, 2);
$response = json_decode($result[1]);
ob_end_flush();
return $response;
}
function suite_insert($arrParam) {
$url = 'https://orionedutech.co.in/suite/service/v4_1/rest.php';
$username = 'niladri_oes';
$password = 'niladri_oes';
$first_name = strip_tags($arrParam['first_name']);
$last_name = strip_tags($arrParam['last_name']);
$lead_email = strip_tags($arrParam['email']);
$lead_contact = strip_tags($arrParam['phone']);
$lead_message = strip_tags($arrParam['message']);
$lead_destination = ""; // not available in form
$webpage_name_c = strip_tags($arrParam['webpage_name']); // assign your web page name
$webpage_section_c = strip_tags($arrParam['webpage_section']); // assign your inquiry form name
$p_lead_origin = strip_tags($arrParam['lead_origin']); // Set Lead Origin
$owner_c = "Niladri_OES"; // set Lead Owner for proper reporting
$description = ""; // set your own description
$notes = $lead_message; // assign message to crm notes field
$orion_lead_source_c = 'oes_weblead'; // Set Lead Origin filter
$lob_c = "Niladri_Banerjee"; // Set LOB
// Set Lead Origin filter - change as per requirement
if (is_null($p_lead_origin) || $p_lead_origin=='') {
$lead_origin='API';
} else if ($p_lead_origin=='googleads') {
$lead_origin='Google';
} else {
$lead_origin='API';
}
// Get whether duplicate lead
$dup_response = check_suite_duplicate($lead_contact, $lead_email);
//login ----------------------------------------
$login_parameters = array(
"user_auth" => array(
"user_name" => $username,
"password" => md5($password),
"version" => "1"
),
"application_name" => "RestTest",
"name_value_list" => array(),
);
$login_result = call("login", $login_parameters, $url);
//echo "Login Result: " . print_r($login_result); die;
if (!isset($login_result->name)) {
$name_val = $login_result->name_value_list;
$user_ar = $name_val->user_id;
$user_hash = $user_ar->value;
//echo 'id= '.$user_hash.'<br>';
//get session id
$session_id = $login_result->id;
//retrieve fields --------------------------------
$set_entries_parameters = array(
//Session id
"session" => $session_id,
//The name of the module from which to retrieve records.
"module_name" => "Leads",
//Record attributes
"name_value_lists" => array(
array(
//to update a record
/*
array(
"name" => "id",
"value" => "da0b107d-cfbc-cb08-4f90-50b7b9cb9ad7"
),
*/
array(
"name" => "first_name",
"value" => $first_name
),
array(
"name" => "last_name",
"value" => $last_name
),
array(
"name" => "phone_mobile",
"value" => $lead_contact
),
array(
"name" => "phone_work",
"value" => $lead_contact
),
array(
"name" => "email1",
"value" => $lead_email
),
array(
"name" => "lead_email_c",
"value" => $lead_email
),
array(
"name" => "description",
"value" => $description
),
array(
"name" => "notes_c",
"value" => $notes
),
array(
"name" => "orion_lead_source_c",
"value" => $orion_lead_source_c
),
array(
"name" => "assigned_user_id",
"value" => $user_hash
),
array(
"name" => "lead_stage_date_c",
"value" => date("Y-m-d")
),
array(
"name" => "portal_name",
"value" => $lead_email . $lead_contact
),
array(
"name" => "lead_stage_c",
"value" => 'lead'
),
array(
"name" => "lead_origin_c",
"value" => $lead_origin
),
array(
"name" => "owner_c",
"value" => $owner_c
),
array(
"name" => "webpage_name_c",
"value" => $webpage_name_c
),
array(
"name" => "webpage_section_c",
"value" => $webpage_section_c
),
array(
"name" => "destination_c",
"value" => $lead_destination
),
array(
"name" => "lob_c",
"value" => $lob_c
),
),
),
);
if ($dup_response->success == 1) {
$get_module_fields_result = call("set_entries", $set_entries_parameters, $url);
} else {
$get_module_fields_result = '';
echo "Duplicate Lead Email+Phone!";
die;
}
if (!empty($get_module_fields_result)) {
echo '✔ Successfully Synced.';
} else {
echo 'Problem in syncing!';
}
} else {
//echo (isset($login_result->description))?$login_result->description:'Invalid Login!';
echo "Login Failed!";
}
}
?>