Guest User

Untitled

a guest
Feb 27th, 2018
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.11 KB | None | 0 0
  1. Trigger SendAccount_Trigger on Account (after insert) {
  2. for(Account a : Trigger.new){
  3. SendAccount.createAccount(a.name, a.Phone, a.Website);
  4. }
  5. }
  6.  
  7. public class SendAccount {
  8.  
  9. String clientId = '***************************************************************';
  10. String clientsecret ='*******************';
  11. String username='fake@fake.com';
  12. String password = '******************************************';
  13. String accesstoken_url = 'https://login.salesforce.com/services/oauth2/token';
  14. String authurl = 'https://login.salesforce.com/services/oauth2/authorize';
  15.  
  16. public class deserializeResponse {
  17.  
  18. public String id;
  19. public String access_token;
  20.  
  21. }
  22.  
  23. public String ReturnAccessToken(SendAccount Acc){
  24.  
  25. String reqbody = 'grant_type=password&client_id='+clientId+'&client_secret='
  26. +clientSecret+'&username='+username+'&password='+password;
  27.  
  28. Http h= new Http();
  29. HttpRequest req= new HttpRequest();
  30. req.setBody(reqbody);
  31. req.setMethod('POST');
  32. req.setEndpoint('https://na50.salesforce.com/services/oauth2/token');
  33.  
  34. HttpResponse res=h.send(req);
  35.  
  36. deserializeResponse resp1= (deserializeResponse)JSON.deserialize(res.getBody(),deserializeResponse.class);
  37.  
  38. return resp1.access_token;
  39. }
  40.  
  41. @future(callout=true)
  42. public static void createAccount(String Accname, String Phone, String Website){
  43.  
  44. SendAccount acc1 = new SendAccount();
  45.  
  46. String accessToken = acc1.ReturnAccessToken(acc1);
  47.  
  48. if(accessToken!=null){
  49.  
  50. String endPoint='https://na50.salesforce.com/services/data/v42.0/sobjects/Account';
  51.  
  52. String jsonstr='{"Name":"'+ Accname +'","Phone":"'+ Phone +'","Website":"'+ Website +'"}';
  53.  
  54. Http h2 = new Http();
  55. HttpRequest req2 = new HttpRequest();
  56. req2.setHeader('Authorization','Bearer ' + accessToken);
  57. req2.setHeader('Content-Type','application/json');
  58. req2.setHeader('accept','application/json');
  59. req2.setBody(jsonstr);
  60. req2.setMethod('POST');
  61. req2.setEndpoint(endPoint);
  62.  
  63. HttpResponse res2 = h2.send(req2);
  64.  
  65. deserializeResponse deresp=(deserializeResponse)System.JSON.deserialize(res2.getBody(),deserializeResponse.class);
  66. }
  67. }
  68. }
  69.  
  70. trigger SendOpp_Trigger on Opportunity (before insert) {
  71. for(Opportunity o : Trigger.new){
  72. SendOpportunity.createOpportunity(o.name, o.Account_External_Id__c, o.CloseDate, o.StageName);
  73. }
  74. }
  75.  
  76. public class SendOpportunity {
  77.  
  78. String clientId = '***************************************************************';
  79. String clientsecret ='*******************';
  80. String username='fake@fake.com';
  81. String password = '******************************************';
  82. String accesstoken_url = 'https://login.salesforce.com/services/oauth2/token';
  83. String authurl = 'https://login.salesforce.com/services/oauth2/authorize';
  84.  
  85. public class deserializeResponse {
  86.  
  87. public String id;
  88. public String access_token;
  89.  
  90. }
  91.  
  92. public String ReturnAccessToken(SendOpportunity Opp){
  93.  
  94. String reqbody = 'grant_type=password&client_id='+clientId+'&client_secret='
  95. +clientSecret+'&username='+username+'&password='+password;
  96.  
  97. Http h= new Http();
  98. HttpRequest req= new HttpRequest();
  99. req.setBody(reqbody);
  100. req.setMethod('POST');
  101. req.setEndpoint('https://na50.salesforce.com/services/oauth2/token');
  102.  
  103. HttpResponse res=h.send(req);
  104.  
  105. deserializeResponse resp1= (deserializeResponse)JSON.deserialize(res.getBody(),deserializeResponse.class);
  106.  
  107. return resp1.access_token;
  108. }
  109.  
  110. @future(callout=true)
  111. public static void createOpportunity(String oppName, String acctId, Date d, String stage){
  112.  
  113. SendOpportunity opp1 = new SendOpportunity();
  114.  
  115. String accessToken = opp1.ReturnAccessToken(opp1);
  116.  
  117. if(accessToken!=null){
  118.  
  119. String endPoint='https://na50.salesforce.com/services/data/v42.0/sobjects/Opportunity';
  120.  
  121. String jsonstr='{"Name":"'+ oppName +'","Account_External_Id__c":"'+ acctId +'","CloseDate":"'+ d +'","StageName":"'+ stage +'"}';
  122.  
  123. Http h2 = new Http();
  124. HttpRequest req2 = new HttpRequest();
  125. req2.setHeader('Authorization','Bearer ' + accessToken);
  126. req2.setHeader('Content-Type','application/json');
  127. req2.setHeader('accept','application/json');
  128. req2.setBody(jsonstr);
  129. req2.setMethod('POST');
  130. req2.setEndpoint(endPoint);
  131.  
  132. HttpResponse res2 = h2.send(req2);
  133.  
  134. deserializeResponse deresp=(deserializeResponse)System.JSON.deserialize(res2.getBody(),deserializeResponse.class);
  135. }
  136. }
  137. }
  138.  
  139. Malformed JSON: Expected '{' at the beginning of object
  140.  
  141. deserializeResponse deresp = (deserializeResponse)System.JSON.deserialize(res2.getBody(),deserializeResponse.class);
  142.  
  143. '{"Name":"'+ Accname +'","Phone":"'+ Phone +'","Website":"'+ Website +'"}';
  144.  
  145. '{"Name":"'+ oppName +'","Account_External_Id__c":"'+ acctId +'","CloseDate":"'+ d +'","StageName":"'+ stage +'"}';
Add Comment
Please, Sign In to add comment