コマンドラインで Twilio の FAX 送信を行うスクリプトのサンプル
Last active
January 22, 2019 15:33
-
-
Save junichim/aee376eab528a9dd963630d0c0279d41 to your computer and use it in GitHub Desktop.
コマンドラインで Twilio の FAX 送信を行うスクリプトのサンプル
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Twilio FAX Sending | |
# | |
# さくらインターネットにアップロードしたファイルを Twilio により FAX 送信する | |
# | |
# Junichi MORI, 2019/1/9 | |
SAKURA_USER="basic認証ユーザー" | |
SAKURA_PASSWD="basic認証パスワード" | |
PDF_URL_BASE="MediaUrl=https://"${SAKURA_USER}:${SAKURA_PASSWD}"@サーバー名/アップロード先/" | |
FROM_TEL="From=+8150xxxxxxxx" | |
TO_TEL_PRFX="To=+81" | |
TO_TEL= | |
ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
AUTH_TOKEN=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy | |
function usage() { | |
echo "さくらインターネットのFAX領域にアップロードした FAX を送信します。" | |
echo "Usage: "$0" tel_to filename" | |
echo " tel_to : 送信先FAX番号(市外局番から記述)" | |
echo " filename : 送信したいアップロード済みPDFファイル名" | |
} | |
# 引数処理 | |
if [ $# != 2 ] | |
then | |
usage | |
exit 1 | |
fi | |
TO_TEL=$1 | |
if [ ${TO_TEL:0:1} != "0" ] | |
then | |
echo "エラー:電話番号は 0 始まりである必要があります" | |
usage | |
exit 1 | |
fi | |
TO_TEL=`echo ${TO_TEL} | sed 's/^0//'` | |
TO_TEL=${TO_TEL_PRFX}${TO_TEL} | |
#echo $TO_TEL | |
shift | |
PDF=$1 | |
# 送信処理 | |
RES_JSON=`curl -s -X POST https://fax.twilio.com/v1/Faxes --data-urlencode ${FROM_TEL} --data-urlencode ${TO_TEL} --data-urlencode ${PDF_URL_BASE}${PDF} -u ${ACCOUNT_SID}:${AUTH_TOKEN}` | |
STATUS=`echo ${RES_JSON} | jq -r .status` | |
FAXSID=`echo ${RES_JSON} | jq -r .sid` | |
echo "status: " ${STATUS} | |
echo "fax_sid: " ${FAXSID} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Twilio FAX data Upload | |
# | |
# Twilio FAX 送信が参照するために、pdfファイルをさくらインターネットのサーバーにアップロードする | |
# | |
# Junichi MORI, 2019/1/22 | |
SAKURA_USER="user" | |
SAKURA_HOST="servername" | |
SAKURA_PRIVATE_KEY="~/.ssh/id_rsa" | |
function usage() { | |
echo "さくらインターネットのFAX領域に PDF ファイルをアップロードします。" | |
echo "Usage: "$0" filename" | |
echo " filename : 送信したい PDF ファイル名(同名ファイルは上書きされます)" | |
} | |
# 引数処理 | |
if [ $# != 1 ] | |
then | |
usage | |
exit 1 | |
fi | |
PDF=$1 | |
# アップロード処理 | |
REMOTE_FAX_DIR="targetdir" | |
scp -i ${SAKURA_PRIVATE_KEY} ${PDF} ${SAKURA_USER}@${SAKURA_HOST}:${REMOTE_FAX_DIR} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Twilio FAX Sending | |
# | |
# ローカルの PDF ファイルを Twilio により FAX 送信する | |
# | |
# Junichi MORI, 2019/1/22 | |
BINDIR="ホームディレクトリのbin" | |
UPLOAD="${BINDIR}/faxRawUpload" | |
SEND="${BINDIR}/faxRawSend" | |
function usage() { | |
echo "ローカルの PDF ファイルを Twilio により FAX 送信します。" | |
echo "Usage: "$0" tel_to filename" | |
echo " tel_to : 送信先FAX番号(市外局番から記述)" | |
echo " filename : 送信したい PDF ファイル名" | |
} | |
# 引数処理 | |
if [ $# != 2 ] | |
then | |
usage | |
exit 1 | |
fi | |
TO_TEL=$1 | |
if [ ${TO_TEL:0:1} != "0" ] | |
then | |
echo "エラー:電話番号は 0 始まりである必要があります" | |
usage | |
exit 1 | |
fi | |
shift | |
PDF=$1 | |
# アップロード | |
${UPLOAD} ${PDF} | |
if [[ $? != 0 ]] | |
then | |
echo "FAX送信に失敗しました(アップロード失敗)" | |
exit 1 | |
fi | |
# 送信 | |
TARGET_PDF=`basename ${PDF}` | |
${SEND} ${TO_TEL} ${TARGET_PDF} | |
if [[ $? != 0 ]] | |
then | |
echo "FAX送信に失敗しました(送信失敗)" | |
exit 1 | |
else | |
echo "FAX送信成功" | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Twilio FAX Statu | |
# | |
# Junichi MORI, 2019/1/22 | |
ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | |
AUTH_TOKEN=yyyyyyyyyyyyyyyyyyyyyyyyyyyy | |
function usage() { | |
echo "送信したFAXのステータスを表示します" | |
echo "Usage: "$0" faxSid" | |
echo " faxSid : 送信したFAXのSID" | |
} | |
# 引数処理 | |
if [ $# != 1 ] | |
then | |
usage | |
exit 1 | |
fi | |
FAXSID=$1 | |
# ステータス取得 | |
RES_JSON=`curl -s -X GET https://fax.twilio.com/v1/Faxes/${FAXSID} -u ${ACCOUNT_SID}:${AUTH_TOKEN}` | |
STATUS=`echo ${RES_JSON} | jq -r .status` | |
TO=`echo ${RES_JSON} | jq -r .to` | |
DATE=`echo ${RES_JSON} | jq -r .date_created` | |
echo "status: " ${STATUS} | |
echo "to: " ${TO} | |
echo "date: " ${DATE} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment