stripslashes($data['first-name']), 'last_name' => stripslashes($data['last-name']), 'phone' => stripslashes($data['phone']), 'email' => stripslashes($data['your-email']), 'zip' => stripslashes($data['zip']), 'Campaign_ID' => $campaign_ID, 'oid' => $oid, 'lead_source' => $lead_source, 'Custom_Field_1__c' => stripslashes($data['subid1']), 'Custom_Field_2__c' => stripslashes($data['subid2']), 'Custom_Field_3__c' => stripslashes($data['subid3']), 'Custom_Field_4__c' => stripslashes($data['subid4']), ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://webto.salesforce.com/servlet/servlet.WebToLead"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($cleanPOST)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Added to ensure the response is captured $response = curl_exec($ch); $error = curl_error($ch); curl_close($ch); if ($error) { return "Salesforce Error: $error"; } else { return json_decode($response, true); } } // Function to handle the Five9 form submission function post59($data) { $Campaign_ID = '701130000026vNy'; date_default_timezone_set('America/New_York'); $F9Date = date("Y-m-d")."-". date("H:i"); $F9domain = "connect america"; $F9list = isset($data['callback']) ? $data['callback'] : ''; $newphone = preg_replace('/^1|\D/', '', $data['phone']); $cleanPOST = array( 'first_name' => stripslashes($data['first-name']), 'last_name' => stripslashes($data['last-name']), 'number1' => $newphone, 'F9domain' => $F9domain, 'F9list' => $F9list, 'salesforce_id' => $Campaign_ID, 'Device_6' => '', 'WebDialer_Key' => $F9Date, 'F9key' => $F9Date, 'F9CallASAP' => true ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.five9.com/web2campaign/AddToList"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($cleanPOST)); $response = curl_exec($ch); if ($response === false) { $error = curl_error($ch); curl_close($ch); return "Five9 Error: $error"; } else { curl_close($ch); return json_decode($response, true); } } // REST API endpoint registration add_action('rest_api_init', function () { register_rest_route('affiliates/v1', '/form', array( 'methods' => 'POST', 'callback' => 'handle_form_submission', )); }); // Function to handle the form submission and trigger both postsf() and post59() function handle_form_submission($request) { $params = $request->get_params(); $response1 = postsf($params); $response2 = post59($params); return array( 'salesforce_response' => $response1, 'five9_response' => $response2 ); }