Bhubaneswar, Odisha, India
+91-8328865778
support@softchief.com

Dynamics 365 CRM REST Snippets

Dynamics 365 CRM REST Snippets

REst is an important protocol to interact with CRM objects through javascript. Here I will discuss how to start REST codings using Dynamics CRM.

fun.png

Pre-requisites:

  • Download the CRM SDK for your CRM version from here : Download SDK Here (Imp: Choose your correct version of SDK)

download page.png

  • Once you downloaded the SDK extract the package and you will see the below directory structure after extraction.

Folder.png

Now navigate the below path and you will get 3 java script files as per below screenshot.

Path

C:\Users\Sanjaya\Desktop\Dynamics CRM SDK 2011\SDK\SampleCode\JS\RESTEndpoint\JavaScriptRESTDataOperations\JavaScriptRESTDataOperations\Scripts

path.png

We only require two scripts json2.js & SDK.REST from this folder.

You can refer this article for more information on REst 

  • Now create two JScript web resources in Dynamics CRM and upload these above two javascript in the web resources.
  • Create another JScript web resource (FormScript_Account_REST.JS) to add our Rest CRUD functions.
  • This example targets Account entity.
  • Follow the below examples to take idea how to write REst code and change your code accordingly.
  • Now add these 3 scripts on the form editing library of contact entity form.
  • The Libraries order should be.
    • json2.js
    • SDK.REST.js
    • FormScript_Account_REST.js
  • Add events required and point to the function written in FormScript_Account_REST.js script.

Sample Codes:

For parameters details info read this article.

CREATE RECORD

function createAccount() {
 var account = {};
 account.Name = "Test Account Name";
 account.Description = "This account was created by REst.";
//Create the Account
 SDK.REST.createRecord(
     account,
     "Account",
     function (account) {
      alert("The account named \"" + account.Name + "\" is created");
     },
     errorHandler
   );
}
function errorHandler(error) {
 alert(error.message);
}

RETRIEVE RECORD

function retrieveAccount(AccountId) {
 SDK.REST.retrieveRecord(
     AccountId,
     "Account",
     null,null,
     function (account) {
      alert("Retrieved the account named \"" + account.Name + "\".);
     },
     errorHandler
   );
}
function errorHandler(error) {
 alert(error.message);
}

UPDATE RECORD

function updateAccount(AccountId) {
 var account = {};
 alert("Changing the account Name to \"Updated Account Name\".");
 account.Name = "Updated Account Name";
 alert("Adding Address information");
 account.Address1_AddressTypeCode = { Value: 3 }; //Address1: AddressType=Primary
 account.Address1_City = "Sanjay";
 account.Address1_Line1 = "123 High St.";
 account.Address1_PostalCode = "98074";
 account.Address1_StateOrProvince = "WA";
 alert("Setting E-Mail address");
 account.EMailAddress1 = "me@sh034.global.temp.domains";
 SDK.REST.updateRecord(
     AccountId,
     account,
     "Account",
     function () {
      alert("The account record changes were saved");
     },
     errorHandler
   );
}
function errorHandler(error) {
 alert(error.message);
}

DELETE RECORD

function deleteAccount(AccountId) {
  alert("You chose to delete the account record.");
  SDK.REST.deleteRecord(
       AccountId,
       "Account",
       function () {
        alert("The account is deleted.");
       },
       errorHandler
     );
 }
function errorHandler(error) {
 alert(error.message);
}