UPSERT the Salesforce Contact Record using PHP

ini_set(“soap.wsdl_cache_enabled”, “0”);

// PHP Tool Kit class scripts to login to Salesforce Org
require_once (‘../includes/soapclient/SforcePartnerClient.php’);
require_once (‘../includes/soapclient/SforceHeaderOptions.php’);

// Salesforce Login information
$wsdl = ‘partner.wsdl.xml’;    // PARTNER WSDL FILE PATH
$userName = “salesforce username”;
$password = “salesforce password”; // PASSWORD SHOULD BE COMBINATION OF “PASSWORD + SECURITY TOKEN”, if it’s a Developer ORG.

// Process of logging on and getting a session
$client = new SforcePartnerClient();
$loginResult = $client->login($userName, $password);

//Then perform to Update Your Data to Salesforce Contact Object

$createFields = array (
‘FirstName’ => ‘George’,
‘LastName’ => ‘Smith’,
‘Phone’ => ‘510-555-5555’,
‘BirthDate’ => ‘1927-01-25’,
‘Email’ => ‘’

$sObject = new stdclass();
$sObject->fields = $createFields;
$sObject->type = ‘Contact’;

echo “Creating New Contact\n”;
$createResponse = $loginResult->create(array($sObject));

$sObject->fields[‘FirstName’] = ‘Bill’;
$sObject->fields[‘LastName’] = ‘Clinton’;

echo “Upserting Contact (existing)\n”;
$upsertResponse = $loginResult->upsert(“Email”, array ($sObject));

$sObject->fields[‘FirstName’] = ‘John’;
$sObject->fields[‘LastName’] = ‘Smith’;
$sObject->fields[‘Email’] = ‘’;

echo “Upserting Contact (new)\n”;
$upsertResponse = $loginResult->upsert(“Email”, array ($sObject));

} catch (Exception $ex) {
echo $loginResult->getLastRequest();

Written by 

I am Sakthivel Madesh, a certified Salesforce Advanced Developer & Administrator working on Salesforce Technology since 2011. I am currently working in Techforce Services as Sr. Salesforce Developer. I have worked on multiple technologies Like PHP, Java, Salesforce, I am very passionate about Salesforce and to earn 15x Salesforce Certification. I love Trailhead for learning Salesforce Skill and Become a Trailhead 5x Ranger too. I Love to Learn & Share my Salesforce knowledge to Salesforce Learners/Beginner using My Blog and Salesforce Community.

Leave a Reply

Your email address will not be published. Required fields are marked *