OBSOLETE
Twilio にて Fax サービス(Twilio Programmable Fax)の提供は終了されました。
https://support.twilio.com/hc/en-us/articles/1260800827770
Twilio FAX送信

URLで指定したPDFファイルをFAXとして送信します。

2017 © Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/twilio-faxsend/

Configs
  • C1. ACCOUNT SID *
  • C2. AUTH TOKEN *
  • C3. From Telephone Number (You got at Twilio) ex. +8150XXXXXXXX *
  • I1. To Telephone Number ex. +8175XXXXXXXX *
  • I2. URL of PDF sending as FAX *
  • O1. Data Item to save status confirmation url
  • O2. Data Item to save FAX SID
  • O3. Data Item to save error
Script
(function(){
  var accountSid = configs.get("AccountSid");
  var authToken = configs.get("AuthToken");
  var from = configs.get("From");
  var to = configs.get("To");
  var pdfUrl = configs.get("PdfUrl");
  var statusUrlItem = configs.get("StatusUrlItem");
  var faxSidItem = configs.get("FaxSidItem");
  var errorItem = configs.get("ErrorItem");

  var response;
  try{
    response = httpClient.begin()
      .basic(accountSid, authToken)
      .formParam('To', to)
      .formParam('From', from)
      .formParam('MediaUrl', pdfUrl)
      .formParam('quality', 'standard')
      .post('https://fax.twilio.com/v1/Faxes');
  } catch(e) {
    if(errorItem != null) {
      engine.setDataByNumber(errorItem, e.message);
      return; // ここで終了
    }
    throw e;
  }

  if (response.getStatusCode() != 201) {
    var error = response.getStatusCode() + "\n" + response.getResponseAsString();
    if (errorItem != null) {
      engine.setDataByNumber(errorItem, error);
      return; // ここで終了
    }
    throw error;
  }

  var responseJson = JSON.parse(response.getResponseAsString());
  if (statusUrlItem != null) {
    engine.setDataByNumber(statusUrlItem, responseJson["url"]);
  }
  if (faxSidItem != null) {
    engine.setDataByNumber(faxSidItem, responseJson["sid"]);
  }
  engine.setDataByNumber(errorItem, '');
})();

Download

  • Twilio-faxSend.xml
    • スクリプトエンジンとして「Rhino(廃止予定)」が指定されているため、アプリにインストールしても設定エラーとなります
    • 利用するには、スクリプトエンジンの変更、およびそれに伴うスクリプト修正が必要です
    • 修正版は準備中です

Capture

Notes

  • 事前に Twilio のコンソール画面 にてプロジェクトを生成し、ACCOUNT SID/AUTHTOKEN/電話番号 を取得しておく必要があります
%d人のブロガーが「いいね」をつけました。