Advertisement
Guest User

Untitled

a guest
Sep 28th, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. global class SMSUtil{
  2.  
  3. Public static Twilio_Setting__c setting{get;set;}
  4. List<Task> msgList;
  5. Public static Id recordId;
  6. public SMSUtil(){
  7. // recordId = recrdId;
  8. System.debug(' ============ In Constructor of SMSUtil ==========');
  9. try{
  10. setting = [select id, name, AccountId__c, Auth_Token__c, From_Number__c from Twilio_Setting__c where name='Twilio Account'];
  11. }
  12. catch(Exception ex){
  13. ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'Please add custom settings with name "Twilio Account"');
  14. ApexPages.addMessage(myMsg);
  15. }
  16.  
  17. }
  18. @future(callout=true)
  19. public static void sendSms(String toNumber, String body){
  20.  
  21. try{
  22.  
  23. System.debug(' ============ In SendSMS method ==========');
  24.  
  25. // recordId = recrdId;
  26. setting = [select id, name, AccountId__c, Auth_Token__c, From_Number__c from Twilio_Setting__c where name='Twilio Account'];
  27. string url='https://api.twilio.com/2010-04-01/Accounts/'+setting.AccountId__c+'/Messages.json';
  28. string username = setting.AccountId__c;
  29. string password = setting.Auth_Token__c;
  30.  
  31.  
  32. HttpRequest req = new HttpRequest(); // error on this line
  33. req.setEndpoint(url);
  34. req.setMethod('POST');
  35. req.setBody('From='+EncodingUtil.urlEncode(setting.From_Number__c, 'UTF-8')+'&To='+EncodingUtil.urlEncode(toNumber, 'UTF-8')+'&Body='+EncodingUtil.urlEncode(body, 'UTF-8'));
  36.  
  37.  
  38. system.debug('***'+req.getBody());
  39.  
  40.  
  41. Blob headerValue = Blob.valueOf(username +':' +password);
  42. req.setHeader('X-Twilio-Client', 'salesforce-3.2.0');
  43. req.setHeader('User-Agent', 'twilio-salesforce/3.2.0');
  44. req.setHeader('Accept', 'application/json');
  45. req.setHeader('Accept-Charset', 'utf-8');
  46. String authorizationHeader = 'Basic ' + EncodingUtil.base64Encode(headerValue);
  47. req.setHeader('Authorization',authorizationHeader);
  48. req.setTimeout(120000);
  49. Http h = new Http();
  50. HttpResponse response = h.send(req);
  51. if(response.getStatusCode()==201){
  52.  
  53.  
  54. system.debug('JSON Response =======>>> '+response.getBody());
  55.  
  56. Map<string,Object> obj = (Map<string,Object>)JSON.deserializeUntyped(response.getBody());
  57. //msg.fintechLLC__Message_Date__c = datetime.now();
  58. //msg.fintechLLC__Message__c= (string)obj.get('body');
  59. system.debug('Messgae Has been Sent');
  60.  
  61. }
  62. else{
  63. system.debug('Messgae Not Send');
  64. }
  65.  
  66.  
  67. }Catch(Exception e){
  68. System.debug('Error on Line'+e.getLineNumber() +e.getMessage());
  69.  
  70. }
  71. }
  72.  
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement