Psyduck - 可達鴨 之 鴨力山大 v0.1

Current Path : home/irplbiz/public_html/suite_crm/
Upload File :
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 '&#10004; Successfully Synced.'; 
			} else {
				echo 'Problem in syncing!'; 
			}
		} else {
			//echo (isset($login_result->description))?$login_result->description:'Invalid Login!';
			echo "Login Failed!";
		}



}


?>