Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- global class SMSUtil{
- Public static Twilio_Setting__c setting{get;set;}
- List<Task> msgList;
- Public static Id recordId;
- public SMSUtil(){
- // recordId = recrdId;
- System.debug(' ============ In Constructor of SMSUtil ==========');
- try{
- setting = [select id, name, AccountId__c, Auth_Token__c, From_Number__c from Twilio_Setting__c where name='Twilio Account'];
- }
- catch(Exception ex){
- ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'Please add custom settings with name "Twilio Account"');
- ApexPages.addMessage(myMsg);
- }
- }
- @future(callout=true)
- public static void sendSms(String toNumber, String body){
- try{
- System.debug(' ============ In SendSMS method ==========');
- // recordId = recrdId;
- setting = [select id, name, AccountId__c, Auth_Token__c, From_Number__c from Twilio_Setting__c where name='Twilio Account'];
- string url='https://api.twilio.com/2010-04-01/Accounts/'+setting.AccountId__c+'/Messages.json';
- string username = setting.AccountId__c;
- string password = setting.Auth_Token__c;
- HttpRequest req = new HttpRequest(); // error on this line
- req.setEndpoint(url);
- req.setMethod('POST');
- req.setBody('From='+EncodingUtil.urlEncode(setting.From_Number__c, 'UTF-8')+'&To='+EncodingUtil.urlEncode(toNumber, 'UTF-8')+'&Body='+EncodingUtil.urlEncode(body, 'UTF-8'));
- system.debug('***'+req.getBody());
- Blob headerValue = Blob.valueOf(username +':' +password);
- req.setHeader('X-Twilio-Client', 'salesforce-3.2.0');
- req.setHeader('User-Agent', 'twilio-salesforce/3.2.0');
- req.setHeader('Accept', 'application/json');
- req.setHeader('Accept-Charset', 'utf-8');
- String authorizationHeader = 'Basic ' + EncodingUtil.base64Encode(headerValue);
- req.setHeader('Authorization',authorizationHeader);
- req.setTimeout(120000);
- Http h = new Http();
- HttpResponse response = h.send(req);
- if(response.getStatusCode()==201){
- system.debug('JSON Response =======>>> '+response.getBody());
- Map<string,Object> obj = (Map<string,Object>)JSON.deserializeUntyped(response.getBody());
- //msg.fintechLLC__Message_Date__c = datetime.now();
- //msg.fintechLLC__Message__c= (string)obj.get('body');
- system.debug('Messgae Has been Sent');
- }
- else{
- system.debug('Messgae Not Send');
- }
- }Catch(Exception e){
- System.debug('Error on Line'+e.getLineNumber() +e.getMessage());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement