PHP Extension Dynamics CRM: Retrieve a Single Contact

Back to Index

Returns the full contact record for a given contactid.

Documentation: https://msdn.microsoft.com/en-us/library/gg334767.aspx#Basic query example

CURL Command

curl -X GET https://my-dynamics-domain.api.crm.dynamics.com/api/data/v9.0/contacts(1fa1e5b9-88df-e311-b8e5-6c3be5a8b200) \
  -H "Accept: application/json" \
  -H "OData-MaxVersion: 4.0"  \
  -H "OData-Version: 4.0" \
  -H "Authorization: Bearer DYNAMICS_CRM_ACCESS_TOKEN"

PHP Extension Example

<?php

// The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number.
// For example, if using Chilkat v9.5.0.48, then include as shown here:
include("chilkat_9_5_0.php");

$rest = new CkRest();

//  URL: https://my-dynamics-domain.api.crm.dynamics.com/api/data/v9.0/contacts(1fa1e5b9-88df-e311-b8e5-6c3be5a8b200)
$bTls = true;
$port = 443;
$bAutoReconnect = true;
$success = $rest->Connect('my-dynamics-domain.api.crm.dynamics.com',$port,$bTls,$bAutoReconnect);
if ($success != true) {
    print 'ConnectFailReason: ' . $rest->get_ConnectFailReason() . "\n";
    print $rest->lastErrorText() . "\n";
    exit;
}

$rest->AddHeader('OData-MaxVersion','4.0');
$rest->AddHeader('Accept','application/json');
$rest->AddHeader('OData-Version','4.0');
$rest->AddHeader('Authorization','Bearer DYNAMICS_CRM_ACCESS_TOKEN');

$sbResponseBody = new CkStringBuilder();
$success = $rest->FullRequestNoBodySb('GET','/api/data/v9.0/contacts(1fa1e5b9-88df-e311-b8e5-6c3be5a8b200)',$sbResponseBody);
if ($success != true) {
    print $rest->lastErrorText() . "\n";
    exit;
}

$respStatusCode = $rest->get_ResponseStatusCode();
if ($respStatusCode >= 400) {
    print 'Response Status Code = ' . $respStatusCode . "\n";
    print 'Response Header:' . "\n";
    print $rest->responseHeader() . "\n";
    print 'Response Body:' . "\n";
    print $sbResponseBody->getAsString() . "\n";
    exit;
}

$jsonResponse = new CkJsonObject();
$jsonResponse->LoadSb($sbResponseBody);

$odataContext = $jsonResponse->stringOf('\'@odata.context\'');
$odataEtag = $jsonResponse->stringOf('\'@odata.etag\'');
$customertypecode = $jsonResponse->IntOf('customertypecode');
$address1_latitude = $jsonResponse->IntOf('address1_latitude');
$birthdate = $jsonResponse->stringOf('birthdate');
$merged = $jsonResponse->BoolOf('merged');
$gendercode = $jsonResponse->IntOf('gendercode');
$territorycode = $jsonResponse->IntOf('territorycode');
$emailaddress1 = $jsonResponse->stringOf('emailaddress1');
$haschildrencode = $jsonResponse->IntOf('haschildrencode');
$preferredappointmenttimecode = $jsonResponse->IntOf('preferredappointmenttimecode');
$isbackofficecustomer = $jsonResponse->BoolOf('isbackofficecustomer');
$modifiedon = $jsonResponse->stringOf('modifiedon');
$v_owninguser_value = $jsonResponse->stringOf('_owninguser_value');
$importsequencenumber = $jsonResponse->IntOf('importsequencenumber');
$address1_composite = $jsonResponse->stringOf('address1_composite');
$address1_longitude = $jsonResponse->IntOf('address1_longitude');
$marketingonly = $jsonResponse->BoolOf('marketingonly');
$donotphone = $jsonResponse->BoolOf('donotphone');
$preferredcontactmethodcode = $jsonResponse->IntOf('preferredcontactmethodcode');
$educationcode = $jsonResponse->IntOf('educationcode');
$v_ownerid_value = $jsonResponse->stringOf('_ownerid_value');
$customersizecode = $jsonResponse->IntOf('customersizecode');
$firstname = $jsonResponse->stringOf('firstname');
$donotpostalmail = $jsonResponse->BoolOf('donotpostalmail');
$yomifullname = $jsonResponse->stringOf('yomifullname');
$address2_addresstypecode = $jsonResponse->IntOf('address2_addresstypecode');
$donotemail = $jsonResponse->BoolOf('donotemail');
$address2_shippingmethodcode = $jsonResponse->IntOf('address2_shippingmethodcode');
$fullname = $jsonResponse->stringOf('fullname');
$timezoneruleversionnumber = $jsonResponse->IntOf('timezoneruleversionnumber');
$address1_addressid = $jsonResponse->stringOf('address1_addressid');
$address2_freighttermscode = $jsonResponse->IntOf('address2_freighttermscode');
$statuscode = $jsonResponse->IntOf('statuscode');
$createdon = $jsonResponse->stringOf('createdon');
$address1_stateorprovince = $jsonResponse->stringOf('address1_stateorprovince');
$lastname = $jsonResponse->stringOf('lastname');
$donotsendmm = $jsonResponse->BoolOf('donotsendmm');
$donotfax = $jsonResponse->BoolOf('donotfax');
$leadsourcecode = $jsonResponse->IntOf('leadsourcecode');
$address1_country = $jsonResponse->stringOf('address1_country');
$versionnumber = $jsonResponse->IntOf('versionnumber');
$address1_line1 = $jsonResponse->stringOf('address1_line1');
$creditonhold = $jsonResponse->BoolOf('creditonhold');
$telephone1 = $jsonResponse->stringOf('telephone1');
$v_owningbusinessunit_value = $jsonResponse->stringOf('_owningbusinessunit_value');
$address3_addressid = $jsonResponse->stringOf('address3_addressid');
$donotbulkemail = $jsonResponse->BoolOf('donotbulkemail');
$v_modifiedby_value = $jsonResponse->stringOf('_modifiedby_value');
$followemail = $jsonResponse->BoolOf('followemail');
$shippingmethodcode = $jsonResponse->IntOf('shippingmethodcode');
$v_createdby_value = $jsonResponse->stringOf('_createdby_value');
$address1_city = $jsonResponse->stringOf('address1_city');
$donotbulkpostalmail = $jsonResponse->BoolOf('donotbulkpostalmail');
$v_parentcustomerid_value = $jsonResponse->stringOf('_parentcustomerid_value');
$contactid = $jsonResponse->stringOf('contactid');
$participatesinworkflow = $jsonResponse->BoolOf('participatesinworkflow');
$statecode = $jsonResponse->IntOf('statecode');
$overriddencreatedon = $jsonResponse->stringOf('overriddencreatedon');
$address2_addressid = $jsonResponse->stringOf('address2_addressid');
$address1_postalcode = $jsonResponse->stringOf('address1_postalcode');
$int_kloutscore = $jsonResponse->IntOf('int_kloutscore');
$spousesname = $jsonResponse->stringOf('spousesname');
$emailaddress3 = $jsonResponse->stringOf('emailaddress3');
$address3_telephone3 = $jsonResponse->stringOf('address3_telephone3');
$mobilephone = $jsonResponse->stringOf('mobilephone');
$utcconversiontimezonecode = $jsonResponse->stringOf('utcconversiontimezonecode');
$v_preferredserviceid_value = $jsonResponse->stringOf('_preferredserviceid_value');
$address3_shippingmethodcode = $jsonResponse->stringOf('address3_shippingmethodcode');
$int_twitterservice = $jsonResponse->stringOf('int_twitterservice');
$annualincome = $jsonResponse->stringOf('annualincome');
$fax = $jsonResponse->stringOf('fax');
$telephone3 = $jsonResponse->stringOf('telephone3');
$address1_primarycontactname = $jsonResponse->stringOf('address1_primarycontactname');
$address3_city = $jsonResponse->stringOf('address3_city');
$lastonholdtime = $jsonResponse->stringOf('lastonholdtime');
$address2_stateorprovince = $jsonResponse->stringOf('address2_stateorprovince');
$address2_line1 = $jsonResponse->stringOf('address2_line1');
$assistantphone = $jsonResponse->stringOf('assistantphone');
$lastusedincampaign = $jsonResponse->stringOf('lastusedincampaign');
$address3_freighttermscode = $jsonResponse->stringOf('address3_freighttermscode');
$pager = $jsonResponse->stringOf('pager');
$employeeid = $jsonResponse->stringOf('employeeid');
$managername = $jsonResponse->stringOf('managername');
$address1_name = $jsonResponse->stringOf('address1_name');
$department = $jsonResponse->stringOf('department');
$address3_country = $jsonResponse->stringOf('address3_country');
$address2_telephone1 = $jsonResponse->stringOf('address2_telephone1');
$address2_primarycontactname = $jsonResponse->stringOf('address2_primarycontactname');
$address2_latitude = $jsonResponse->stringOf('address2_latitude');
$address3_latitude = $jsonResponse->stringOf('address3_latitude');
$address2_postalcode = $jsonResponse->stringOf('address2_postalcode');
$entityimage_timestamp = $jsonResponse->stringOf('entityimage_timestamp');
$v_originatingleadid_value = $jsonResponse->stringOf('_originatingleadid_value');
$v_masterid_value = $jsonResponse->stringOf('_masterid_value');
$v_createdonbehalfby_value = $jsonResponse->stringOf('_createdonbehalfby_value');
$address3_postofficebox = $jsonResponse->stringOf('address3_postofficebox');
$subscriptionid = $jsonResponse->stringOf('subscriptionid');
$business2 = $jsonResponse->stringOf('business2');
$address3_county = $jsonResponse->stringOf('address3_county');
$address1_telephone2 = $jsonResponse->stringOf('address1_telephone2');
$address1_freighttermscode = $jsonResponse->stringOf('address1_freighttermscode');
$address3_addresstypecode = $jsonResponse->stringOf('address3_addresstypecode');
$address1_addresstypecode = $jsonResponse->stringOf('address1_addresstypecode');
$aging90_base = $jsonResponse->stringOf('aging90_base');
$address3_primarycontactname = $jsonResponse->stringOf('address3_primarycontactname');
$familystatuscode = $jsonResponse->stringOf('familystatuscode');
$home2 = $jsonResponse->stringOf('home2');
$int_kloutscoreservice = $jsonResponse->stringOf('int_kloutscoreservice');
$address2_utcoffset = $jsonResponse->stringOf('address2_utcoffset');
$aging60 = $jsonResponse->stringOf('aging60');
$telephone2 = $jsonResponse->stringOf('telephone2');
$yomimiddlename = $jsonResponse->stringOf('yomimiddlename');
$v_modifiedonbehalfby_value = $jsonResponse->stringOf('_modifiedonbehalfby_value');
$jobtitle = $jsonResponse->stringOf('jobtitle');
$address3_utcoffset = $jsonResponse->stringOf('address3_utcoffset');
$address1_telephone3 = $jsonResponse->stringOf('address1_telephone3');
$address2_line2 = $jsonResponse->stringOf('address2_line2');
$creditlimit_base = $jsonResponse->stringOf('creditlimit_base');
$address3_line1 = $jsonResponse->stringOf('address3_line1');
$address1_county = $jsonResponse->stringOf('address1_county');
$v_createdbyexternalparty_value = $jsonResponse->stringOf('_createdbyexternalparty_value');
$entityimageid = $jsonResponse->stringOf('entityimageid');
$processid = $jsonResponse->stringOf('processid');
$int_facebook = $jsonResponse->stringOf('int_facebook');
$description = $jsonResponse->stringOf('description');
$address1_fax = $jsonResponse->stringOf('address1_fax');
$address3_line2 = $jsonResponse->stringOf('address3_line2');
$externaluseridentifier = $jsonResponse->stringOf('externaluseridentifier');
$int_facebookservice = $jsonResponse->stringOf('int_facebookservice');
$aging30_base = $jsonResponse->stringOf('aging30_base');
$v_callback = $jsonResponse->stringOf('callback');
$emailaddress2 = $jsonResponse->stringOf('emailaddress2');
$address2_line3 = $jsonResponse->stringOf('address2_line3');
$managerphone = $jsonResponse->stringOf('managerphone');
$websiteurl = $jsonResponse->stringOf('websiteurl');
$exchangerate = $jsonResponse->stringOf('exchangerate');
$address1_telephone1 = $jsonResponse->stringOf('address1_telephone1');
$address3_composite = $jsonResponse->stringOf('address3_composite');
$address3_fax = $jsonResponse->stringOf('address3_fax');
$childrensnames = $jsonResponse->stringOf('childrensnames');
$v_owningteam_value = $jsonResponse->stringOf('_owningteam_value');
$numberofchildren = $jsonResponse->stringOf('numberofchildren');
$address2_postofficebox = $jsonResponse->stringOf('address2_postofficebox');
$aging90 = $jsonResponse->stringOf('aging90');
$aging60_base = $jsonResponse->stringOf('aging60_base');
$v_transactioncurrencyid_value = $jsonResponse->stringOf('_transactioncurrencyid_value');
$entityimage = $jsonResponse->stringOf('entityimage');
$v_modifiedbyexternalparty_value = $jsonResponse->stringOf('_modifiedbyexternalparty_value');
$paymenttermscode = $jsonResponse->stringOf('paymenttermscode');
$address3_name = $jsonResponse->stringOf('address3_name');
$ftpsiteurl = $jsonResponse->stringOf('ftpsiteurl');
$address1_shippingmethodcode = $jsonResponse->stringOf('address1_shippingmethodcode');
$v_preferredsystemuserid_value = $jsonResponse->stringOf('_preferredsystemuserid_value');
$address2_telephone2 = $jsonResponse->stringOf('address2_telephone2');
$v_slainvokedid_value = $jsonResponse->stringOf('_slainvokedid_value');
$address3_telephone1 = $jsonResponse->stringOf('address3_telephone1');
$nickname = $jsonResponse->stringOf('nickname');
$address1_postofficebox = $jsonResponse->stringOf('address1_postofficebox');
$v_preferredequipmentid_value = $jsonResponse->stringOf('_preferredequipmentid_value');
$assistantname = $jsonResponse->stringOf('assistantname');
$address2_country = $jsonResponse->stringOf('address2_country');
$v_accountid_value = $jsonResponse->stringOf('_accountid_value');
$address2_name = $jsonResponse->stringOf('address2_name');
$stageid = $jsonResponse->stringOf('stageid');
$address3_longitude = $jsonResponse->stringOf('address3_longitude');
$onholdtime = $jsonResponse->stringOf('onholdtime');
$address2_telephone3 = $jsonResponse->stringOf('address2_telephone3');
$address3_upszone = $jsonResponse->stringOf('address3_upszone');
$aging30 = $jsonResponse->stringOf('aging30');
$address2_upszone = $jsonResponse->stringOf('address2_upszone');
$address1_upszone = $jsonResponse->stringOf('address1_upszone');
$creditlimit = $jsonResponse->stringOf('creditlimit');
$salutation = $jsonResponse->stringOf('salutation');
$traversedpath = $jsonResponse->stringOf('traversedpath');
$accountrolecode = $jsonResponse->stringOf('accountrolecode');
$address1_utcoffset = $jsonResponse->stringOf('address1_utcoffset');
$governmentid = $jsonResponse->stringOf('governmentid');
$annualincome_base = $jsonResponse->stringOf('annualincome_base');
$address3_stateorprovince = $jsonResponse->stringOf('address3_stateorprovince');
$address3_postalcode = $jsonResponse->stringOf('address3_postalcode');
$address2_city = $jsonResponse->stringOf('address2_city');
$msdyn_gdproptout = $jsonResponse->stringOf('msdyn_gdproptout');
$company = $jsonResponse->stringOf('company');
$address1_line2 = $jsonResponse->stringOf('address1_line2');
$address2_longitude = $jsonResponse->stringOf('address2_longitude');
$int_twitter = $jsonResponse->stringOf('int_twitter');
$address3_telephone2 = $jsonResponse->stringOf('address3_telephone2');
$yomifirstname = $jsonResponse->stringOf('yomifirstname');
$address2_composite = $jsonResponse->stringOf('address2_composite');
$address2_county = $jsonResponse->stringOf('address2_county');
$suffix = $jsonResponse->stringOf('suffix');
$anniversary = $jsonResponse->stringOf('anniversary');
$v_parentcontactid_value = $jsonResponse->stringOf('_parentcontactid_value');
$address2_fax = $jsonResponse->stringOf('address2_fax');
$yomilastname = $jsonResponse->stringOf('yomilastname');
$preferredappointmentdaycode = $jsonResponse->stringOf('preferredappointmentdaycode');
$entityimage_url = $jsonResponse->stringOf('entityimage_url');
$address1_line3 = $jsonResponse->stringOf('address1_line3');
$v_defaultpricelevelid_value = $jsonResponse->stringOf('_defaultpricelevelid_value');
$v_slaid_value = $jsonResponse->stringOf('_slaid_value');
$middlename = $jsonResponse->stringOf('middlename');
$address3_line3 = $jsonResponse->stringOf('address3_line3');
$timespentbymeonemailandmeetings = $jsonResponse->stringOf('timespentbymeonemailandmeetings');

?>

Sample JSON Response Body

{
  "@odata.context": "https://mydomain.api.crm.dynamics.com/api/data/v9.0/$metadata#contacts/$entity",
  "@odata.etag": "W/\"1162210\"",
  "customertypecode": 1,
  "address1_latitude": 35.82096,
  "birthdate": "1965-05-24",
  "merged": false,
  "gendercode": 1,
  "territorycode": 1,
  "emailaddress1": "tom@cohowinery.com",
  "haschildrencode": 1,
  "preferredappointmenttimecode": 1,
  "isbackofficecustomer": false,
  "modifiedon": "2018-03-12T16:09:53Z",
  "_owninguser_value": "55e68414-a277-42d6-ba36-d90484708a1d",
  "importsequencenumber": 104,
  "address1_composite": "4405 Balboa Court\r\nSanta Cruz, NM 72052\r\nUS",
  "address1_longitude": -106.21346,
  "marketingonly": false,
  "donotphone": false,
  "preferredcontactmethodcode": 1,
  "educationcode": 1,
  "_ownerid_value": "55e68414-a277-42d6-ba36-d90484708a1d",
  "customersizecode": 1,
  "firstname": "Tomasz",
  "donotpostalmail": false,
  "yomifullname": "Tomasz Bochenek",
  "address2_addresstypecode": 1,
  "donotemail": false,
  "address2_shippingmethodcode": 1,
  "fullname": "Tomasz Bochenek",
  "timezoneruleversionnumber": 0,
  "address1_addressid": "c3a917d8-1daa-463b-a4ac-f6d9878d7456",
  "address2_freighttermscode": 1,
  "statuscode": 1,
  "createdon": "2017-01-20T22:40:01Z",
  "address1_stateorprovince": "NM",
  "lastname": "Bochenek",
  "donotsendmm": false,
  "donotfax": false,
  "leadsourcecode": 1,
  "address1_country": "US",
  "versionnumber": 1162210,
  "address1_line1": "4405 Balboa Court",
  "creditonhold": false,
  "telephone1": "456-698-4581",
  "_owningbusinessunit_value": "c4106190-c81e-e811-a980-000d3a192e9a",
  "address3_addressid": "e3e5cc17-4990-4d08-8a4d-c16ca45217ab",
  "donotbulkemail": false,
  "_modifiedby_value": "e00ba668-e2de-47bc-8f92-ab9573f92ff4",
  "followemail": true,
  "shippingmethodcode": 1,
  "_createdby_value": "55e68414-a277-42d6-ba36-d90484708a1d",
  "address1_city": "Santa Cruz",
  "donotbulkpostalmail": false,
  "_parentcustomerid_value": "b0a19cdd-88df-e311-b8e5-6c3be5a8b200",
  "contactid": "1fa1e5b9-88df-e311-b8e5-6c3be5a8b200",
  "participatesinworkflow": false,
  "statecode": 0,
  "overriddencreatedon": "2018-03-03T12:22:25Z",
  "address2_addressid": "fee626cd-e834-4a68-a54e-b98c23847b2d",
  "address1_postalcode": "72052",
  "int_kloutscore": 90,
  "spousesname": null,
  "emailaddress3": null,
  "address3_telephone3": null,
  "mobilephone": null,
  "utcconversiontimezonecode": null,
  "_preferredserviceid_value": null,
  "address3_shippingmethodcode": null,
  "int_twitterservice": null,
  "annualincome": null,
  "fax": null,
  "telephone3": null,
  "address1_primarycontactname": null,
  "address3_city": null,
  "lastonholdtime": null,
  "address2_stateorprovince": null,
  "address2_line1": null,
  "assistantphone": null,
  "lastusedincampaign": null,
  "address3_freighttermscode": null,
  "pager": null,
  "employeeid": null,
  "managername": null,
  "address1_name": null,
  "department": null,
  "address3_country": null,
  "address2_telephone1": null,
  "address2_primarycontactname": null,
  "address2_latitude": null,
  "address3_latitude": null,
  "address2_postalcode": null,
  "entityimage_timestamp": null,
  "_originatingleadid_value": null,
  "_masterid_value": null,
  "_createdonbehalfby_value": null,
  "address3_postofficebox": null,
  "subscriptionid": null,
  "business2": null,
  "address3_county": null,
  "address1_telephone2": null,
  "address1_freighttermscode": null,
  "address3_addresstypecode": null,
  "address1_addresstypecode": null,
  "aging90_base": null,
  "address3_primarycontactname": null,
  "familystatuscode": null,
  "home2": null,
  "int_kloutscoreservice": null,
  "address2_utcoffset": null,
  "aging60": null,
  "telephone2": null,
  "yomimiddlename": null,
  "_modifiedonbehalfby_value": null,
  "jobtitle": null,
  "address3_utcoffset": null,
  "address1_telephone3": null,
  "address2_line2": null,
  "creditlimit_base": null,
  "address3_line1": null,
  "address1_county": null,
  "_createdbyexternalparty_value": null,
  "entityimageid": null,
  "processid": null,
  "int_facebook": null,
  "description": null,
  "address1_fax": null,
  "address3_line2": null,
  "externaluseridentifier": null,
  "int_facebookservice": null,
  "aging30_base": null,
  "callback": null,
  "emailaddress2": null,
  "address2_line3": null,
  "managerphone": null,
  "websiteurl": null,
  "exchangerate": null,
  "address1_telephone1": null,
  "address3_composite": null,
  "address3_fax": null,
  "childrensnames": null,
  "_owningteam_value": null,
  "numberofchildren": null,
  "address2_postofficebox": null,
  "aging90": null,
  "aging60_base": null,
  "_transactioncurrencyid_value": null,
  "entityimage": null,
  "_modifiedbyexternalparty_value": null,
  "paymenttermscode": null,
  "address3_name": null,
  "ftpsiteurl": null,
  "address1_shippingmethodcode": null,
  "_preferredsystemuserid_value": null,
  "address2_telephone2": null,
  "_slainvokedid_value": null,
  "address3_telephone1": null,
  "nickname": null,
  "address1_postofficebox": null,
  "_preferredequipmentid_value": null,
  "assistantname": null,
  "address2_country": null,
  "_accountid_value": null,
  "address2_name": null,
  "stageid": null,
  "address3_longitude": null,
  "onholdtime": null,
  "address2_telephone3": null,
  "address3_upszone": null,
  "aging30": null,
  "address2_upszone": null,
  "address1_upszone": null,
  "creditlimit": null,
  "salutation": null,
  "traversedpath": null,
  "accountrolecode": null,
  "address1_utcoffset": null,
  "governmentid": null,
  "annualincome_base": null,
  "address3_stateorprovince": null,
  "address3_postalcode": null,
  "address2_city": null,
  "msdyn_gdproptout": null,
  "company": null,
  "address1_line2": null,
  "address2_longitude": null,
  "int_twitter": null,
  "address3_telephone2": null,
  "yomifirstname": null,
  "address2_composite": null,
  "address2_county": null,
  "suffix": null,
  "anniversary": null,
  "_parentcontactid_value": null,
  "address2_fax": null,
  "yomilastname": null,
  "preferredappointmentdaycode": null,
  "entityimage_url": null,
  "address1_line3": null,
  "_defaultpricelevelid_value": null,
  "_slaid_value": null,
  "middlename": null,
  "address3_line3": null,
  "timespentbymeonemailandmeetings": null
}