Salesforce organization service URL in visualforce without using apex code

Code Snippet :

{!LEFT($Api.Partner_Server_URL_220, FIND( '/services', $Api.Partner_Server_URL_320))}<br/>
{!$Api.Partner_Server_URL_220}  <br/>
{!$Api.Enterprise_Server_URL_260} <br/>
{!$Api.Partner_Server_URL_250}   <br/>
{!$Api.Session_ID} <br/>

{!LEFT($Api.Partner_Server_URL_220, FIND( '/services', $Api.Partner_Server_URL_320))}a4N?fcf=00B340000090IWG<br/>


Output :


https://c.ap4.visual.force.com/
https://c.ap4.visual.force.com/services/Soap/u/22.0/00D6F000001oLO4 
https://c.ap4.visual.force.com/services/Soap/c/26.0/00D6F000001oLO4 
https://c.ap4.visual.force.com/services/Soap/u/25.0/00D6F000001oLO4
https://c.ap4.visual.force.com/a4N?fcf=00B340000090IWG

salesforce Login using command prompt and DML operations

Step1 : Getting access token from salesforce

Input :
--------
curl https://eu10.salesforce.com/services/oauth2/token -d "grant_type=password" -d "client_id=3MVG9mIli7ewofGu2Fey6P0EzbHrEZ5QW7IfZGGs6XOpO8AA3tMPg647IVo5jWNEiQduBdQTxRG.KAMSlYvIW" -d "client_secret=6367330749412135519" -d "username=cisco.systems%40yopmail.com" -d "password=Rishan786%25" -X POST -H "X-PrettyPrint:1"

Output :
========
{
  "access_token" : "00D0X000000uTD0!AQwAQCkbfDBhPM0gDej6hlPQGz6PROmeye0SOaFKnMl6iZmqpvraRPokhDoMN1eHIguvF3lqjkOeko_Te8Dvbj9pnbHf7HAa",
  "instance_url" : "https://eu10.salesforce.com",
  "id" : "https://login.salesforce.com/id/00D0X000000uTD0UAM/0050X000007a0ZeQAI",
  "token_type" : "Bearer",
  "issued_at" : "1532774651728",
  "signature" : "ejZ1kpsoqlPP1yAL4Mvs62yC73X3QN+Wc6xn3PZqb5o="
}

Step2 : Getting organization objects information

Input :
-------

curl https://eu10.salesforce.com/services/data/v20.0/sobjects/ -H "Authorization:Bearer 00D0X000000uTD0!AQwAQCkbfDBhPM0gDej6hlPQGz6PROmeye0SOaFKnMl6iZmqpvraRPokhDoMN1eHIguvF3lqjkOeko_Te8Dvbj9pnbHf7HAa" -H "X-PrettyPrint:1"

Output :
--------
{
  "encoding" : "UTF-8",
  "maxBatchSize" : 200,
  "sobjects" : [ {
    "activateable" : false,
    "createable" : false,
    "custom" : false,
    "customSetting" : false,
    "deletable" : false,
    "deprecatedAndHidden" : false,
    "feedEnabled" : false,
    "keyPrefix" : null,
    "label" : "History: ACC_ATTRIBUTE",
    "labelPlural" : "History: ACC_ATTRIBUTE",
    "layoutable" : false,
    "mergeable" : false,
    "name" : "ACC_ATTRIBUTES__History",
    "queryable" : true,
    "replicateable" : true,
    "retrieveable" : true,
    "searchable" : false,
    "triggerable" : false,
    "undeletable" : false,
    "updateable" : false,
    "urls" : {
      "rowTemplate" : "/services/data/v20.0/sobjects/ACC_ATTRIBUTES__History/{ID}",
      "describe" : "/services/data/v20.0/sobjects/ACC_ATTRIBUTES__History/describe",
      "sobject" : "/services/data/v20.0/sobjects/ACC_ATTRIBUTES__History"
    }
  }
}

Step3 :
-------
curl https://eu10.salesforce.com/services/data/v20.0/sobjects/Account -H "Authorization:Bearer 00D0X000000uTD0!AQwAQCkbfDBhPM0gDej6hlPQGz6PROmeye0SOaFKnMl6iZmqpvraRPokhDoMN1eHIguvF3lqjkOeko_Te8Dvbj9pnbHf7HAa" -H "X-PrettyPrint:1"
{
  "objectDescribe" : {
    "activateable" : false,
    "createable" : true,
    "custom" : false,
    "customSetting" : false,
    "deletable" : true,
    "deprecatedAndHidden" : false,
    "feedEnabled" : true,
    "keyPrefix" : "001",
    "label" : "Account",
    "labelPlural" : "Accounts",
    "layoutable" : true,
    "mergeable" : true,
    "name" : "Account",
    "queryable" : true,
    "replicateable" : true,
    "retrieveable" : true,
    "searchable" : true,
    "triggerable" : true,
    "undeletable" : true,
    "updateable" : true,
    "urls" : {
      "rowTemplate" : "/services/data/v20.0/sobjects/Account/{ID}",
      "describe" : "/services/data/v20.0/sobjects/Account/describe",
      "sobject" : "/services/data/v20.0/sobjects/Account"
    }
  },
  "recentItems" : [ ]
}

Step4 :
-------

curl https://eu10.salesforce.com/services/data/v20.0/sobjects/Cisco_FY__c/describe -H "Authorization:Bearer 00D0X000000uTD0!AQwAQCkbfDBhPM0gDej6hlPQGz6PROmeye0SOaFKnMl6iZmqpvraRPokhDoMN1eHIguvF3lqjkOeko_Te8Dvbj9pnbHf7HAa" -H "X-PrettyPrint:1"
{
  "activateable" : false,
  "childRelationships" : [ {
    "cascadeDelete" : true,
    "childSObject" : "Attachment",
    "deprecatedAndHidden" : false,
    "field" : "ParentId",
    "relationshipName" : "Attachments"
  }, {
    "cascadeDelete" : true,
    "childSObject" : "Cisco_Team__c",
    "deprecatedAndHidden" : false,
    "field" : "Cisco_FY__c",
    "relationshipName" : "Tracks__r"
  }, {
    "cascadeDelete" : false,
    "childSObject" : "ContentVersion",
    "deprecatedAndHidden" : false,
    "field" : "FirstPublishLocationId",
    "relationshipName" : null
  }, {
    "cascadeDelete" : true,
    "childSObject" : "EntitySubscription",
    "deprecatedAndHidden" : false,
    "field" : "ParentId",
    "relationshipName" : "FeedSubscriptionsForEntity"
  }, {
    "cascadeDelete" : false,
    "childSObject" : "FeedComment",
    "deprecatedAndHidden" : false,
    "field" : "ParentId",
    "relationshipName" : null
  }, {
    "cascadeDelete" : true,
    "childSObject" : "FeedPost",
    "deprecatedAndHidden" : false,
    "field" : "ParentId",
    "relationshipName" : null
  }, {
    "cascadeDelete" : true,
    "childSObject" : "NewsFeed",
    "deprecatedAndHidden" : false,
    "field" : "ParentId",
    "relationshipName" : null
  }, {
    "cascadeDelete" : true,
    "childSObject" : "Note",
    "deprecatedAndHidden" : false,
    "field" : "ParentId",
    "relationshipName" : "Notes"
  }, {
    "cascadeDelete" : true,
    "childSObject" : "NoteAndAttachment",
    "deprecatedAndHidden" : false,
    "field" : "ParentId",
    "relationshipName" : "NotesAndAttachments"
  }, {
    "cascadeDelete" : true,
    "childSObject" : "ProcessInstance",
    "deprecatedAndHidden" : false,
    "field" : "TargetObjectId",
    "relationshipName" : "ProcessInstances"
  }, {
    "cascadeDelete" : false,
    "childSObject" : "ProcessInstanceHistory",
    "deprecatedAndHidden" : false,
    "field" : "TargetObjectId",
    "relationshipName" : "ProcessSteps"
  }, {
    "cascadeDelete" : true,
    "childSObject" : "UserProfileFeed",
    "deprecatedAndHidden" : false,
    "field" : "ParentId",
    "relationshipName" : null
  } ],
  "createable" : true,
  "custom" : true,
  "customSetting" : false,
  "deletable" : true,
  "deprecatedAndHidden" : false,
  "feedEnabled" : false,
  "fields" : [ {
    "autoNumber" : false,
    "byteLength" : 18,
    "calculated" : false,
    "calculatedFormula" : null,
    "caseSensitive" : false,
    "controllerName" : null,
    "createable" : false,
    "custom" : false,
    "defaultValue" : null,
    "defaultValueFormula" : null,
    "defaultedOnCreate" : true,
    "dependentPicklist" : false,
    "deprecatedAndHidden" : false,
    "digits" : 0,
    "externalId" : false,
    "filterable" : true,
    "groupable" : true,
    "htmlFormatted" : false,
    "idLookup" : true,
    "inlineHelpText" : null,
    "label" : "Record ID",
    "length" : 18,
    "name" : "Id",
    "nameField" : false,
    "namePointing" : false,
    "nillable" : false,
    "picklistValues" : [ ],
    "precision" : 0,
    "referenceTo" : [ ],
    "relationshipName" : null,
    "relationshipOrder" : null,
    "restrictedPicklist" : false,
    "scale" : 0,
    "soapType" : "tns:ID",
    "sortable" : true,
    "type" : "id",
    "unique" : false,
    "updateable" : false,
    "writeRequiresMasterRead" : false
  }, {
    "autoNumber" : false,
    "byteLength" : 18,
    "calculated" : false,
    "calculatedFormula" : null,
    "caseSensitive" : false,
    "controllerName" : null,
    "createable" : true,
    "custom" : false,
    "defaultValue" : null,
    "defaultValueFormula" : null,
    "defaultedOnCreate" : true,
    "dependentPicklist" : false,
    "deprecatedAndHidden" : false,
    "digits" : 0,
    "externalId" : false,
    "filterable" : true,
    "groupable" : true,
    "htmlFormatted" : false,
    "idLookup" : false,
    "inlineHelpText" : null,
    "label" : "Owner ID",
    "length" : 18,
    "name" : "OwnerId",
    "nameField" : false,
    "namePointing" : true,
    "nillable" : false,
    "picklistValues" : [ ],
    "precision" : 0,
    "referenceTo" : [ "Group", "User" ],
    "relationshipName" : "Owner",
    "relationshipOrder" : null,
    "restrictedPicklist" : false,
    "scale" : 0,
    "soapType" : "tns:ID",
    "sortable" : true,
    "type" : "reference",
    "unique" : false,
    "updateable" : true,
    "writeRequiresMasterRead" : false
  }, {
    "autoNumber" : false,
    "byteLength" : 0,
    "calculated" : false,
    "calculatedFormula" : null,
    "caseSensitive" : false,
    "controllerName" : null,
    "createable" : false,
    "custom" : false,
    "defaultValue" : null,
    "defaultValueFormula" : null,
    "defaultedOnCreate" : true,
    "dependentPicklist" : false,
    "deprecatedAndHidden" : false,
    "digits" : 0,
    "externalId" : false,
    "filterable" : true,
    "groupable" : true,
    "htmlFormatted" : false,
    "idLookup" : false,
    "inlineHelpText" : null,
    "label" : "Deleted",
    "length" : 0,
    "name" : "IsDeleted",
    "nameField" : false,
    "namePointing" : false,
    "nillable" : false,
    "picklistValues" : [ ],
    "precision" : 0,
    "referenceTo" : [ ],
    "relationshipName" : null,
    "relationshipOrder" : null,
    "restrictedPicklist" : false,
    "scale" : 0,
    "soapType" : "xsd:boolean",
    "sortable" : true,
    "type" : "boolean",
    "unique" : false,
    "updateable" : false,
    "writeRequiresMasterRead" : false
  }, {
    "autoNumber" : false,
    "byteLength" : 240,
    "calculated" : false,
    "calculatedFormula" : null,
    "caseSensitive" : false,
    "controllerName" : null,
    "createable" : true,
    "custom" : false,
    "defaultValue" : null,
    "defaultValueFormula" : null,
    "defaultedOnCreate" : true,
    "dependentPicklist" : false,
    "deprecatedAndHidden" : false,
    "digits" : 0,
    "externalId" : false,
    "filterable" : true,
    "groupable" : true,
    "htmlFormatted" : false,
    "idLookup" : true,
    "inlineHelpText" : null,
    "label" : "FY Name",
    "length" : 80,
    "name" : "Name",
    "nameField" : true,
    "namePointing" : false,
    "nillable" : true,
    "picklistValues" : [ ],
    "precision" : 0,
    "referenceTo" : [ ],
    "relationshipName" : null,
    "relationshipOrder" : null,
    "restrictedPicklist" : false,
    "scale" : 0,
    "soapType" : "xsd:string",
    "sortable" : true,
    "type" : "string",
    "unique" : false,
    "updateable" : true,
    "writeRequiresMasterRead" : false
  }, {
    "autoNumber" : false,
    "byteLength" : 0,
    "calculated" : false,
    "calculatedFormula" : null,
    "caseSensitive" : false,
    "controllerName" : null,
    "createable" : false,
    "custom" : false,
    "defaultValue" : null,
    "defaultValueFormula" : null,
    "defaultedOnCreate" : true,
    "dependentPicklist" : false,
    "deprecatedAndHidden" : false,
    "digits" : 0,
    "externalId" : false,
    "filterable" : true,
    "groupable" : false,
    "htmlFormatted" : false,
    "idLookup" : false,
    "inlineHelpText" : null,
    "label" : "Created Date",
    "length" : 0,
    "name" : "CreatedDate",
    "nameField" : false,
    "namePointing" : false,
    "nillable" : false,
    "picklistValues" : [ ],
    "precision" : 0,
    "referenceTo" : [ ],
    "relationshipName" : null,
    "relationshipOrder" : null,
    "restrictedPicklist" : false,
    "scale" : 0,
    "soapType" : "xsd:dateTime",
    "sortable" : true,
    "type" : "datetime",
    "unique" : false,
    "updateable" : false,
    "writeRequiresMasterRead" : false
  }, {
    "autoNumber" : false,
    "byteLength" : 18,
    "calculated" : false,
    "calculatedFormula" : null,
    "caseSensitive" : false,
    "controllerName" : null,
    "createable" : false,
    "custom" : false,
    "defaultValue" : null,
    "defaultValueFormula" : null,
    "defaultedOnCreate" : true,
    "dependentPicklist" : false,
    "deprecatedAndHidden" : false,
    "digits" : 0,
    "externalId" : false,
    "filterable" : true,
    "groupable" : true,
    "htmlFormatted" : false,
    "idLookup" : false,
    "inlineHelpText" : null,
    "label" : "Created By ID",
    "length" : 18,
    "name" : "CreatedById",
    "nameField" : false,
    "namePointing" : false,
    "nillable" : false,
    "picklistValues" : [ ],
    "precision" : 0,
    "referenceTo" : [ "User" ],
    "relationshipName" : "CreatedBy",
    "relationshipOrder" : null,
    "restrictedPicklist" : false,
    "scale" : 0,
    "soapType" : "tns:ID",
    "sortable" : true,
    "type" : "reference",
    "unique" : false,
    "updateable" : false,
    "writeRequiresMasterRead" : false
  }, {
    "autoNumber" : false,
    "byteLength" : 0,
    "calculated" : false,
    "calculatedFormula" : null,
    "caseSensitive" : false,
    "controllerName" : null,
    "createable" : false,
    "custom" : false,
    "defaultValue" : null,
    "defaultValueFormula" : null,
    "defaultedOnCreate" : true,
    "dependentPicklist" : false,
    "deprecatedAndHidden" : false,
    "digits" : 0,
    "externalId" : false,
    "filterable" : true,
    "groupable" : false,
    "htmlFormatted" : false,
    "idLookup" : false,
    "inlineHelpText" : null,
    "label" : "Last Modified Date",
    "length" : 0,
    "name" : "LastModifiedDate",
    "nameField" : false,
    "namePointing" : false,
    "nillable" : false,
    "picklistValues" : [ ],
    "precision" : 0,
    "referenceTo" : [ ],
    "relationshipName" : null,
    "relationshipOrder" : null,
    "restrictedPicklist" : false,
    "scale" : 0,
    "soapType" : "xsd:dateTime",
    "sortable" : true,
    "type" : "datetime",
    "unique" : false,
    "updateable" : false,
    "writeRequiresMasterRead" : false
  }, {
    "autoNumber" : false,
    "byteLength" : 18,
    "calculated" : false,
    "calculatedFormula" : null,
    "caseSensitive" : false,
    "controllerName" : null,
    "createable" : false,
    "custom" : false,
    "defaultValue" : null,
    "defaultValueFormula" : null,
    "defaultedOnCreate" : true,
    "dependentPicklist" : false,
    "deprecatedAndHidden" : false,
    "digits" : 0,
    "externalId" : false,
    "filterable" : true,
    "groupable" : true,
    "htmlFormatted" : false,
    "idLookup" : false,
    "inlineHelpText" : null,
    "label" : "Last Modified By ID",
    "length" : 18,
    "name" : "LastModifiedById",
    "nameField" : false,
    "namePointing" : false,
    "nillable" : false,
    "picklistValues" : [ ],
    "precision" : 0,
    "referenceTo" : [ "User" ],
    "relationshipName" : "LastModifiedBy",
    "relationshipOrder" : null,
    "restrictedPicklist" : false,
    "scale" : 0,
    "soapType" : "tns:ID",
    "sortable" : true,
    "type" : "reference",
    "unique" : false,
    "updateable" : false,
    "writeRequiresMasterRead" : false
  }, {
    "autoNumber" : false,
    "byteLength" : 0,
    "calculated" : false,
    "calculatedFormula" : null,
    "caseSensitive" : false,
    "controllerName" : null,
    "createable" : false,
    "custom" : false,
    "defaultValue" : null,
    "defaultValueFormula" : null,
    "defaultedOnCreate" : true,
    "dependentPicklist" : false,
    "deprecatedAndHidden" : false,
    "digits" : 0,
    "externalId" : false,
    "filterable" : true,
    "groupable" : false,
    "htmlFormatted" : false,
    "idLookup" : false,
    "inlineHelpText" : null,
    "label" : "System Modstamp",
    "length" : 0,
    "name" : "SystemModstamp",
    "nameField" : false,
    "namePointing" : false,
    "nillable" : false,
    "picklistValues" : [ ],
    "precision" : 0,
    "referenceTo" : [ ],
    "relationshipName" : null,
    "relationshipOrder" : null,
    "restrictedPicklist" : false,
    "scale" : 0,
    "soapType" : "xsd:dateTime",
    "sortable" : true,
    "type" : "datetime",
    "unique" : false,
    "updateable" : false,
    "writeRequiresMasterRead" : false
  }, {
    "autoNumber" : false,
    "byteLength" : 765,
    "calculated" : false,
    "calculatedFormula" : null,
    "caseSensitive" : false,
    "controllerName" : null,
    "createable" : true,
    "custom" : true,
    "defaultValue" : null,
    "defaultValueFormula" : null,
    "defaultedOnCreate" : false,
    "dependentPicklist" : false,
    "deprecatedAndHidden" : false,
    "digits" : 0,
    "externalId" : false,
    "filterable" : true,
    "groupable" : true,
    "htmlFormatted" : false,
    "idLookup" : false,
    "inlineHelpText" : null,
    "label" : "Main Track",
    "length" : 255,
    "name" : "Main_Track__c",
    "nameField" : false,
    "namePointing" : false,
    "nillable" : true,
    "picklistValues" : [ {
      "active" : true,
      "defaultValue" : true,
      "label" : "RTB",
      "validFor" : null,
      "value" : "RTB"
    } ],
    "precision" : 0,
    "referenceTo" : [ ],
    "relationshipName" : null,
    "relationshipOrder" : null,
    "restrictedPicklist" : true,
    "scale" : 0,
    "soapType" : "xsd:string",
    "sortable" : true,
    "type" : "picklist",
    "unique" : false,
    "updateable" : true,
    "writeRequiresMasterRead" : false
  } ],
  "keyPrefix" : "a06",
  "label" : "Cisco FY",
  "labelPlural" : "Cisco FY",
  "layoutable" : true,
  "listviewable" : null,
  "lookupLayoutable" : null,
  "mergeable" : false,
  "name" : "Cisco_FY__c",
  "queryable" : true,
  "recordTypeInfos" : [ {
    "available" : true,
    "defaultRecordTypeMapping" : true,
    "name" : "Master",
    "recordTypeId" : "012000000000000AAA"
  } ],
  "replicateable" : true,
  "retrieveable" : true,
  "searchLayoutable" : null,
  "searchable" : true,
  "triggerable" : true,
  "undeletable" : true,
  "updateable" : true,
  "urls" : {
    "rowTemplate" : "/services/data/v20.0/sobjects/Cisco_FY__c/{ID}",
    "uiDetailTemplate" : "https://eu10.salesforce.com/{ID}",
    "uiEditTemplate" : "https://eu10.salesforce.com/{ID}/e",
    "describe" : "/services/data/v20.0/sobjects/Cisco_FY__c/describe",
    "uiNewRecord" : "https://eu10.salesforce.com/a06/e",
    "sobject" : "/services/data/v20.0/sobjects/Cisco_FY__c"
  }
}

Step5 :
-------
curl https://eu10.salesforce.com/services/data/v20.0/query?q=SELECT+name+from+Cisco_FY__c -H "Authorization:Bearer 00D0X000000uTD0!AQwAQCkbfDBhPM0gDej6hlPQGz6PROmeye0SOaFKnMl6iZmqpvraRPokhDoMN1eHIguvF3lqjkOeko_Te8Dvbj9pnbHf7HAa" -H "X-PrettyPrint:1"
{
  "totalSize" : 1,
  "done" : true,
  "records" : [ {
    "attributes" : {
      "type" : "Cisco_FY__c",
      "url" : "/services/data/v20.0/sobjects/Cisco_FY__c/a060X00002XNYY1QAP"
    },
    "Name" : "FY2018"
  } ]
}

Step6 :
-------

curl https://eu10.salesforce.com/services/data/v28.0/recent/  -H "Authorization:Bearer 00D0X000000uTD0!AQwAQCkbfDBhPM0gDej6hlPQGz6PROmeye0SOaFKnMl6iZmqpvraRPokhDoMN1eHIguvF3lqjkOeko_Te8Dvbj9pnbHf7HAa" -H "X-PrettyPrint:1"
[ {
  "attributes" : {
    "type" : "Cisco_Team__c",
    "url" : "/services/data/v28.0/sobjects/Cisco_Team__c/a070X00001FTP8LQAX"
  },
  "Id" : "a070X00001FTP8LQAX",
  "Name" : "Marketing"
}, {
  "attributes" : {
    "type" : "Cisco_Track_Leads__c",
    "url" : "/services/data/v28.0/sobjects/Cisco_Track_Leads__c/a0H0X00001OWD3IUAX"
  },
  "Id" : "a0H0X00001OWD3IUAX",
  "Name" : "Abhishek"
}, {
  "attributes" : {
    "type" : "Cisco_Quarter_Details__c",
    "url" : "/services/data/v28.0/sobjects/Cisco_Quarter_Details__c/a080X00005EfMXxQAN"
  },
  "Id" : "a080X00005EfMXxQAN",
  "Name" : "Q1"
}, {
  "attributes" : {
    "type" : "Cisco_FY__c",
    "url" : "/services/data/v28.0/sobjects/Cisco_FY__c/a060X00002XNYY1QAP"
  },
  "Id" : "a060X00002XNYY1QAP",
  "Name" : "FY2018"
}, {
  "attributes" : {
    "type" : "Cisco_User__c",
    "url" : "/services/data/v28.0/sobjects/Cisco_User__c/a0E0X00002UAtI5UAL"
  },
  "Id" : "a0E0X00002UAtI5UAL",
  "Name" : "Fazurulla Ganganapalli"
}, {
  "attributes" : {
    "type" : "Cisco_User_Session__c",
    "url" : "/services/data/v28.0/sobjects/Cisco_User_Session__c/a0F0X00000cu6BIUAY"
  },
  "Id" : "a0F0X00000cu6BIUAY",
  "Name" : "0000"
}, {
  "attributes" : {
    "type" : "Cisco_Appllications__c",
    "url" : "/services/data/v28.0/sobjects/Cisco_Appllications__c/a0C0X00000qGQ0DUAW"
  },
  "Id" : "a0C0X00000qGQ0DUAW",
  "Name" : "NGCC"
}, {
  "attributes" : {
    "type" : "Cisco_Quarter_Details__c",
    "url" : "/services/data/v28.0/sobjects/Cisco_Quarter_Details__c/a080X00005EfMY2QAN"
  },
  "Id" : "a080X00005EfMY2QAN",
  "Name" : "Q2"
}, {
  "attributes" : {
    "type" : "Contact",
    "url" : "/services/data/v28.0/sobjects/Contact/0030X00002CWDfMQAX"
  },
  "Id" : "0030X00002CWDfMQAX",
  "Name" : "Andy faz Young"
}, {
  "attributes" : {
    "type" : "ContentDocument",
    "url" : "/services/data/v28.0/sobjects/ContentDocument/0690X0000060Oh3QAE"
  },
  "Id" : "0690X0000060Oh3QAE",
  "Title" : "ACFrOgAo0rdnou-_D2OTEVtviwkLK1b55Mg78bUvplkr5y8KH90fT0ASyrI3aT2dDkZCAJFkWCrryWwZHdIE0uJUy7f0-6qUCOESOM4CfcgLKOZ6ovTEvLmE5-VEAew="
} ]

Step 7 :
--------

curl https://eu10.salesforce.com/services/data/v20.0/query?q=SELECT+Id+,+Main_Track__c+,+name+from+Cisco_FY__c -H "Authorization:Bearer 00D0X000000uTD0!AQwAQCkbfDBhPM0gDej6hlPQGz6PROmeye0SOaFKnMl6iZmqpvraRPokhDoMN1eHIguvF3lqjkOeko_Te8Dvbj9pnbHf7HAa" -H "X-PrettyPrint:1"
{
  "totalSize" : 1,
  "done" : true,
  "records" : [ {
    "attributes" : {
      "type" : "Cisco_FY__c",
      "url" : "/services/data/v20.0/sobjects/Cisco_FY__c/a060X00002XNYY1QAP"
    },
    "Id" : "a060X00002XNYY1QAP",
    "Main_Track__c" : "RTB",
    "Name" : "FY2018"
  } ]
}

Step 8 :
--------

curl https://eu10.salesforce.com/services/data/v20.0/sobjects/Account/ -H "Authorization: Bearer 00D0X000000uTD0!AQwAQCkbfDBhPM0gDej6hlPQGz6PROmeye0SOaFKnMl6iZmqpvraRPokhDoMN1eHIguvF3lqjkOeko_Te8Dvbj9pnbHf7HAa" -H "Content-Type: application/json" -d "@newaccount.json" -X POST  -H "X-PrettyPrint:1"
{
  "id" : "0010X00004DZMDJQA5",
  "success" : true,
  "errors" : [ ]
}

Step 9 :
========
Prepare the JSON data like the below :

{
  "records": [
    {
      "attributes": {
        "type": "Account",
        "referenceId": "ref1"
      },
      "name": "SampleAccount1",
      "phone": "1234567890",
      "website": "www.salesforce.com",
      "numberOfEmployees": "100",
      "industry": "Banking",
      "Contacts": {
        "records": [
          {
            "attributes": {
              "type": "Contact",
              "referenceId": "ref2"
            },
            "lastname": "Smith",
            "Title": "President",
            "email": "sample@salesforce.com"
          },
          {
            "attributes": {
              "type": "Contact",
              "referenceId": "ref3"
            },
            "lastname": "Evans",
            "title": "Vice President",
            "email": "sample@salesforce.com"
          }
        ]
      }
    },
    {
      "attributes": {
        "type": "Account",
        "referenceId": "ref4"
      },
      "name": "SampleAccount2",
      "phone": "1234567890",
      "website": "www.salesforce.com",
      "numberOfEmployees": "52000",
      "industry": "Banking",
      "childAccounts": {
        "records": [
          {
            "attributes": {
              "type": "Account",
              "referenceId": "ref5"
            },
            "name": "SampleChildAccount1",
            "phone": "1234567890",
            "website": "www.salesforce.com",
            "numberOfEmployees": "100",
            "industry": "Banking"
          }
        ]
      },
      "Contacts": {
        "records": [
          {
            "attributes": {
              "type": "Contact",
              "referenceId": "ref6"
            },
            "lastname": "Jones",
            "title": "President",
            "email": "sample@salesforce.com"
          }
        ]
      }
    }
  ]
}

Input :
=======
curl https://eu10.salesforce.com/services/data/v34.0/composite/tree/Account/ -H "Authorization: Bearer 00D0X000000uTD0!AQwAQCkbfDBhPM0gDej6hlPQGz6PROmeye0SOaFKnMl6iZmqpvraRPokhDoMN1eHIguvF3lqjkOeko_Te8Dvbj9pnbHf7HAa" -H "Content-Type: application/json" -d "@newrecords.json" -X POST  -H "X-PrettyPrint:1"

Output :
========
{
  "hasErrors" : false,
  "results" : [ {
    "referenceId" : "ref1",
    "id" : "0010X00004DZMDxQAP"
  }, {
    "referenceId" : "ref2",
    "id" : "0010X00004DZMDyQAP"
  }, {
    "referenceId" : "ref3",
    "id" : "0010X00004DZMDzQAP"
  }, {
    "referenceId" : "ref4",
    "id" : "0010X00004DZME0QAP"
  } ]
}

Step 10 : Getting the user complete information
---------

curl https://eu10.salesforce.com/services/data/v20.0/sobjects/User/0050X000007a0ZeQAI -H "Authorization:Bearer 00D0X000000uTD0!AQwAQCkbfDBhPM0gDej6hlPQGz6PROmeye0SOaFKnMl6iZmqpvraRPokhDoMN1eHIguvF3lqjkOeko_Te8Dvbj9pnbHf7HAa" -X GET -H "X-PrettyPrint:1"
{
  "attributes" : {
    "type" : "User",
    "url" : "/services/data/v20.0/sobjects/User/0050X000007a0ZeQAI"
  },
  "Id" : "0050X000007a0ZeQAI",
  "Username" : "cisco.systems@yopmail.com",
  "LastName" : "Systems",
  "FirstName" : "Cisco",
  "Name" : "Cisco Systems",
  "CompanyName" : "Cisco",
  "Division" : null,
  "Department" : null,
  "Title" : null,
  "Street" : null,
  "City" : null,
  "State" : null,
  "PostalCode" : null,
  "Country" : "UM",
  "Email" : "cisco.systems@yopmail.com",
  "Phone" : null,
  "Fax" : null,
  "MobilePhone" : null,
  "Alias" : "CSyst",
  "CommunityNickname" : "cisco.systems",
  "IsActive" : true,
  "TimeZoneSidKey" : "Europe/Dublin",
  "UserRoleId" : null,
  "LocaleSidKey" : "en_IE_EURO",
  "ReceivesInfoEmails" : false,
  "ReceivesAdminInfoEmails" : true,
  "EmailEncodingKey" : "ISO-8859-1",
  "ProfileId" : "00e0X000001LevTQAS",
  "UserType" : "Standard",
  "LanguageLocaleKey" : "en_US",
  "EmployeeNumber" : null,
  "DelegatedApproverId" : null,
  "ManagerId" : null,
  "LastLoginDate" : "2018-07-28T06:03:03.000+0000",
  "LastPasswordChangeDate" : "2018-07-02T14:30:44.000+0000",
  "CreatedDate" : "2018-07-02T14:29:08.000+0000",
  "CreatedById" : "0050X000007a0ZeQAI",
  "LastModifiedDate" : "2018-07-28T08:33:49.000+0000",
  "LastModifiedById" : "0050X000007a0ZeQAI",
  "SystemModstamp" : "2018-07-28T08:33:50.000+0000",
  "OfflineTrialExpirationDate" : null,
  "OfflinePdaTrialExpirationDate" : null,
  "UserPermissionsMarketingUser" : true,
  "UserPermissionsOfflineUser" : true,
  "UserPermissionsCallCenterAutoLogin" : false,
  "UserPermissionsMobileUser" : false,
  "UserPermissionsSFContentUser" : true,
  "UserPermissionsKnowledgeUser" : false,
  "UserPermissionsInteractionUser" : false,
  "UserPermissionsSupportUser" : true,
  "ForecastEnabled" : true,
  "UserPreferencesActivityRemindersPopup" : true,
  "UserPreferencesEventRemindersCheckboxDefault" : true,
  "UserPreferencesTaskRemindersCheckboxDefault" : true,
  "UserPreferencesReminderSoundOff" : false,
  "UserPreferencesDisableAutoSubForFeeds" : false,
  "UserPreferencesApexPagesDeveloperMode" : true,
  "UserPreferencesHideCSNGetChatterMobileTask" : false,
  "UserPreferencesHideCSNDesktopTask" : false,
  "UserPreferencesSortFeedByComment" : false,
  "UserPreferencesOptOutOfTouch" : false,
  "UserPreferencesLightningExperiencePreferred" : false,
  "ContactId" : null,
  "AccountId" : null,
  "CallCenterId" : null,
  "Extension" : null,
  "FederationIdentifier" : null,
  "AboutMe" : null,
  "CurrentStatus" : null,
  "FullPhotoUrl" : "https://c.eu10.content.force.com/profilephoto/7290X000000srob/F",
  "SmallPhotoUrl" : "https://c.eu10.content.force.com/profilephoto/7290X000000srob/T",
  "DigestFrequency" : "D",
  "Clone_Admin__c" : false
}

Step 11 :
=========

curl https://eu10.salesforce.com/services/data/ -H "Authorization:Bearer 00D0X000000uTD0!AQwAQCkbfDBhPM0gDej6hlPQGz6PROmeye0SOaFKnMl6iZmqpvraRPokhDoMN1eHIguvF3lqjkOeko_Te8Dvbj9pnbHf7HAa" -X GET -H "X-PrettyPrint:1"
[ {
  "label" : "Winter '11",
  "url" : "/services/data/v20.0",
  "version" : "20.0"
}, {
  "label" : "Spring '11",
  "url" : "/services/data/v21.0",
  "version" : "21.0"
}, {
  "label" : "Summer '11",
  "url" : "/services/data/v22.0",
  "version" : "22.0"
}, {
  "label" : "Winter '12",
  "url" : "/services/data/v23.0",
  "version" : "23.0"
}, {
  "label" : "Spring '12",
  "url" : "/services/data/v24.0",
  "version" : "24.0"
}, {
  "label" : "Summer '12",
  "url" : "/services/data/v25.0",
  "version" : "25.0"
}, {
  "label" : "Winter '13",
  "url" : "/services/data/v26.0",
  "version" : "26.0"
}, {
  "label" : "Spring '13",
  "url" : "/services/data/v27.0",
  "version" : "27.0"
}, {
  "label" : "Summer '13",
  "url" : "/services/data/v28.0",
  "version" : "28.0"
}, {
  "label" : "Winter '14",
  "url" : "/services/data/v29.0",
  "version" : "29.0"
}, {
  "label" : "Spring '14",
  "url" : "/services/data/v30.0",
  "version" : "30.0"
}, {
  "label" : "Summer '14",
  "url" : "/services/data/v31.0",
  "version" : "31.0"
}, {
  "label" : "Winter '15",
  "url" : "/services/data/v32.0",
  "version" : "32.0"
}, {
  "label" : "Spring '15",
  "url" : "/services/data/v33.0",
  "version" : "33.0"
}, {
  "label" : "Summer '15",
  "url" : "/services/data/v34.0",
  "version" : "34.0"
}, {
  "label" : "Winter '16",
  "url" : "/services/data/v35.0",
  "version" : "35.0"
}, {
  "label" : "Spring '16",
  "url" : "/services/data/v36.0",
  "version" : "36.0"
}, {
  "label" : "Summer '16",
  "url" : "/services/data/v37.0",
  "version" : "37.0"
}, {
  "label" : "Winter '17",
  "url" : "/services/data/v38.0",
  "version" : "38.0"
}, {
  "label" : "Spring '17",
  "url" : "/services/data/v39.0",
  "version" : "39.0"
}, {
  "label" : "Summer '17",
  "url" : "/services/data/v40.0",
  "version" : "40.0"
}, {
  "label" : "Winter '18",
  "url" : "/services/data/v41.0",
  "version" : "41.0"
}, {
  "label" : "Spring ΓÇÖ18",
  "url" : "/services/data/v42.0",
  "version" : "42.0"
}, {
  "label" : "Summer '18",
  "url" : "/services/data/v43.0",
  "version" : "43.0"
} ]

Step 12 :
=========
curl https://eu10.salesforce.com/services/data/v43.0 -H "Authorization:Bearer 00D0X000000uTD0!AQwAQCkbfDBhPM0gDej6hlPQGz6PROmeye0SOaFKnMl6iZmqpvraRPokhDoMN1eHIguvF3lqjkOeko_Te8Dvbj9pnbHf7HAa" -X GET -H "X-PrettyPrint:1"
{
  "tooling" : "/services/data/v43.0/tooling",
  "metadata" : "/services/data/v43.0/metadata",
  "folders" : "/services/data/v43.0/folders",
  "eclair" : "/services/data/v43.0/eclair",
  "prechatForms" : "/services/data/v43.0/prechatForms",
  "chatter" : "/services/data/v43.0/chatter",
  "tabs" : "/services/data/v43.0/tabs",
  "appMenu" : "/services/data/v43.0/appMenu",
  "quickActions" : "/services/data/v43.0/quickActions",
  "queryAll" : "/services/data/v43.0/queryAll",
  "commerce" : "/services/data/v43.0/commerce",
  "wave" : "/services/data/v43.0/wave",
  "iot" : "/services/data/v43.0/iot",
  "analytics" : "/services/data/v43.0/analytics",
  "search" : "/services/data/v43.0/search",
  "identity" : "https://login.salesforce.com/id/00D0X000000uTD0UAM/0050X000007a0ZeQAI",
  "composite" : "/services/data/v43.0/composite",
  "parameterizedSearch" : "/services/data/v43.0/parameterizedSearch",
  "fingerprint" : "/services/data/v43.0/fingerprint",
  "theme" : "/services/data/v43.0/theme",
  "nouns" : "/services/data/v43.0/nouns",
  "event" : "/services/data/v43.0/event",
  "serviceTemplates" : "/services/data/v43.0/serviceTemplates",
  "recent" : "/services/data/v43.0/recent",
  "connect" : "/services/data/v43.0/connect",
  "licensing" : "/services/data/v43.0/licensing",
  "limits" : "/services/data/v43.0/limits",
  "process" : "/services/data/v43.0/process",
  "async-queries" : "/services/data/v43.0/async-queries",
  "dedupe" : "/services/data/v43.0/dedupe",
  "query" : "/services/data/v43.0/query",
  "jobs" : "/services/data/v43.0/jobs",
  "match" : "/services/data/v43.0/match",
  "emailConnect" : "/services/data/v43.0/emailConnect",
  "compactLayouts" : "/services/data/v43.0/compactLayouts",
  "knowledgeManagement" : "/services/data/v43.0/knowledgeManagement",
  "sobjects" : "/services/data/v43.0/sobjects",
  "actions" : "/services/data/v43.0/actions",
  "support" : "/services/data/v43.0/support"
}





Anonymous Rest API using Force.com Salesforce

Apex :

@RestResource(urlMapping = '/agentInfor/*')
global class AgentInformationCls {
    @HttpGet
    global static List < InboundAgentInfomation > getAgentInfomation() {
        List < InboundAgentInfomation > agentInfo = new List < InboundAgentInfomation > ();
       
        RestRequest req = RestContext.request;
        String agentEmailAddress = req.params.get('emailId');
        String primarySkill = req.params.get('primarySkill');
        String secondarySkill = req.params.get('secondarySkill');
        String firstName = req.params.get('firstName');
        String lastName = req.params.get('lastName');
        String locationName = req.params.get('locationName');
       
        try {
            //dynamic query formation
            String wherequery = 'select  id, Client__c, Confirm_Password1__c, Contact__c, Email_Address__c, Experience_in_Primary_Skill__c,'
            +' Experience_in_Secondary_Skill__c, First_Name__c, Last_Name__c, Location__c, Password1__c, Primary_Skill__c, Secondary_Skill__c,'
            +'Primar_Skill_Proficiency1__c, Secondary_Skill_Proficiency1__c, Career_Level__c from Base_Data__c  where (';
            if (String.isNotBlank(agentEmailAddress)) {
                wherequery = wherequery + 'Email_Address__c = \'' + agentEmailAddress + '\'' + ' and ';
            }
            if (String.isNotBlank(primarySkill)) {
                wherequery = wherequery + 'Primary_Skill__c= \'' + primarySkill + '\'' + ' and ';
            }
            if (String.isNotBlank(secondarySkill)) {
                wherequery = wherequery + 'Secondary_Skill__c = \'' + secondarySkill + '\'' + ' and ';
            }
            if (String.isNotBlank(firstName)) {
                wherequery = wherequery + 'First_Name__c = \'' + firstName + '\'' + ' and ';
            }
            if (String.isNotBlank(lastName)) {
                wherequery = wherequery + 'Last_Name__c = \'' + lastName + '\'' + ' and ';
            }
            if (String.isNotBlank(locationName)) {
                wherequery = wherequery + 'Location__c = \'' + locationName + '\'' + ' and ';
            }
            if (wherequery.substring(wherequery.length() - 4) == 'and ') {
                wherequery = wherequery.substring(0, wherequery.length() - 4);
            }
           
            wherequery = wherequery + ') order by Primar_Skill_Proficiency1__c desc';
            system.debug(wherequery);
            //Adding dynamic query to list
            List < Base_Data__c > acc = Database.query(wherequery);
            if (!acc.isEmpty()) {
                for (Base_Data__c b: acc) {
                    agentInfo.add(new InboundAgentInfomation(b, acc.size()));
                }
                return agentInfo;
            } else {
                agentInfo.add(new InboundAgentInfomation('No Results Found'));
                return agentInfo;
            }
        } catch (exception e) {
            agentInfo.add(new InboundAgentInfomation(e.getMessage()));
            return agentInfo;
        }

    }
    global class InboundAgentInfomation {
        global Integer recordCount;
        global Base_Data__c agentList;
        global String errorMessage;

        global InboundAgentInfomation(Base_Data__c agentList, Integer recordCount) {
            this.agentList = agentList;
            this.recordCount = recordCount;
        }
        global InboundAgentInfomation(String errorMessage) {
            this.errorMessage = errorMessage;
            this.agentList = agentList;
            this.recordCount = 0;
        }
    }
}



How to use the escapeSingleQuotes method?

Code Snippet :

public static String getRowById(String sobjName, Id id) {
    Map<String, Schema.SObjectField> objectFields =
        Schema.getGlobalDescribe().get(sObjName).getDescribe().fields.getMap();

    return 'SELECT ' + String.join( objectFields.keySet(), ', ')
           + ' FROM ' + sObjName
           + ' WHERE Id = \'' + String.escapeSingleQuotes(Id) + '\''
           + ' LIMIT 1';
}

Handling Inline images in Inbound Email Service Salesforce

Apex Code :

global class InboundEmailHandler implements Messaging.InboundEmailHandler {
    global Messaging.InboundEmailResult handleInboundEmail(Messaging.InboundEmail email, Messaging.InboundEnvelope envelope) {
        Messaging.InboundEmailResult result = new Messaging.InboundEmailresult();
        system.debug('==================');
        system.debug(string.join(email.ccAddresses,','));
        system.debug(email.fromAddress);
        system.debug(email.fromName);
        system.debug(email.inReplyTo);
        system.debug(email.messageId);
        system.debug(email.plainTextBody);
        system.debug(email.references);
        system.debug(email.replyTo);
        system.debug(email.subject);
        system.debug(string.join(email.toAddresses,','));
        //system.debug(email.headers);
        //system.debug(email.htmlBodyIsTruncated);
        //system.debug(string.join(email.textAttachments,','));
        //system.debug(string.join(email.headers,','));
        //system.debug(email.htmlBody);
        //system.debug(string.join(email.binaryAttachments,','));
        system.debug('==================');
       
        Lead lead = new Lead();
        lead.LastName =email.fromName;
        lead.Description = string.join(email.ccAddresses,',') +'\n'+ email.messageId +'\n'+ email.references +'\n'+ email.replyTo +'\n'+ email.htmlBodyIsTruncated +'\n'+ string.join(email.headers,',') +'\n'+ string.join(email.binaryAttachments,',');
        lead.recordtypeId='0120Y0000002qJe';
        lead.Email = email.fromAddress;
        lead.Company = 'N/A';
        lead.HTML_Body__c = email.htmlBody;
        insert lead;
        Map< String, Attachment > mapAttachments = new Map< String, Attachment >();
        for(Messaging.InboundEmail.BinaryAttachment bA : email.binaryAttachments) {
            System.debug('binary attachment :: '+email.binaryAttachments.size());
            System.debug('BA header size attachment :: '+bA.headers.size()+'---'+bA.headers);
            for(integer i = 0; i < bA.headers.size(); i++) {
                String headerValue = bA.headers[i].value;
                System.debug('headerValue  :: '+headerValue);
                if(headerValue.startsWith('ii') || headerValue.startsWith('<image')) {
                    headerValue = headerValue.replaceAll('<', '').replaceAll('>', '');
                    system.debug('final header value :: '+headerValue);
                    mapAttachments.put(headerValue, new Attachment(Name = bA.fileName, body = bA.body,ParentId = lead.Id, ContentType = bA.mimeTypeSubType));
                }
            }
        }
        //system.debug('mapAttachments :: '+mapAttachments);
        insert mapAttachments.values();
        //system.debug('Attachement List :: '+mapAttachments);
        for(String headerValue : mapAttachments.keySet()) {
            //system.debug('headerValue List :: '+headerValue);
            String refLink = '/servlet/servlet.FileDownload?file=' + mapAttachments.get(headerValue).Id;
            //system.debug('refLink  List :: '+refLink);
            lead.HTML_Body__c = lead.HTML_Body__c.replaceAll('cid:' + headerValue, refLink);
            //system.debug('replaceAll List :: '+lead.HTML_Body__c.replaceAll('cid:' + headerValue, refLink));
        }
        update lead;       
        return result;
    }
}

Screenshot :


Rollup Sumary in lookup relationship using triggers salesforce

Trigger Code :

trigger parentChildCount_Trg on Contact(after insert, after update, after delete, after undelete) {
    Map < Id, Account > conMapId = new Map < Id, Account > ();
    Set < Id > conSetIds = new Set < Id > ();
    for (Contact con: ((trigger.isAfter) && (trigger.isInsert || trigger.isUndelete || trigger.isUpdate)) ? trigger.new : trigger.old) {
        if (String.isNotBlank(con.AccountId)) {
            conSetIds.add(con.AccountId);
        }
    }
    conSetIds.remove(null);
    if (!conSetIds.isEmpty()) {
        for (Id acctId: conSetIds) {
            conMapId.put(acctId, new Account(Id = acctId));
        }
        for (AggregateResult aggr: [select AccountId Id, COUNT(Id) contactCount, SUM(Salary__c) salarySum, AVG(Salary__c) salaryAverage, MAX(Salary__c) salaryMax, MIN(Salary__c) salaryMin from Contact where AccountId =: conSetIds GROUP BY AccountId]) {
            conMapId.get((Id) aggr.get('Id')).Contact_Count__c      = (Decimal) aggr.get('contactCount') > 0  ? (Decimal) aggr.get('contactCount')   : 0;
            conMapId.get((Id) aggr.get('Id')).Contact_Sum_Salary__c = (Decimal) aggr.get('salarySum') > 0     ? (Decimal) aggr.get('salarySum')      : 0;
            conMapId.get((Id) aggr.get('Id')).Contact_Avg_Salary__c = (Decimal) aggr.get('salaryAverage') > 0 ? (Decimal) aggr.get('salaryAverage')  : 0;
            conMapId.get((Id) aggr.get('Id')).Contact_Max_Salary__c = (Decimal) aggr.get('salaryMax') > 0     ? (Decimal) aggr.get('salaryMax')      : 0;
            conMapId.get((Id) aggr.get('Id')).Contact_Salary_Min__c = (Decimal) aggr.get('salaryMin') > 0     ? (Decimal) aggr.get('salaryMin')      : 0;
        }
        update conMapId.values();
    }

}

jQuery with callouts and Lightning Process

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/multiple-select/1.2.0/multiple-select.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/multiple-select/1.2.0/multiple-select.js"></script>
<script>
$(document).ready(function() {
$.get("https://restcountries.eu/rest/v2/all", function(response) {
$.each(response, function(idx, obj) {
var select = $("#countValues");
$('<option>').val(obj.name).text(obj.name).appendTo(select);
});
});
var select1 = $("#myTable");
select1.empty();
var cstmTr1 = '<thead style="background: lightskyblue;"><tr>' +
'<th>Flag</th>' +
'<th>Name</th>' +
'<th>TopLevel Domain</th>' +
'<th>Alpha Code</th>' +
'<th>Alpha Code</th>' +
'<th>Calling Codes</th>' +
'<th>Capital</th>' +
'<th>Alt Spellings</th>' +
'<th>Region</th>' +
'<th>Subregion</th>' +
'<th>Population</th>' +
'<th>Latlng</th>' +
'<th>Demonym</th>' +
'<th>Area</th>' +
'<th>Gini</th>' +
'<th>Timezones</th>' +
'<th>Native Name</th>' +
'<th>Numeric Code</th>' +
'<th>Currencies</th>' +
'<th>Languages</th>' +
'</tr></thead>';
select1.attr('border', 2);
$(cstmTr1).appendTo(select1);
$('<tbody>').appendTo(select1);
var url = "https://restcountries.eu/rest/v2/all";
var select = $("#myTable tbody");
$.get(url, function(response) {
$.each(response, function(idx, obj) {
var cstmTr = '<tr>' +
'<td><img src="' + obj.flag + '" style="width:50px;height:50px;"/></td>' +
'<td>' + obj.name + '</td>' +
'<td>' + obj.topLevelDomain + '</td>' +
'<td>' + obj.alpha2Code + '</td>' +
'<td>' + obj.alpha3Code + '</td>' +
'<td>' + obj.callingCodes + '</td>' +
'<td>' + obj.capital + '</td>' +
'<td>' + obj.altSpellings + '</td>' +
'<td>' + obj.region + '</td>' +
'<td>' + obj.subregion + '</td>' +
'<td>' + obj.population + '</td>' +
'<td>' + obj.latlng + '</td>' +
'<td>' + obj.demonym + '</td>' +
'<td>' + obj.area + '</td>' +
'<td>' + obj.gini + '</td>' +
'<td>' + obj.timezones + '</td>' +
'<td>' + obj.nativeName + '</td>' +
'<td>' + obj.numericCode + '</td>' +
'<td>' + dynamicOption(obj.currencies) + '</td>' +
'<td>' + dynamicOption1(obj.languages) + '</td>' +
'</tr>';
$(cstmTr).appendTo(select);
});
});
});
$(document).on("change", "#countValues", function() {
var select1 = $("#myTable");
select1.empty();
var cstmTr1 = '<thead style="background: lightskyblue;"><tr>' +
'<th>Flag</th>' +
'<th>Name</th>' +
'<th>TopLevel Domain</th>' +
'<th>Alpha Code</th>' +
'<th>Alpha Code</th>' +
'<th>Calling Codes</th>' +
'<th>Capital</th>' +
'<th>Alt Spellings</th>' +
'<th>Region</th>' +
'<th>Subregion</th>' +
'<th>Population</th>' +
'<th>Latlng</th>' +
'<th>Demonym</th>' +
'<th>Area</th>' +
'<th>Gini</th>' +
'<th>Timezones</th>' +
'<th>Native Name</th>' +
'<th>Numeric Code</th>' +
'<th>Currencies</th>' +
'<th>Languages</th>' +
'</tr></thead>';
select1.attr('border', 2);
$(cstmTr1).appendTo(select1);
$('<tbody>').appendTo(select1);
var countryValue = this.value;
var url = "https://restcountries.eu/rest/v2/name/" + countryValue;
var select = $("#myTable tbody");
$.get(url, function(response) {
$.each(response, function(idx, obj) {
var cstmTr = '<tr>' +
'<td><img src="' + obj.flag + '" style="width:50px;height:50px;"/></td>' +
'<td>' + obj.name + '</td>' +
'<td>' + obj.topLevelDomain + '</td>' +
'<td>' + obj.alpha2Code + '</td>' +
'<td>' + obj.alpha3Code + '</td>' +
'<td>' + obj.callingCodes + '</td>' +
'<td>' + obj.capital + '</td>' +
'<td>' + obj.altSpellings + '</td>' +
'<td>' + obj.region + '</td>' +
'<td>' + obj.subregion + '</td>' +
'<td>' + obj.population + '</td>' +
'<td>' + obj.latlng + '</td>' +
'<td>' + obj.demonym + '</td>' +
'<td>' + obj.area + '</td>' +
'<td>' + obj.gini + '</td>' +
'<td>' + obj.timezones + '</td>' +
'<td>' + obj.nativeName + '</td>' +
'<td>' + obj.numericCode + '</td>' +
'<td>' + dynamicOption(obj.currencies) + '</td>' +
'<td>' + dynamicOption1(obj.languages) + '</td>' +
'</tr>';
$(cstmTr).appendTo(select);
});
});
});
function dynamicOption(parameter1) {
$select = $('<select></select>', {
"class": "fazu"
});
var tempString = '';
$.each(parameter1, function(index, value) {
tempString += value.code+",";
tempString += value.name+",";
tempString += value.symbol;
});
for(var temp in tempString.split(",")){
console.log("tempString value ::"+tempString.split(",")[temp]);
var $option = $("<option></option>", {
"text": tempString.split(",")[temp],
"value": tempString.split(",")[temp]
});
$select.append($option);
}
return $select.prop("outerHTML");
}
function dynamicOption1(parameter1) {
$select = $('<select></select>', {"class": "fazu"});
var tempString = '';
$.each(parameter1, function(index, value) {
console.log(JSON.stringify(value));
tempString += value.iso639_1+","+value.iso639_2+","+value.name+","+value.nativeName;
});
for(var temp in tempString.split(",")){
console.log("tempString value ::"+tempString.split(",")[temp]);
var $option = $("<option></option>", {
"text": tempString.split(",")[temp],
"value": tempString.split(",")[temp]
});
$select.append($option);
}
return $select.prop("outerHTML");
}
</script>
</head>
<body>
<select id="countValues"></select>
<br/>
<table id="myTable">
<tbody></tbody>
</table>
</body>
</html>


Integration between Spark to salesforce using Gupshup platform salesforce

Code Here :

/*
 * ******************************************************************************************************************
 * Author        : Fazurulla Ganganapalli
 * Controller    : MarketingBot.js
 * Marketing Bot : This controller is rsponsible for integration  between Spark to salesforce using Gupshup platform
 * Date          : 05/13/2017
 * History       :
 *******************************************************************************************************************
 */

//Variable declaration
var access_token = null;
var choiceString = '';
var moreChoiceString = '';
var userName ='';
var listLeadIds = '';
var choiceUniqueNumber;
var firstName ='';
var mainQuery = '';
var lastName='';
var userCECId='';
var contactCenter ='';
var profileName = '';
var tempAppString ='';
var tempSplitGreetString ='';
var permissionSet = '';
var userID_P = '';
var userPermission_P = '';

//Salesforce Oauth 2.0 settings and url's
var url_AccessToken = "https://login.salesforce.com/services/oauth2/token";
var url_getMethodAuth = "https://ap1.salesforce.com/services/data/v20.0/sobjects/Marketing_ChatBot__c/Application__c";
var authParams = "grant_type=password&client_id=3MVG9Y6d_Btp4xp5fHfBCvTWgHlfBKxrEf0lFIt9p71zfTmei0q9P8QxoaRowTIefchOoNdY8syyWOriUKYlV&client_secret=7975635620731036814&redirect_uri=https://localhost:8443/_callback&username=apex_integration@sfdc.com&password=Mardal786*k7Q58cu1ffXZEm0NOEgWi8vIv";
var authHeader = {"Content-Type":"application/x-www-form-urlencoded"};
var leadReopen_Url = "https://ap1.salesforce.com/services/apexrest/marketingActivities";
var url_CompleteApps = "https://ap1.salesforce.com/services/apexrest/marketingChatBotOprions";
var url_Application ="https://ap1.salesforce.com/services/apexrest/marketingChatBot";

//@Method : This method is responsible for handling choice based options
function MessageHandler(context, event) {
    var StrMain = event.message;
    var splitString = "ngcc,mods,jifflenow,grs,eloqua,cpc";
var splitGreetString ="Hi,hi,Hello,hello,Bot,bot,Chatbot,chatbot,Marketing,marketing,SFDC,Sfdc,sfdc";

    if(splitString != "" || splitString != NULL){
        var resString = splitString.split(",");
        for(var i in resString){
            if(resString[i] == StrMain){
                tempAppString = resString[i];
                context.console.log("tempAppString---->>>>"+tempAppString);
            }
        }
    }

if(splitGreetString != "" || splitGreetString != NULL){
        var resString = splitGreetString.split(",");
        for(var i in resString){
            if(resString[i] == StrMain){
                tempSplitGreetString = resString[i];
                context.console.log("tempSplitGreetString---->>>>"+tempSplitGreetString);
            }
        }
    }

    if(event.message.toLowerCase() == tempSplitGreetString){
        context.sendResponse("Hello There- \n"+
            "Welcome to Markting Bot- \n"+
            "I. Help (This will provide quick help  about the issues in an application which we  get on daily basis)\n "+
            "II. Lead (This would help to Re-Open closed leads) \n "+
            "II. Access (We will be able to  create new users in SFDC through Spark) \n "
        );
    }else if(event.message.toLowerCase() == "your from which location"){
        context.sendResponse("I am from Bengalore City");
    }else if(event.message.toLowerCase() == "fine thanks" || event.message.toLowerCase() == "fine"){
        context.sendResponse("Ok. How may i help you today !");
    }else if(event.message.toLowerCase() == "what is your name"){
        context.sendResponse("My name is Marketing Bot");
    }else if(event.message.toLowerCase() == "may i know you name"){
        context.sendResponse("My name is Marketing Bot");
    }else if(event.message.toLowerCase() == "how are you"){
        context.sendResponse("I am doing great thanks..How about you ?");
    }else if(event.message.toLowerCase() == "I need some help from you"){
        context.sendResponse("Sure. How can I help you today?");
    }else if(event.message.toLowerCase() == "how can i start"){
        context.sendResponse("Search with any keyword like : help, lead, access");
    }else if(event.message.toLowerCase() == "bye"){
        context.sendResponse("Bye have a good day !");
    }else if(event.message.toLowerCase() == "help"){
        context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setApplication);
       
    //*******************************************Applciation Search Start here********************************************************
    }else if(event.message.toLowerCase() == "ngcc"){
        moreChoiceString = event.message;
        context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
    }else if(event.message.toLowerCase() == "mods"){
        moreChoiceString = event.message;
        context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
    }else if(event.message.toLowerCase() == "jifflenow"){
        moreChoiceString = event.message;
        context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
    }else if(event.message.toLowerCase() == "grs"){
        moreChoiceString = event.message;
        context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
    }else if(event.message.toLowerCase() == "eloqua"){
        moreChoiceString = event.message;
        context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
    }else if(event.message.toLowerCase() == "cpc"){
        moreChoiceString = event.message;
        context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setHelp);
       
    //*****************************************Application Search end here**********************************************************
    }else if(event.message.toLowerCase() == "lead"){
        context.sendResponse(
            "Please make a selection - \n"+
            "A). Lead Re-Open \n "+
            "B). Access Help\n "+
            "C). Create New User/Access Provide\n "+
            "D). Assign Permission Sets\n "+
"E). SOQL Records\n "
        );
    }else if(event.message.toLowerCase() == "access"){
        context.sendResponse(
            "Please make a selection - \n"+
            "A). Lead Re-Open \n "+
            "B). Access Help\n "+
            "C). Create New User\n "+
            "D). Assign Permission Sets\n "+
"E). SOQL Records\n "
        );
    }else{
        var StrMain = event.message;
        var res = StrMain.split(/,|:|-| /);
        for(var i in res){
            if(i==0){
                choiceString = res[i];
            }else if(i==1){
                userName = res[i];
            }else{
                listLeadIds += res[i]+",";
            }
        }
       
        for(var i in res){
            if(i==0){
                choiceString = res[i];
            }else if(i==1){
                firstName = res[i];
            }else if(i==2){
                lastName = res[i];
            }else if(i==3){
                userCECId = res[i];
            }else if(i==4){
                contactCenter = res[i];
            }else if(i==5){
                profileName = res[i];
            }else if(i==6){
                permissionSet = res[i];
            }
        }
        var permissionString = event.message;
        var permission = permissionString.split(' ');
        for(var i in permission){
            if(i==0){
                choiceString = permission[i];
            }else if(i==1){
                userID_P = permission[i];
            }else{
                userPermission_P += permission[i]+",";
            }
        }

var soqlQuery = event.message;
        var soql = soqlQuery.split(' ');
        for(var i in soql){
            if(i==0){
                choiceString = soql[i];
            }else{
                mainQuery += soql[i]+" ";
            }
        }
       
        if(choiceString.toLowerCase() == "a"){
            context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setNGCC);
        }else if(choiceString.toLowerCase() == "b"){
            context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setAccessProfile);
        }else if(choiceString.toLowerCase() == "c"){
            context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setUserCreation);
        }else if(choiceString.toLowerCase() == "d"){
            context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setUserPermission);
        }else if(choiceString.toLowerCase() == "e"){
            context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setSOQL);
        }else if(event.message.toLowerCase() == StrMain){
            choiceUniqueNumber = event.message;
            context.simplehttp.makePost(url_AccessToken,authParams,authHeader,setNumbers);
        }else{
            context.sendResponse("Sorry you have entered an invalid keyword");
        }
    }
}

//***************************************************************************************************
//@Method : Responsible for iterate response and get values from salesforce.com database
function setNGCC(context,event){
    if(userName ==''&& listLeadIds ==''){
        context.sendResponse(
            "Please enter User CECID and list of Lead IDs.Below are the possible ways to follow- \n"+
            "I. A,UserID,Single LeadID or List of LeadIDs(Separated with comma) \n"+
            "II. A UserID Single LeadID or List of LeadIDs(separated with space)\n"             
        );
    }else{
    var result= JSON.parse(event.getresp);
    access_token = result.access_token;
    context.simplehttp.makeGet(leadReopen_Url+"?username="+userName+"&LeadId="+listLeadIds,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getNGCC);
    }
}

//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getNGCC(context,event){
   context.sendResponse(event.getresp);
}
//@Method : Responsible for iterate response and get values from salesforce.com database
function setNumbers(context,event){
     var result= JSON.parse(event.getresp);
    access_token = result.access_token;
    context.simplehttp.makeGet("https://ap1.salesforce.com/services/data/v20.0/sobjects/Marketing_ChatBot__c/Choice_Unique_Number__c/"+choiceUniqueNumber,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getNumbers);
}

//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getNumbers(context,event){
    //context.sendResponse(event.getresp);
    var contacts  = JSON.parse(event.getresp);
    var tempStr = '';
       var Application__c = contacts.Application__c;
       var Entity__c = contacts.Entity__c;
       var Issue__c = contacts.Issue__c;
       var Solution__c = contacts.Solution__c;
       var Description__c = contacts.Description__c;
       tempStr += "Application Name :"+Application__c+"\n Entity Name : "+Entity__c+"\n Issue : "+Issue__c+"\n Issue Description :"+Solution__c+"\n Answer Steps : \n"+Description__c+"\n";
   context.sendResponse(tempStr);
 
}
//***************************************************************************************************

//***************************************************************************************************
//@Method : Responsible for iterate response and get values from salesforce.com database
function setApplication(context,event){
     var result= JSON.parse(event.getresp);
    access_token = result.access_token;
    context.simplehttp.makeGet(url_Application,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getApplication);
}

//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getApplication(context,event){
    //context.sendResponse(event.getresp);
   var contacts  = JSON.parse(event.getresp);
   var tempStr = '';
   for(var i in contacts){
       tempStr +="*. "+i+"\n";
   }
   context.sendResponse("Please make a selection - \n"+tempStr);
}
//***************************************************************************************************

//***************************************************************************************************
//@Method : Responsible for iterate response and get values from salesforce.com database
function setHelp(context,event){
     var result= JSON.parse(event.getresp);
    access_token = result.access_token;
    context.simplehttp.makeGet(url_CompleteApps+'/'+moreChoiceString,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getHelp);
}

//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getHelp(context,event){
    var contacts  = JSON.parse(event.getresp);
    var tempStr = '';
    for(var i in contacts){
       tempStr +=i+". "+contacts[i]+"\n";
   }
   context.sendResponse("Please Search with numbers only-\n\n"+tempStr);
}
//***************************************************************************************************
function EventHandler(context, event) {
    if(! context.simpledb.botleveldata.numinstance)
        context.simpledb.botleveldata.numinstance = 0;
        numinstances = parseInt(context.simpledb.botleveldata.numinstance) + 1;
        context.simpledb.botleveldata.numinstance = numinstances;
        context.sendResponse("Thanks for adding me. You are:" + numinstances);
}

function setAccessProfile(context,event){
     var result= JSON.parse(event.getresp);
    access_token = result.access_token;
    context.simplehttp.makeGet("https://ap1.salesforce.com/services/apexrest/marketingActivitiesUser",{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getAccessProfile);
}

//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getAccessProfile(context,event){
   var contacts  = JSON.parse(event.getresp);
    var tempStr = '';
    for(var i in contacts){
       tempStr +=i+" - "+contacts[i]+"\n";
   }
   context.sendResponse("\n"+tempStr);
}
//***************************************************************************************************
//@Method : Responsible for iterate response and get values from salesforce.com database
function setUserCreation(context,event){
    if(firstName =='' && lastName =='' && userCECId =='' && contactCenter =='' && profileName==''&& permissionSet==''){
        context.sendResponse(
            "Please provide the below details- \n"+
            "I. Option you need to select - C \n"+
            "II. First Name\n" +
            "III. Last Name\n"+
            "IV. User CEC ID\n"+
            "V. Marketing Contact Center(Press *B* and copy paste your Contact Center)\n"+
            "V. User Profile Name(Press *B* you will get help from SFDC)\n"+
            "VI. Permission Set (Press *B* you will get help from SFDC)\n"
        );
    }else{
        var result= JSON.parse(event.getresp);
        access_token = result.access_token;
        context.simplehttp.makeGet("https://ap1.salesforce.com/services/apexrest/marktingUserCreating?firstName="+firstName+"&lastName="+lastName+"&userId="+userCECId+"&contactCenter="+contactCenter+"&profileName="+profileName+"&permissionSet="+permissionSet,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getUserCreation);
    }
}

//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getUserCreation(context,event){
   context.sendResponse(event.getresp);
}

function setUserPermission(context,event){
if(userID_P =='' && userPermission_P ==''){
        context.sendResponse(
            "Please provide the below details- \n"+
            "I. Option you need to select as - D \n"+
            "II. Provide User CEC ID\n" +
            "III. List of Permission Sets\n"
        );
    }else{
     var result= JSON.parse(event.getresp);//setSOQL
    access_token = result.access_token;
    context.simplehttp.makeGet("https://ap1.salesforce.com/services/apexrest/marktingUserCreatingPermissions?userId="+userID_P+"&permissions="+userPermission_P,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getUserPermission);
}
}

//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getUserPermission(context,event){
    context.sendResponse(event.getresp);
}
function setSOQL(context,event){
    if(userID_P =='' && userPermission_P ==''){
        context.sendResponse(
            "Please provide the below details- \n"+
            "I. Option you need to select as - E \n"+
            "II. Write SOQL query "
        );
    }else{
var result= JSON.parse(event.getresp);//setSOQL
access_token = result.access_token;
context.simplehttp.makeGet("https://ap1.salesforce.com/services/data/v20.0/query/?q="+mainQuery,{"Content-Type":"application/json","Authorization":"OAuth "+access_token},getSOQL);
}
}

//@Method: Responsible for iterating and parsing JSON response into user understandable language
function getSOQL(context,event){
    var contacts  = JSON.parse(event.getresp);
    context.sendResponse("\n"+event.getresp);
    var tempStr = '';
var TotalSize = contacts.totalSize;
    var Status = contacts.done;
    tempStr +="TotalSize : "+TotalSize+"\n Status : "+Status+"\n";
    var recordsList = contacts.records;
    //context.sendResponse("\n"+recordsList);
    for(var i in recordsList){
       
        if(recordsList[i].Id == ''){}
        else
        tempStr += "Id :"+recordsList[i].Id+"\n";
       
        if(recordsList[i].Username == ''){}
        else
        tempStr += "Username :"+recordsList[i].Username+"\n";
       
        if(recordsList[i].FirstName == ''){}
        else
        tempStr += "FirstName :"+recordsList[i].FirstName+"\n";
       
        tempStr += "LastName :"+recordsList[i].LastName+"\n";
        tempStr += "Name :"+recordsList[i].Name+"\n";
        tempStr += "Title :"+recordsList[i].Title+"\n";
        tempStr += "CompanyName "+recordsList[i].CompanyName+"\n";
        tempStr += "Address :"+recordsList[i].Address+"\n";
        tempStr += "Email "+recordsList[i].Email+"\n";
        tempStr += "Phone :"+recordsList[i].Phone+"\n";
        tempStr += "CommunityNickname :"+recordsList[i].CommunityNickname+"\n";
        tempStr += "UserRoleId :"+recordsList[i].UserRoleId+"\n";
        tempStr += "ProfileId :"+recordsList[i].ProfileId+"\n";
        tempStr += "UserPermissionsMarketingUser :"+recordsList[i].UserPermissionsMarketingUser+"\n";
        tempStr += "UserPermissionsSupportUser :"+recordsList[i].UserPermissionsSupportUser+"\n";
        tempStr += "Marketing_Call_Center__c : "+recordsList[i].Marketing_Call_Center__c+"\n";
    }
   //context.sendResponse("\n"+tempStr);
}


//######
//Auto generated code from devbox
//######

exports.onMessage = MessageHandler;
exports.onEvent = EventHandler;
exports.onHttpResponse = HttpResponseHandler;
exports.onDbGet = DbGetHandler;
exports.onDbPut = DbPutHandler;
if(typeof LocationHandler == 'function'){exports.onLocation = LocationHandler;}

if(typeof  HttpEndpointHandler == 'function'){exports.onHttpEndpoint = HttpEndpointHandler;}

Featured

What is Cryptography in salesforce and what are all the algorithms provided by them ?

A). It is a security protocal between two systems. Lets say we are integration two systems without any encrytion mechanism then hackers wil...

Popular