Ruby 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"

Ruby Example

require 'chilkat'

rest = Chilkat::CkRest.new()

#  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().to_s() + "\n";
    print rest.lastErrorText() + "\n";
    exit
end

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 = Chilkat::CkStringBuilder.new()
success = rest.FullRequestNoBodySb("GET","/api/data/v9.0/contacts(1fa1e5b9-88df-e311-b8e5-6c3be5a8b200)",sbResponseBody)
if (success != true)
    print rest.lastErrorText() + "\n";
    exit
end

respStatusCode = rest.get_ResponseStatusCode()
if (respStatusCode >= 400)
    print "Response Status Code = " + respStatusCode.to_s() + "\n";
    print "Response Header:" + "\n";
    print rest.responseHeader() + "\n";
    print "Response Body:" + "\n";
    print sbResponseBody.getAsString() + "\n";
    exit
end

jsonResponse = Chilkat::CkJsonObject.new()
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
}