[機能]SMSメッセージ送信

できること

友だちの電話番号にSMSでメッセージ送信する。

設定方法


A 接続情報設定する
DX-LINE設定 SMS関連 設定する。

※情報の取得は以下から参照する。
How to collect Account SID, auth token , phone SID & and sandbox – YouTube


B メッセージの送信

チャット画面にて「SMS送信」を選択し、メッセージを入力して送信する。

※電話番号あり、SMS関連設定済み

その他:
以下のFlexアクションを利用して、フローやApexからSMS送信は可能です。

SMSメッセージ送信 apex-bfml__FmlOpenController_SendSmsMsg
パラメータ: ① 電話番号 ➁ メッセージ

設定後上手く送信できない場合、以下のサンプルコードの赤字の部分を書き換えて、
開発コンソールにて実行してログを確認し、原因を調査する。

String accountSid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
String authToken = 'ご自身のAuth Token';
String toNumber = '+81xxxxxxxx';    //送信先番号
String fromNumber = '+1XXXXXXXXXX';  // TwilioのSMS送信可能な番号

// Account SIDとAuth Tokenを「:」で連結してBase64化
String basic = EncodingUtil.base64Encode(
    Blob.valueOf(accountSid + ':' + authToken)
);
HttpRequest req = new HttpRequest();
req.setEndpoint(
    'https://api.twilio.com/2010-04-01/Accounts/' +
    accountSid +
    '/Messages.json'
);
req.setMethod('POST');
req.setTimeout(30000);
req.setHeader('Authorization', 'Basic ' + basic);
req.setHeader(
    'Content-Type',
    'application/x-www-form-urlencoded'
);

String messageBody = 'Salesforceからのテスト送信です。';
req.setBody(
    'To=' + EncodingUtil.urlEncode(toNumber, 'UTF-8') +
    '&From=' + EncodingUtil.urlEncode(fromNumber, 'UTF-8') +
    '&Body=' + EncodingUtil.urlEncode(messageBody, 'UTF-8')
);
HttpResponse res = new Http().send(req);
if (res.getStatusCode() == 201) {
    Map<String, Object> result =
        (Map<String, Object>) JSON.deserializeUntyped(res.getBody());
    System.debug('受付成功 Message SID: ' + result.get('sid'));
} else {
    System.debug('HTTPステータス: ' + res.getStatusCode());
    System.debug('エラー内容: ' + res.getBody());
}
タイトルとURLをコピーしました