Node.js 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"

Node.js Example

var os = require('os');
if (os.platform() == 'win32') {  
    var chilkat = require('chilkat_node6_win32'); 
} else if (os.platform() == 'linux') {
    if (os.arch() == 'arm') {
        var chilkat = require('chilkat_node6_arm');
    } else if (os.arch() == 'x86') {
        var chilkat = require('chilkat_node6_linux32');
    } else {
        var chilkat = require('chilkat_node6_linux64');
    }
} else if (os.platform() == 'darwin') {
    var chilkat = require('chilkat_node6_macosx');
}

function chilkatExample() {

    var rest = new chilkat.Rest();
    var success;

    //  URL: https://my-dynamics-domain.api.crm.dynamics.com/api/data/v9.0/contacts(1fa1e5b9-88df-e311-b8e5-6c3be5a8b200)
    var bTls = true;
    var port = 443;
    var bAutoReconnect = true;
    success = rest.Connect("my-dynamics-domain.api.crm.dynamics.com",port,bTls,bAutoReconnect);
    if (success !== true) {
        console.log("ConnectFailReason: " + rest.ConnectFailReason);
        console.log(rest.LastErrorText);
        return;
    }

    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");

    var sbResponseBody = new chilkat.StringBuilder();
    success = rest.FullRequestNoBodySb("GET","/api/data/v9.0/contacts(1fa1e5b9-88df-e311-b8e5-6c3be5a8b200)",sbResponseBody);
    if (success !== true) {
        console.log(rest.LastErrorText);
        return;
    }

    var respStatusCode = rest.ResponseStatusCode;
    if (respStatusCode >= 400) {
        console.log("Response Status Code = " + respStatusCode);
        console.log("Response Header:");
        console.log(rest.ResponseHeader);
        console.log("Response Body:");
        console.log(sbResponseBody.GetAsString());
        return;
    }

    var jsonResponse = new chilkat.JsonObject();
    jsonResponse.LoadSb(sbResponseBody);

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

}

chilkatExample();

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
}