2017-08-16 7 views
0

SMSを送信するためにsalesforceにTwilioをセットアップしました。 Twilioは完全に設定されています。アルファベット順の送信者IDがTwilioによってSMSを送信していない

SMSを送信しようとしている番号は、サポートされている英数字の送信者IDリストの国別リストにも記載されています。 国:レバノン。

私はFrom番号を入れます:like +1 45 ********。私はSMを送ることができます。しかし、私がFrom番号を "CompanyName"とし、SMSを送信していない場合。

エラー。

発信元電話番号「会社名」は、有効なSMS対応の着信電話番号またはお客様のアカウントのショートコードではありません。

注:アカウントの英数字送信者IDは有効です。また、私のアカウントもアップグレードされています。

私のコードは以下です。

global Static String sendOTP(string PhoneNo){ 
    Integer rand = Math.round(Math.random()*100000); 
    string VerificationCode = string.valueOf(rand); 
    String smsBody='Your Verification code is : '+VerificationCode +'. Please don\'t reply.'; 
    final String fromNumber = '+14*******'; 
    //final String fromNumber = 'Comapany'; //Not working 
    String account = '********';  // Account SID on home tab 
    String token = '*****'; //AUTH Token on home tab 
    TwilioRestClient client = new TwilioRestClient(account, token); 
    if(PhoneNo != null) 

    { 
     Map<String,String> params = new Map<String,String> { 
     'To' => PhoneNo, 
     'From' => fromNumber, 
     'Body' => smsBody 
     }; 
     try{ 
     TwilioSMS sms = client.getAccount().getSMSMessages().create(params); 
     system.debug('******'); 
     return VerificationCode; 
     } 
     catch(Exception e) 
     { 
      system.debug('@@@@'+e); 
      return 'false'; 
     } 
    } 
    return 'false'; 
} 

ここに間違いがあるとお考えください。

答えて

0

ここではTwilioの開発者のエバンジェリストです。

問題は、非推奨のSMS/Messagesリソースを使用しており、英数字IDによる送信をサポートしていないことです。代わりにMessages resourceを使用します。

ありがたいことに、この修正は、ちょうど

TwilioSMS sms = client.getAccount().getMessages().create(params); 

getMessagesに置き換えられgetSMSMessagesがある違いを

を変更する、簡単です。

それが役立つかどうか教えてください。

関連する問題